Replacing Flash with OpenFL

April 26, 2014

As a developer you have to keep tabs on new emerging technologies and technologies phasing out. Unforunately, flash is losing. There are a couple reasons for this.

Adobe Surrendered

As mobile gaming was rising Flash got blown out of the water. It's too laggly and bloated. The only way to create a great mobile game with a fluid experience is to create the game in the phones native language. So as time passed and it eventually became clear flash was not the future and Adobe abandoned ActionScript Next project.

Rise of HTML5

Since 2009 support for HTML5 has only been growing. With native support for drawing in 2D and 3D, websockets, sound effects, client storage it's only a matter years before flash becomes obsolete.

I say years because the biggest draw back with Javascript and HTML5 is you cannot safely use any feature without it being supported on the lowest common denominator. When can we safely use webgl? It's now safe enough to use the canvas element considering Google stopped support for Chrome Frame. Browsers are slowly catching up.

So where are all these HTML5 games? Games are a complicated medium, it requires on the beat sound effects, sharp graphics, great controls and animations. Flash had all of this and worked great cross-platform. Javascript has no API for animations or anyway to deal with cross-browser funkiness. So a library is needed, there is only one complete open-source game engine which can deliver all this Phaser. So why isn't this a post about Phaser?

Phaser is great, it has everything I look for in an open-source project, especially one which an entire project depends on. Large active community, well known project owner, great docs. There is just one problem, as a game developer today you can no longer limit your game to just the web.

Gaming is bigger than the web

Mobile gaming is huge if you want your game to get popular your best bet is to get on mobile and the web. Lets be honest though HTML5 on mobile sucks, its laggy and is cursed by too many restrictions. Which means for now native mobile games are the only option but no one wants to rewrite a game three times for the web, android and iphone.

Entering OpenFL

OpenFL allows you use to write your game in the Haxe language using the Flash API everyone is familiar with and export your game to desktop, web and mobile phones. It currently supports a HTML5 export but its a bit rough around the edges so I recommend using the Flash export. Writing your next game in OpenFL is a very safe bet. Bugs will be worked out and HTML5 export will only get better. It also supports native desktop exports to Linux, Windows and Mac.

Of course there are other options like MonkeyX and everyones favourite Unity. OpenFL looks the most promising it is open-source, active community and lots of documentation.

Although OpenFL looks great I haven't dabbled in it enough to confirm that. So over the course of the next few weeks I will write up some tutorials on how to create a role-playing game start to finish. This will let me validate OpenFL and hopefully use it in my next game.