My Take on the State of Flash

I had a very busy couple of weeks, and between attending FITC Toronto and preparing my game for the upcoming Toronto Game Jam I could not complete the post I planned, so for now just a few rants and comments on the current state of Flash platform and the industry.

Flash is still ahead of all the others

OK, so this ‘Flash is dead we all do HTML5 now’ argument is getting a bit tired, but the trend now is to offload simple projects to to traditional web tools – HTML, JavaScript, CSS and the like. I can only see good in that – clients would use their web developers for trivial web site projects, leaving stuff like games and complex animation for Flash programmers like myself. I say good riddance.

As already mentioned by Stefan Richter in “Why Flash will be fine“, the Flash platform has never been more popular. Adobe is finally focusing on making it better and faster and the Flash developer community has always been characterized by talented people who are passionate about their code and art.

I was really impressed with the new AIR 2.7 for iOS, and now seriously consider developing games for the iPad, something I could not even imagine a year ago. As Jesse Warden says in his blog,  there are lots of technology choices for developers, like iOS, Andriod native, Corona SDK and Unity3D to name a few, and there is plenty of room for everyone in todays market and no lack of opportunities.

But is lagging behind

My next related comment is on the promised features in Flash player 11, namely Molehill (or Stage3D) and worker threads. FP11 is now part of Adobe Flash incubation program and in public beta.
For years now, Flash developers, and game developers in particular, have struggled with the lack of two main features: hardware accelerated graphics and multi-threading. This is almost unthinkable: multicore processors have gone mainstream 5 or 6 years ago and we can’t utilize them. Graphic cards are popular for the last 15 years or so, but flash player still does all the rendering in software, on the CPU (with the exception of video).

I remember being excited about 3D back in 1998, while programming with OpenGL and DirectX. A lot has changed since then.  Take the XNA platform for example – it had all these features on version 1.0, back in 2006.

To say that this is long overdue would be an understatement. New features like 3D and multi-threading take time to sink in and mature, and since FP11 will only the first generation, who knows how many more releases it would take for Adobe to get it right.