To Flash Or Not To Flash?
That’s the question that has been wandering around in my mind recently.
It all started with a surprising statistic: from all the unique visitors to www.bubblomania.com since the beginning of this year, only about 13% actually entered their name in the Bubblomania webgame. When the game is started, it asks first-time users for a nickname for the topscores, so this way I can measure how many different people have played it. Of course there are people who visit the site without starting the game, or who don’t want to type in a nickname. But I find it hard to believe that 87% of visitors are like that.
So maybe there’s a technological aspect to this. When I tried to license the Bubblomania webgame to other websites, like online arcades, the major problem turned out to be the fact that it’s not a Flash game. Arcade owners complained about this, because they use standard PHP scripts that only accept Flash, and not Java applets.
Bubblomania is written in Java, using the LWJGL library. I’ve written previously why I like these technologies. But the feedback on the game made me doubt my decision. I still think Java and LWJGL are great tools to make downloadable games that need the performance. But they’re probably the wrong tools to make webgames…
Some of the problems encountered:
- Long applet loading time, which cannot be used to display something useful (like logo’s, advertisements,…). This is the biggest turn-off for people who tried to play the game for the first time.
- There seem to be quite a lot of people who do not have a recent version of the JRE installed. Furthermore, installing Java can be a difficult process for inexperienced computer users. The download is also rather large. Too much trouble just to play a webgame.
- LWJGL requires the applet to be signed, thus requiring the user to confirm (s)he wants to run it. This can be confusing for people who have never seen this before.
- LWJGL contains an OpenGL binding, and thus requires a video driver that supports OpenGL for hardware acceleration. It suprised me how many PC’s don’t have up-to-date drivers, resulting the game to run very slowly using the software renderer. Again, nobody goes through the trouble of updating drivers to play an unknown webgame.
- Using LWJGL in an applet still results in some strange behaviour on some configurations.
So last weekend I decided to investigate the use of Flash for future webgames, so I wont have these problems again. According to Adobe, 98% of PC’s have some version of Flash installed.
This interesting article on AjaxWorld Magazine by Bruce Eckel pointed out to me that the new Flash 9/ActionScript 3 is the way to go for internet applications, thanks to increased performance of the new ActionScript virtual machine. Since the Flex 2 SDK is available for free, I decided to use that as my platform. It only supports the new ActionScript 3, but since I’m a total noob to Flash, I might as well start with the latest and greatest!
After spending a few days with the documentation, and playing with the Flex Builder trial version, I can say that switching from Java to ActionScript 3 and the Flash API ain’t all that hard. I’ve made a small prototype using the Bubblomania assets, to get a feel for the performance. And while it’s nowhere near the performance of Java + LWJGL, it was better than I expected.
So, am I going to switch from Java to Flash for game development? Well, yes and no. I’m definitely going to use Flash for the web versions of the Smiley Puzzle Project games, since these games do not require a high framerate to be playable. I’ll probably investigate if it’s possible to do a higher quality downloadable version of these games in Flash.
But for action games like Bubblomania, I’m going to stick to Java for the downloadable version. I should mention that the final 1.0 version of LWJGL has been released recently, and it has become a very decent library!
Related Articles:

























February 15th, 2007 at 5:37 pm
[…] Jochen De Schepper ponders technical options: To Flash Or Not To Flash?. With Flex builder Flash has become more viable option to game developers. […]
February 18th, 2007 at 2:31 am
I am writing ChipWits in Flex and have been happy with the dev environment. I’m not happy about the lack of profiling tools, but that will change according to what I hear on the Flex blogs.
I am also looking forward to Adobe’s Apollo. Right now I am doing a standalone version of ChipWits using MDM’s Zinc to create Win/Mac installables and to let me access local files.
February 18th, 2007 at 11:56 am
Looks interesting! Are you using the flex API or only the flash API?
Zinc also looks interesting. Is it the only option for stand-alone versions?
February 18th, 2007 at 8:40 pm
I chose Zinc a few months ago because at the time it was the only SWF->EXE program that worked with Flex. I haven’t researched whether the others have caught up because Zinc is okay for now. I will be switching to Apollo when that comes out.
I use the full MXML/ActionScript 3.0 API. I love the 3.0 improvements to the language. And the Eclipse IDE is fantastic for coding.
February 22nd, 2007 at 4:12 pm
“It all started with a surprising statistic: from all the unique visitors to www.bubblomania.com since the beginning of this year, only about 13% actually entered their name in the Bubblomania webgame.”
How many visitors did you have ?
Can people find your webgame ?
I had the same thing and that’s why I made a website where people can promote there game for free. (www.2dgames.eu)
from my 6000 visitors 5100 have a flashplayer
February 22nd, 2007 at 5:16 pm
I had almost 2000 unique visitors during that period. I used a couple of banner and link exchange services to get traffic.
“from my 6000 visitors 5100 have a flashplayer”
This is a lot less that what Adobe claims (98%), but probably still better than the number of visitors who have a recent JRE…
I’ll check out your site and promote my game there! Thanks for the info.
February 23rd, 2007 at 10:16 am
Ahh I saw not that your game was a JAVA game I thought a flash game.
sorry for that
March 1st, 2007 at 11:57 am
[…] On the other hand, this blog is getting more visitors again, thanks to the article To Flash Or Not To Flash, which was included in the second Carnival of Game Production on GameProducer.net! I’ll follow up on that article soon, when I have some screenshots of the first Flash game I’m currently developing. […]
March 3rd, 2007 at 12:14 am
Are you using Flash 9 or Flex?
March 3rd, 2007 at 11:21 am
I’m only using AS3 and the Flash API. But currently I’m using a trial version of the Flex Builder IDE to code in… When the trial expires I’m going to check out the Flash 9 authoring tool.
I don’t really need the MX API for the type of games I’m writing, so I think it’s better to leave those heavyweight components out…
March 5th, 2007 at 3:04 pm
[…] Jochen De Schepper wonders in a Shakespearic fasion To Flash Or Not To Flash? in his post at Dark Moon Blog. Jochen post is about Flash vs Java+LWJGL for inbrowser games and what are the strengths and weaknesses of each solution. […]
March 12th, 2007 at 6:14 pm
[…] Last week I completed my very first Flash game, written in ActionScript 3! Almost a month ago I wrote about switching from Java to Flash for web game development. […]