The allure of HTML5 for game developers is as clear as it is strong. It’s about reach, access, and control.
Games that run on all the major modern gaming platforms – Android, iOS, Facebook, PC and Mac - would have unparalleled reach. The number of potential players for these games will easily top two billion (which was the estimated Flash capable audience as of May and 10 times the number of all the seventh generation game consoles sold).
2. Player Access
These games would be available for a quick play session both from work and home computers and on the omnipresent touch screen smartphones and tablets that are transforming the gaming industry and bringing in the majority of the new players.
With the same game code running on phones, tablets, and PCs and the instant gameplay updates, easy data tracking, and data-driven optimisation inherent in web technologies, developers would have an easier time delivering their best game experience to the maximum number of players over a game’s lifetime. Even better, there’s no gatekeeper with web apps – if you can attract an audience, you can update when you want, process payment how you want, and make the partnerships and technology choices you want.
So if HTML5 is a terrific new answer to these game developer problems of reach, access, and control, and deserving of the media and pundit love-fest it’s been receiving for more than a year now, why was my boss quoted last week around the internet as saying “HTML5 games are hype?”
Why was EA creative director Richard Hilleman’s keynote at the New Game conference on HTML 5 gaming last week centered on the problems with the platform? Haven’t both Zynga and Electronic Arts both publicly declared support for HTML5? Aren’t Facebook, Google, Apple, and even Microsoft committed to making the emerging standard great for gaming? Aren’t there some impressive WebGL demos? Didn’t Adobe just publicly admit Flash has lost the war for in-browser games and they’ll support HTML5 and native apps for mobile devices going forward? Is there a major disconnect between the promise and the reality of HTML5 as a game development technology?
And if so, is there a viable alternative for multi-device game development, or are we all doomed to siloed game markets and cross-platform porting projects for the foreseeable future?
First line of investigation: Find a great HTML 5 game
Others have already reported on the stripped-down Facebook HTML5 games for mobile and how they’re lacking compared to their Flash counterparts, so I set out to find better examples. Hand of Greed has had a one-off HTML release for iOS for a long time now, but it’s a pale imitation of the native app experience; not just missing eye candy like particle effects, but full features like sound, the countdown timer, animations, and screen transitions. It also has noticeably poorer touch responsiveness and collision detection.
I started examining top games in the Chrome Web Store as well, but found mostly Flash games (Angry Birds and Plants vs. Zombies are both done in Flash). Finally I just started asking around if anyone knew of an HTML5 title that looked as polished and played as well as popular iPhone or Android games. Jackpot – another game developer pointed me to Fieldrunners in the Chrome Web store. It’s true, the HD version of Fieldrunners has good sound, fluid animation, high resolution graphics, and plays hitch-free on my average spec PC laptop inside Chrome (15.0).
I played for 30 minutes and it ran like a dream. So next, I tried to play it in Firefox (7.0.1). Cue frustration. All I could get was a black rectangle for a play area. In IE 9, the browser tab crashed the first time I tried to load the game, and the second time the canvas element didn’t appear. No luck on iOS or Android either.
Clearly, Chrome has the best HTML5 support, but the first really good HTML5 game I can find works on a grand total of one desktop and zero mobile browsers. Clearly, it’s not yet delivering on the player reach and player access promises.
Second line of investigation: Try to get a handle on HTML5 performance differences compared to native app alternatives
The EA and Zynga keynoters at the conference, Hilleman and Bakaus, both pointed out problems with HTML 5 performance and sound support, but I wanted to find more concrete data. Given Chrome’s hardware acceleration and WebGL support, I figured this was the environment to put HTML5 in its best light, and set out to track down some kind of recent performance test results comparing rendering or calc performance in native applications versus HTML5 in Chrome.
Hmm, I know mobile devices are evolving faster than Moore’s law, but can game designers really expect to complete for player attention on mobile devices or in PC browsers if their games run up to nine times slower than other games written in native code?
Third line of investigation: Interview folks who are working on HTML 5 games despite these issues.
Despite these drawbacks, big game companies like EA and Zynga are investing in HTML5 games – but what about small studios that can’t afford to bet on multiple technologies and wait to see which one wins? I interviewed two startup game studios and one interactive experience agency in Seattle who were working with the tech to get their thoughts on the platform and alternatives.
Kevin Moore from Pixel Lab
HTML5 Game example: Agent 008 Ball, created for the launch of Microsoft IE 9.
Why HTML5? “We’re doing beautiful interactive experiences for our clients, and some of these are demo games. What I really love about HTML5 is you can write your code to degrade gracefully on other browsers. But if we were doing consumer games, we might not be willing to live with the gameplay degradation.”
On performance and audio: “On the newest mobile devices like the iPad 2 and iPhone 4s, the performance is getting pretty good. Googles audio API is by far the best. There’s some catch up work to be done by the other browsers.”
Grant Goodale from Massively Fun Flagship
HTML5 Game: Word2, the world’s first massively multiplayer crossword game.
Are you on mobile yet? “Not yet, we originally started to contract out the development of native iOS and Android app ports, but now we’re looking into HTML5 plus PhoneGap as a way to do the development ourselves and work around the limitations and security warnings in mobile Safari.”
On the state of HTML5 for games: “Do we have a killer app yet? No. Are we all working to put the technology underpinnings in place so that killer app can be made? Yes.”
Steve Cellini from Hyperbotic Labs
HTML5 work in progress: CrowdGame Trivially v2 (in development)
How’s it built: “In the first version of Trivially, the host player needed the Trivia console app on an iPad, and the other players needed the Trivially Remote app on their iPhones. It’s a lot to install in order to play the game. Our new version will have just one native app – the Trivially Console, and it will host a web server that everyone else can connect to via their mobile web browsers. In our tests, the WebSockets allow almost instant communication between the remotes and the console.”
The net-net on HTML5
Game studios big and small are excited by the potential of HTML5 and starting to work on some HTML5 games, but native apps for mobile and Flash titles for Facebook and PC web still dominate the charts and the investment. For specific target platforms (like Facebook on PCs and Macs) and specific, current browser versions, it may already be a viable alternative to Flash for less technically demanding games.
However, there are all kinds of missing APIs, security issues, and performance limitations that are vexing the largest game developers and keeping developers from enjoying the benefits of reach, access, and control that they’ve been hoping for. A combination of browser improvements, hardware advances, and API additions are all needed before the HTML5 promise is real. It’s hard to estimate the timeline on all that being released, and then really penetrating the market, but after building software for 15 years, my SWAG is years - not months. The alternatives: An article like this one would seem half finished if it didn’t describe an alternative, and there are three reasonable alternatives for achieving the broad reach and access game developers are looking for, all of them in various states of maturity:
Yes, it’s expensive. Yes, it’s not thrilling development work. Yes, it makes it hard to capitalise on a sudden temporary burst in popularity or surge in a specific platform. Unfortunately, full game ports are still the most common method commercially successful game developers use today to extend their reach to new platforms while maintaining the gameplay experiences that made them successful in the first place.
You know the drill: ship on one or two platforms first, and if the game does well, port it to more devices as quickly as possible. This method has worked for many hit games on all the platforms mentioned in this article. There aren’t any HTML5 games topping the charts for these platforms to serve as a counter point (not yet, anyway).
2. Native Client in the browser
You’ve got to give the Chrome team credit here – they’re leading all the major browsers in terms of HTML 5 support and simultaneously providing the best alternative path for amazing in-browser gaming: Native Client. Native Client supports whatever language you originally wrote your game in, and runs with very little performance degradation, but even though it’s an open-source project, it’s only available in Chrome so far. Game developers would love to see all the major PC and mobile device browsers adopt Native Client as a viable path to greater reach and access without compromising on programming languages, tools, or game play experiences. Do you hear us, Mozilla? Are you listening Microsoft?
3. Middleware and multi-device development platforms
There are several options in this category, from using Flash to generate native iOS apps, to working with Unity3D, to using Frameworks based on Lua script (Moai, Corona) or web technologies (PhoneGap, Titanium). Some of these middleware solutions and development platforms are designed for games, and others for less graphically intensive applications. Some of them only target mobile devices, and others span mobile apps, PCs, and the web. Some of these tools are open source, and others are proprietary. I work on the Moai platform, and promote it to game developers specifically because it’s open source, optimised for games, supports both front and back end game development, and works for 6 platforms with more to come.
But all of the multi-device development platforms can be used to create native applications that have reasonably good performance and give you the reach you’re looking for with fewer compromises on gameplay and device-hardware-based functionality than the HTML5 alternative.
The future of multi-device games that I hope to see When it comes to technology, I’m a fan of solid alternatives and open market competition. I want to see the promise of HTML5 fully realised in the next two years. I want to see Native Client achieve broad browser adoption in the same timeframe.
I also want the middleware and platform implementations to become so good that game developers routinely use them to make games that top the charts on multiple device platforms. With a future like that, we should finally be able to say that single-platform-at-a-time title ports are rarely necessary and merely an interesting historical footnote in the industry’s maturity.
Mike Arcuri is the VP of marketing at Zipline Games, where he promotes Zipline’s titles to consumers, spreads the word about the Moai platform to game developers, and still somehow finds the time to play way too much Game Dev Story on his iPhone and 100 Rogues on his iPad.