Why HTML5 is the future of online gaming
If you are reading this blog, you are probably aware of the massive shifts that the gaming industry has gone through over the last few years. Zynga has used flash to revolutionize casual online games, Rovio and countless others have revolutionized mobile gaming through native applications on iOS and Android and Unity has revolutionized how indie game developers create games for pretty much any device.
All of these different platforms create great opportunities for games and have contributed to the industries massive growth in reach over the past few years However, all of these great platforms poses one glaring weakness: there's too many different technologies involved.
If you want to create a great game for Facebook, you will most likely use Adobe Flash. However, your game won't work on most mobile devices (or at least not very well) unless you port the game to a native application. This poses its own gameplay problems, not to mention the added overhead of ultimately recreating a game with a new codebase. This often isn't feasible for smaller ;studios, and all of the focus ends up revolving around porting your games rather than making them fun to play.
I see HTML5 as the solution to this problem. Sure, the technology is still in its infancy, and of course there are still drawbacks, but it provides one unified way to make rich-media games on virtually any platform. Build a game with HTML5 for the browser and you instantly have an audience on Windows, Mac OS X, Linux, iOS, Android, Windows Phone 7, Google TV, Playstation 3, Wii, etc. That statement would be a daunting task for even the largest game development studio without a unified technology to build games on top of, but HTML5 makes it possible for even a guy working out of his apartment.
I'm not alone in this feeling either, as many companies are starting to tackle this very issue. Game Closure, Isogenic Engine, Game Salad, PhoneGap, Sibblingz and appMobi are just a few startups in this space that are doing some very interesting things. Even Facebook is making a major push in the HTML5 space with their Project Spartan platform.
The major argument against HTML5 is performance vs. native applications. While this is true to some extent, the gap will continue to close as rendering engines continue to show dramatic improvements with the lead of Google Chrome and others. Hardware continues to become more powerful, and we will eventually get to a point (this will happen sooner than most realize) where even the computers in our pockets have more raw computing power than developers will know what to do with. At this point it won't matter if you are developing a native app or an HTML5 app, because you will be able to use as many resources all of the resources you need in either case.
Another common misconception about HTML5 is that it can't do everything that native apps can. Ultimately, this isn't really true anymore, and every day this becomes less of a concern. HTML5 is still a living spec, and browsers are still building out all of its features. As HTML5 becomes more mature and widely accepted, the APIs available to native apps will be almost ubiquitous within the HTML5 realm as well. Even today, there isn't much you can do with a native app game that you can't in HTML5. Hardware acceleration, 3D graphics, offline play, etc.
Interestingly, the argument I see most against HTML5 is the fact that the code is "out in the open" since it isn't compiled into an application. I guess this would be a concern if you aren't confident in your ability to stay ahead of the curve, but if you can stay innovative and execute, there's no reason this should be a hinderance to any quality business model. The user-facing code isn't something that has ever been hidden on websites. I've got access to all of Facebook's user-facing code, but does this mean Facebook should be afraid of me? No. The value comes in the server-side code that is hidden, and in the brand that you build around your product.
"But wait," you say, "there's still the issue of games that aren't online multiplayer, where all of the code is downloaded and executed client-side." To that I say look at Reddit, all of their code is open source and they continue to grow at a rapid pace. If you are really that concerned, there are ways of concealing javascript through obfuscation and programming your game in a way that makes it difficult to duplicate.
The native app isn't going to go away anytime soon, but HTML5 is about to be the next gold rush. Apple pushed it before it created the App Store, but now they will be one of the biggest forces trying to hold it back (it will be harder for them to take a 30% cut from the open web). However, the open web has won time and time again, and this time will be no different.
As you can probably tell from the way this post has been written, I am strongly invested in the technologies behind HTML5, and am working hard to use them to the fullest in the games of GoldFire Studios. So, what do you think, is HTML5 the way of the future, or will it go the way of the dodo?
Update (12/9/2013): The landscape of HTML5 gaming has changed dramatically since I first wrote this article, but the premise is still the same. More than ever, HTML5 remains the future of gaming. However, WebGL is quickly becoming the dominate player in the space, and this is a very good thing. Within the next year or two, we will see browser share saturated with full WebGL support, and this is when we will see the full potential of the web unleashed. See what we are doing today with HTML5 gaming in CasinoRPG.