Why I love The Flash Platform

The simple answer is that it is just as fun as using my Atari 800 or Atari ST. I assume the same goes for you Apple IIe/ IIGS / Mac Classic folks as well as the C64 / Amiga, and Tandy, Speccy, BBC Micro, MSX, and Amstrad crowds. Making your computer do really cool stuff has always been a draw for the “Computer Enthusiast” (what we were called in the 80’s). For me, the Flash Platforms does this and much much more.

Ok, we all know that  Flash has been taking a lot of hits lately from all over the place. There are even quite a few previous Flash game developers who have moved off to the greener pastures of Unity and Coco’s 2D iOS development in hopes of making their fortunes. I applaud anyone who is trying to make a living on indie games and apps, so this is not a disparaging post against any other technology, it is simply some reasons why I still use Flash every day and feel (for me) it is the absolute best combination of power and flexibility ever combined into a unified tool (or set of tools) for rapidly creating games and applications for the web, desktop and even mobile devices.

By Flash platform, I am referring to the CS5(.5?) IDE, Flash Builder 4.5, Flash Develop, Air, the Flex SDK and any other set of tools (Tweenlite, Flixil, Box2D, etc) that help make SWF creation possible and easy. With this full suite of tools, the developer can target PC, Mac, Web, and Mobile devices with basically the same code base.

I am no newbie to R.A.D. development. I started making games and apps in Atari Basic on my Atari 800, moved up to GFA Basic and STOS on the Atari ST, transitioned to Borland C++ on dos, then grappled onto the early Java implementations before hitting ASPold(and .net)/CSS1/Javascript in the late 1990s.   When I discovered Flash 5.0, I never looked back. No longer was I concerned with browsers incompatibilities, and strange IE vs Netscape command set differences. With Flash, pretty much everything just worked. Now, Flash got a raw name from many people when advertisers started using it to create bloated, un-manageable sites and Eye Blasters that took over pages and annoyed users, but the core technology was never the problem, the implementation was.

Flash became very powerful with the introduction of AS2 and then blossomed into a “small-talk” like Nirvana when AS3 was finally delivered. While these underlying technologies didn’t offer the web designer much in the way of snazzy looks, they super-charged the methods by which engineers could increase the power of  rendering and began the creation of free 3rd party tools tools and libraries that were and are the envy of most of game and RAD development systems.

The indie game development craze that started in about 2006 with Mochi and Flash Game license (along with all of the portals that licensed and placed games on their sites)  really was a throw-back to the early-80’s disk and tape dupe operations where games were sold out of the back of a station wagon  in zip-lock baggies. The innovation that came from these Flash games created the Angry Birds and Plants v. Zombies games that we find ubiquitously across all platforms today.  The Technology used to fuel 99% of this creative boom…Flash!

Now, why do I love Flash?

It just works. Simply put, I can open up the CS5 IDE and rapidly prototype a game or app  in about an hour. I can then port that code to Flash Builder and with just minor interface tweaks, create an Air App that will run in any desktop. Don’t want Air? I can also simply create a projector file that can natively on both a Mac and a PC. I can go mobile by using the Flexbuilder –> Air –> iOS/Android pipeline to create some pretty good running apps that are light years ahead of the HTML5 to Moble Safari apps I have been creating.

Now, don’t get me wrong, I have created some blazingly fast app demos using both Cocos2D and Unity. While I still find Objective C development strange (but not too difficult), and I love the fact that I can use Javascript and .net with Unity and I have also become somewhat of a Lua savant by using Corona to create some game and app demos for the iPad. All of these technologies have  their pluses and minus’. Cost  is a huge consideration for an indie developer and while native iOS dev is essentially free ($100 but overly complicated),  the cost for Corona ($about $300 per year … not too bad) and Unity (getting pretty pricey) have left me wondering if the $800 upgrade license for each new revision of the full blown Adobe creative suite really is not too bad.

Ok, so back to Flash once again. I have had to do a lot of non-game work lately to keep the bill collectors at bay, and have been dickering around in the IDE, wiring up complicated animations built by the genius Producto animators with my own interactive AS3 code. It was a little difficult to get used to at the beginning, but with the correct organization, an AS3 Main document  class can be used as a powerful tool to control even the most complicated time-line animation.   The great thing is that it all runs blazingly fast in a web browser.

It’s also no secret that Steve and I jumped on the HTML5 Canvas band-wagon last year and contracted with O’Reilly to create the definitive guide to Canvas development.    I find CSS2/CSS3, jQuery, and standards based web development to be complete black magic at this point, so we concentrated on plain Javascript and the Canvas.   The Canvas (when implemented properly by a browser vendor) can be a very very powerful rendering tool. Flash-like games and animations can be created solely on the Canvas or with a combination of the entire HTML5 suite of tools: HTML5 Spec, Canvas, CSS3, WebGL, Web Sockets, the upcoming 3D context, SVG, and more will all someday come together to create an incredibly powerful web development system based on standards. It will be an exciting time. I encourage everyone to learn these technologies. The combination of these, with PHP (and OOP PHP) running the back-end of such tools as Drupal is going to be the future (and in many cases the present) of web site development.


We have all of that now, in one simple, easy to use, very powerful package that can create games and apps to every device on the planet. Flash might never be the tool of choice to create a full-blown web site (although it does have its uses for small and medium-sized sites, especially for marketing), but right now, it KICKS ASS for apps. At least for my purposes, there is no other choice.  The game HTML5 Canvas app that runs at 30 FPS on my Safari desktop browser runs as 5 FPS on the iPad 2. If I take the Flash prototype, port it to Flex/Air and then run it natively on my iPad 2, i get 20-25 FPS, Still not incredible, but it certainly is getting there.

In any case, leave me some comments what tools you like for both Web and App development. There are no wrong answers here, just a friendly discussion on what makes sense for what type of applications and what successes you have had.

Now, for me, I’m going back to making some indie games for the  fun of it. Maybe I will port one to  iOS some day, maybe not, but  really, I want to get back to the enjoyment of coding games, and for me, the Flash platform is the way to go.


Leave a Reply