Games for the game developers!

I was impressed by “Games for the game developers!” comment on Create a Flash game in minutes with PlayCrafter.

The idea of giving people a tool to make a so-called “videogame” without any programming knowledge isn’t new.

The first complete tool I used was the Shoot’Em-Up Construction Kit (SEUCK) on my Commodore 128

Having no idea about how to make a game, the first “games” I made with that kit was just clones of a space game included in the package, just changing bullets speed, number of lives, and other minor things.

But I loved the idea of making games.

With the SEUCK I made about 10 games I only played by myself, because you know in mid 80′s there wasn’t the so-called Web 2.0

Anyway I had a lot of fun

My first “real” game was a concentration game with time limit, combos, and so on, developed with AMOS.

I can’t even remember the name but I remember a friend of mine managed it to be included in a Aminet CD-ROM

Now the web has changed and you can create a game, upload it in a few seconds and read opinions, comments, reviews.

Moreover, you can make money out of it.

But you must not forget there are people having fun making games.

Tools like PlayCrafter are meant to make people having fun in creating their own games.

Yes, there will be a lot of bad games and most of them will be clones of the same (bad) game, but if you don’t like a game, just don’t play it.

And, more important, maybe someone will enjoy the process of making a game and will start studying a programming language to make a more original game.

And don’t forget the “Games for the game developers!” sentence can be used by Flash game developers against PlayCrafter users, but can be used in the same way by PS3 game developers against Flash game developers.

20 (TWENTY!!!) years ago people like me programming in Pascal and Basic was mocked by C++ programmers, because they said real programmers code with C++

When I learned C++ I was mocked by Assembly programmers because they said real programmers code with Assembly.

Nothing new on the horizon…

The art of debugging

In a perfect world, our software never run in an unexpected way.

Unfortunately, we don’t live in a perfect world, so sometimes (quite more than sometimes) we have to face some strange errors.

That’s when we must learn the gentle art of debugging

Follow me through easy steps and you’ll wipe the bugs out of your life

1) A bug never appears “sometimes”

Believe me, the word “sometimes” has been invented for losers. A drunk would say he “sometimes” gets drunk, but in my opinion he gets drunk EVERY TIME he drinks too much. That’s another way to live your life. “Sometimes” means you don’t know when. You can’t live this way. You are a programmer.

So, you must know when your script has a problem. Exactly. Try to replicate it. Insert breakpoints, print variables, do whatever you can to recreate the problem EVERY TIME you want.

Do you want an example? … let’s see this script

a = a random number between 0 and 9
b = 10/a

This script sometimes crashes… but you must know when it crashes… and we can say the script crashes EVERY TIME a = 0, because of a divide by zero error.

When you can describe the problem starting with EVERY TIME, proceed to step 2

2) A bug never appears for the sake of appearing

Believe it or not, Gods aren’t upset with you. There isn’t any virus in your computer. “THEY” aren’t trying to drive you mad, and leech your brain because they want to rule the world.

The bug appeared for a reason. In the previous example, the reason was a number cannot be divided by zero. It’s not a plot against you. You simply cannot divide a number by zero.

You must understand why your script does not work… in this case it was a division by zero error, you have to find your case.

Now you know when the bug appears, and why it appears

3) A bug is a useless creature

Ok, bugs are the only good actors I can see in horror movies for a couple of years, but they are quite useless… and maybe they can survive to a nuclear war, and I don’t really want to survive to a nuclear war just to face giand radioactive bugs, so make up your mind, you don’t need bugs.

I mean you must find a way to get what you want with no risk to encounter a bug. In our example, you must decide if you really need a random number between zero and 9, or if a number between one and 9 would do.

With numbers from 1 to 9 you solved the bug, but sometimes you may decide you need the zero too, and in this case you would perform the division only if the number is different than zero.

This is the step where you must decide if you want to obliterate the bug or handle it as an exception.

Needless to say the first option is the best, because you can manage one, two… maybe five… TEN exceptions, but sooner or later your script will collapse if you work this way.

4) Put a big shoe on the bug’s head

It’s the time to rewrite the bugged code… keep in mind what your script is intended to make, and what you don’t want to happen. Since at this time you will probably are a bit tired, proceed step by step. Throw a shoe to a bug from a big distance, and you’ll miss it. Get closer and closer, until… SQUASH! It will know the power of the mighty shoe.

5) It wasn’t a simple bug. It was a cyborg bug

If your bug dies with a little red light fading away, and you can hear something like “I’ll be back”… then it wasn’t a simple bug… it was a cyborg bug. In real life, fixing a bug can bring new bugs to life.

In my previous example, I can fix the bug setting a as a random number between 1 and 9.. but I can fix the bug coding the second line as b= 10/(a+1).

According to what I am expecting from the script, one of the ywo ways of fixing the bug can make the bug return later. You have to forecast future bugs and prevent them

That’s all… this was obviously an ironic post, but there is some truth in it… how do you debug your scripts?

How to embed a text file in Flash

Reading some comments about the “Word Play” Flash Game Contest on this blog and on some forum threads, I noticed people can’t import a big list of words into Flash.

So here I am with a complete example :)

First, put your txt file in the same folder of your Flash project.

Then, the main file can be something like this one:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package {
	import flash.display.Sprite;
	import flash.text.TextField;
	public class wordz extends Sprite {
		var text_field:TextField = new TextField();
		var words:embedded_text = new embedded_text();
		public function wordz() {
			addChild(text_field);
			text_field.height=400;
			text_field.width=500;
			text_field.text=words.toString();
		}
	}
}

Really nothing new except the words variable at line 6 that belongs to a class called embedded_text, that is the key class of this example.

Let me show it:

1
2
3
4
5
6
7
8
package {
	import flash.utils.ByteArray;
	[Embed(source="words.txt",mimeType="application/octet-stream")]
	public class embedded_text extends ByteArray {
		public function embedded_text() {
		}
	}
}

What? That easy?

Yes… the magic is at line 3 where I specify the path and the mime type of the file to embed. And I’ll have it ready to use into my Flash project

I can’t show you the final result because displaying thousands of words would crash the browser, but if you download the example, you can click on it and scroll the mousewheel to see all words I am using in the game I am developing to enter the contest.

Download the source code and enjoy.

Create a Flash game in minutes with PlayCrafter

Today I am going to talk about a revolutionary way to make quality Flash games: PlayCrafter.

PlayCrafter

I must admit I am overhelmed by the enormous amount of options of this tool, but I’ll try to be as much clean as I can in my review.

Tired of making online games? Make a game online

First, PlayCrafter is an online tool. You don’t need to install any software in your computer. And this is the first great feature, because this means you don’t even need a computer to make a Flash game, you can just sit in an internet cafè and make your game in a matter of minutes.

The power of drag & drop

In PlayCrafter, you don’t need to write a single line of code. You just drag and drop elements to the stage, designing your level in a few clicks.

Any element has its own features, so a turret will automatically fire, a car will skid, a space trooper will jump and fire bouncing bombs, and so on.

The engine that handle physics is the famous Box2D so expect accurate physics simulation.

New elements are added frequently so you’ll never run out of ideas.

You can even edit your element or import your own graphics.

The Community

There is a quite big community behind PlayCrafter. You can play, rate and even edit games made by other players.

When you game receives a good feedback from the community, you can export your Flash game and publish it on game portals

The price

PlayCrafter is free to use, but you can pay a monthly fee ($4.95) to upgrade your account to “Premium” and unlock exclusive features such as raising the limit of levels to 100 and exporting the games to Flash portals.

Moreover, some assets in the game cost an a mount of Pips, the PlayCrafter‘s currency. You can buy Pips with real money or you can have for free if your refer users.

The limits

At the moment, the most important limits are the fixed stage size and the lack of scrolling. In my opinion, if PlayCrafter guys do not add more and more assets this will cause a large number of games with no difference among them.

Monetization

I am going to test the monetization of this tool very soon, meanwhile play Matcheroo to see a nice game made with this tool.

Final considerations

I strongly suggest to try PlayCrafter even if you are an experienced developer… you know… at school or at work you can’t install Flash… so why don’t you make a game between a task and another?

Expect a game made with this tool very soon…

Upgrade your Flash CS4 to 10.0.2

I was playing with some thousands of words in an array to enter the “Word Play” Flash Game Contest when I got this strange error:

Obviously there was nothing wrong in my line 1, but it’s a CS4 issue related to compiling large projects.

So I recommend you to check for the Adobe Flash CS4 Professional Update (10.0.2) released to fix some important issues.

This update for Flash CS4 Professional (10.0.2) addresses issues related to compiling large projects. Specifically, it addresses stability and performance issues related to large animation files, such as timeline scrubbing and looping and nested movie clips, as well as text handling.

This may be the reason you couldn’t compile the Flash file with all words in it.

With my 10.0.2 version everything is going right and I am heading for the 1st prize :)

Play Mazeroll, my latest Box2D game

After SamePhysics, I made another Box2D game called Mazeroll.

Mazeroll

You have to drag a maze to made two circles touch, collecting as much red orbs as you can, before time reaches zero.

You can find some clues about the making of this game reading The magic of compound objects with Box2D and Perfect maze generation – tile based version.

I simply put together these two concept and added some gameplay.

As you can see there are some in-game banners, and there is room for two more banners in the rotation, so starting from June 29, when the game is supposed to have been widely published, I will insert two (and only two) more ** LIFETIME ** banners for as low as $100 per banner.

Drop me an email at info[at]emanueleferonato.com if you want to be one of the lucky two people that will get these banners.

Triqui MochiAds Arcade plugin for WordPress Released!!

Due for June 22, I decided to release today the Triqui MochiAds Arcade plugin for WordPress!!

As for the theme, it has its official page.

Hope you enjoy it… I learned a lot about plugin making, and I will surely make some tutorials about advanced plugin coding.

Meanwhile… enjoy the plugin.

The MochiAds funnel

This is a post I always wanted to write, but I waited until I had some numbers big enough to make sense.

Before I start rambling, please notice I never put fancy MochiAds banner here and there, without any sense like I do, in example, with AdSense ads.

I simply put links to MochiAds in posts where I talk about game monetization.

So we can say people click on my link only when they read the post, not just to see what’s beyond that banner.

So, my Mochi referral stats say I sent them 4,520 visitors. 668 of them signed up and 33 reached the minimum $100 payout requirement.

What does this mean? That if you aren’t afraid of learning some Actionscript and game design (and in this blog there is a lot to learn), you can be in that 5% group that sign up and monetize Flash games.

5% is an interesting ratio, and I think it will raise as soon as all people just a few bucks away from $100 will reach the goal.

It would be interesting to know your ratio… and if you haven’t signed up yet… sign up to MochiAds!!

Eight word lists to help you creating the perfect word game

Yesterday I blogged about the World Play Flash Game Contest, and the word list provided by Dictionary.com.

Suddenly a reader said this word list is not that useful because contains words like “german nazi”, “motherfucker”, and so on.

I’ve just killed a zombie in Resident Evil 5 swearing at his mother, but both me and RE5 are rated 18+ while a flash game should be suitable for everyone.

But the biggest problem is the list does not contain only words… it contains sentences like “german nazi” that could be very difficult to guess.

Samuel Toth helped us cleaning the list and releasing it at this link, but just in case you are looking for another word list I am showing you some useful links:

1 – http://www.scrapingweb.com/databases/words-database.html
A database of over 180,000 English dictionary words available in various formats for sale at $29.95

2 – ftp://ftp.ox.ac.uk/pub/wordlists/dictionaries (then open Unabr.dict.gz)
A list of 213,557 english words in a text file

3 – http://www.gotnet.biz/Blog/post/English-Words-Database-from-11-Sources.aspx
Microsoft SQL Server 2005 Database with english words also available in csv. 320,888 words

4 – http://en-gb.pyxidium.co.uk/dictionary/OOo.php (then open en-GB-wlist.zip)
127,238 english words in a text file

5 – http://www.puzzlers.org/pub/wordlists/enable1.txt
Scrabble dictionary with 172,823 entries

6 – http://www.outpost9.com/files/WordLists.html
Various word lists for theme-based games such as family names and Dos refrence words, for absolute geeks!!

7- http://www.esclub.gr/wordoxdictionary.html
Html word list grouped by word length

8 – http://www.morewords.com/wordsbylength/
Another html word list grouped by word length and initial

Hope this will help you in the creation of the perfect dictionary. If you know more or have a link to a localized dictionary, just post it in the comments.

Win up to $7000 with “Word Play” Flash Game Contest

Dictionary.com and MochiAds are bringing you a completely new contest for summer 2009 with $15,000 in prizes.

Word Play Flash Game Contest

Beside the cash, this is a very interesting contest because you must use words, and this will require a lot of game design skill to procude something different than Scrabble.

Another interesting thing is Dictionary.com is even providing a word list to help you get started! The only rules for using this list is to mark on the Title Screen of your game that it is being powered by “dictionary.com”.

You can download the list at this link, and in the zipped file you will find a .eps file with the logo and a list of 147,306 (!!) words.

I will made a couple of tutorials about the use of these words during next days, meanwhile let me talk about the prizes:

1st Place – $7,000
2nd Place – $4,000
3rd Place – $2,000
Honorable Mention (x2) – $1,000 each

Start Date: June 9th, 2009

End Date: August 14th, 2009

Contest Criteria:

* Must incorporate the MochiAds Version Control and Encryption service
* Must be distribution-enabled and use MochiAds Leaderboards
* Must run MochiAds advertisements
* Must be a word game or a game themed around words and puzzles
* Must be entered in MochiAds before midnight August 14th, 2009 PST
* Must be tagged with “dictionary.com”

Check the official page for all information.

Next Page →