Search code examples
javaflashactionscript-3online-game

Why are (almost) all the on-line games written in ActionScript (Flash) not Java?


I absolutely love good defender games (e.g. Gemcraft, Protector: reclaiming the throne) as they can be intellectually quite challenging; it's like playing chess but a little less thinking and a bit more action. Sadly, there are not that many good ones out there and I thought I would create one myself and share it with the rest of the world by making it available on-line.

I have never worked with ActionScript but when it comes to on-line games, this is the main choice. I have tried to find a decent 2D game in the form of a Java applet but to no avail. Why is this so? I could write the game, most comfortably, in Delphi for Win32 but then people would need to download the executable, which could deter some form downloading it, and also it would only work on Windows. I am also familiar with Java, having worked with Java for the last four years or so; although, I don't have much experience with games programming.

Should I not be deterred by the fact that all on-line games are written for in Flash and create my defender game as a Java applet, or should I consider learning ActionScript and games development for the ActionScript Virtual Machine (AS3 looks very much like Java... but still, it's an entirely new technology to me and I might never use it professionally.)

Could you, please, just answer the the question in the title? Why Flash, not Java applets? Is it only 'politics'?


Solution

  • Flash is more popular since its penetration rate is huge.

    Flash is also more powerful when it comes to create and integrate graphics assets (since Flash CS* is also a vector animation editor). It's also very easy to embed sounds and fonts assets, to play with bitmap effects, without using any aditional library.

    And last but not least, there's a lot of sites who offers ActionScript APIs in order to earn money with your games by adding various ads in it (such as MochiMedia, Kongregate...)