Sunday, February 7, 2010

Simple Tetris Clone (FLEX version)

I added to my Tetris clone a FLEX branch, it only uses the compiler and not the FLEX class containers (unnecessary for this little game). The point is you can use the free API tools to make a simple game like this, without needing the Flash IDE at all.

It's cool these days to bash anything Adobe related (and the bloated PDF reader or the security holes in the Flash player of course doesn't help). Just for the record this page can crash your browser (Click on it only if you feel lucky and don't have something to lose). That is a bug that has not been fixed since 2008, and there are many others out there (but with a less spectacular failure outcome). The sad truth is that anybody working (and I mean earning his bread) with Flash technology can tell you scary stories about classes refusing to compile, library assets getting mysteriously corrupted, different movie behavior under different player versions, etc. And if you are angry today I can assure you the bugs were a lot uglier in the AS2 times.

However, in all honesty, I don't dislike Flash technology, of course hitting a Flash bug makes you feel angry until you find the workaround, but you would learn from your experiences and you would start avoiding the things that don't work, after some time you would have earned an impressive list of best-practices and things to avoid, following that path, working with Flash can be actually a nice experience. I personally like their API design, at the very least they have invested a lot of time and thinking in that.

Playing with pure Javascript would be the other option (the canvas element seems very promising, I hope the 3D capability goes mainstream) but it's not an option for practical games right now (I mean this year). I have worked in big web game projects and I can't think of another tool that artists can use to recreate Flash animations, making them all sprite-based would make the game bigger in size while losing their vector appeal (easy scaling). Also there is nothing that can run at comparable speed in older browsers today. And don't let me start with the audio... So for making games (not your simple square and circle muted games) I suspect Flash is still going to survive for at least a couple of years. Even if it totally loses the video battle that has already started with the HTML5 video tag.