HTML5 App and Game Development
by John Tyrrell
HTML5 opens up a world of possibilities for app and game development -- but the road ahead still has some twists and turns
Emotions have been running high in the HTML5 application development space in recent months. With the current worldwide explosion of mobile and web app use currently underway, many feel HMTL5 is the bright future of cross-platform development.
The vision is simple: one single, straightforward web programming language that allows the creation of anything from a basic service app to a complex game that works across any platform without the need for native development. In theory, HTML5 is a developer's dream, reducing costs, leveling the playing field and, for app and game studios in particular, opening the floodgates to a wealth of new potential development talent. But in practice, as is often the case when disruptive new technologies enter the marketplace, the road ahead for HTML5 has some twists and turns.
One of the hottest HTML5 debates centers around game development. Games are complex beasts that generally require specialized coding and the creation of native versions for each platform they are deployed on. The idea that HTML5 could eliminate these hurdles is exciting to the countless coders around the world who are working to embrace the emerging technology.
But after initial exploratory efforts across the breadth of the cross-platform game development community, many reluctantly admit that HTML5 remains a promise for the future, not a current reality. In an article published on GamesIndustry International, two developers from GameDuell aimed a pin at the bubble of excitement surrounding HTML5 and, while investment in HTML5 game development is certainly continuing, the resulting burst bubble gives pause for thought.
It may be true that the platform is not yet ready to deliver Call of Duty on a phone, but many developers are investing heavily and successfully in HTML5 right now, predominantly in the app space, but also in games. At Google's I/O conference, Electronic Arts unveiled a working prototype of a social cross-platform action game entitled Strike Fortress, designed to showcase exactly what HTML5 is -- or at least soon will be -- capable of. Although that game is not planned for release, it demonstrates that for developers with the right skill-set and approach, HTML5 is already working -- and working well.
An App for That
For a look at fully functional HTML5 apps that are already making the cross-platform dream a concrete reality, try visiting the www.jqmgallery.com website. The site is a showcase of 150 jQuery mobile applications submitted by developers and the companies the apps were built for. "There's a huge spectrum of major companies represented there doing relatively straightforward but useful apps, and they run," says Mike Richmond, from Intel's Open Source Technology Center.
They're apps designed for mobile, but the fact that they've been created using HTML5 means they will essentially run on any platform, with no native development required. "You can point your Chrome browser to any that are actually live in the site and run them," says Richmond. "Most are designed as mobile apps so they are not designed to exploit a big screen, but they work."
The question of game development in HTML5 is a good deal more complex. The games industry is currently taking a moderate perspective on the usefulness of HTML5. "There are clearly games that can't be done cross-platform with HTML5 right now," says Richmond, "but there's a tremendous amount of industry attention on this problem."
"Whether you're talking about the work that's being done by us and Tizen, or the work that Google is doing in Chrome and Chrome OS, we're all very keenly aware of the problems that are yet to be solved," says Richmond.
Limitations with HTML5 can manifest themselves as a result of the sheer scale involved when developing games as opposed to more straightforward applications. Problems can range from a lack of clarity with script organization and issues with certain browsers, to programmers' potentially reduced mastery of code behaviors resulting from the language's high tolerance for less than optimum coding.
"I don't think we're there yet, at least not for every kind of app," says Richmond. "For the kind of apps on the jQuery mobile gallery the answer is, yes we are there. For games, if you want to write a first-person shooter, that's probably not true."
Ultimately, the limitations developers hit with HTML5 will depend on the type of application they're creating. European social gaming startup oOki is currently developing its first online multiplayer puzzle game for deployment on Facebook followed by other platforms, including browsers and mobile. The company decided early on to embrace HTML5 standards, seeing it very much as the future of cross-platform social game development, and the team is confident that it made the right decision.
"Some parts of HTML5 still need work, like WebGL management, and there are still a few problems with certain browsers, but the remaining hurdles can easily be overcome," says Stephane Caillet, head of game programming at oOki. "We haven't hit any problems we couldn't find a way around."
Caillet has a rather more well-defined goal when it comes to the real or perceived limitations of HTML5: "For me, the main challenge with HTML5 is showing that you can make better applications than you can with Flash."
"And it's very controversial," continues Richmond. "If you go to a web developer convention and throw the word CSS out there, you'll hear pros and cons. But the implementation of CSS is tied to the heart of the browser and the heart of the graphic subsystem, and if what you want to do is possible with CSS it's going to be very, very fast."
Caillet has certainly encountered no issues in terms of speed compared to the previous industry standard development platform for online social games: "For our game we're achieving a level of performance that's at least as good as a comparable Flash game."
This reality is part of the opportunity Richmond sees for content authors to become highly successful app developers and grow the overall development ecosystem. "We see HTML5 bringing a whole new set of application developers to computing, and the people that it brings start out as content authors. Normally you associate people who do content development and authoring with creating websites. They have a certain kind of training and a certain set of sensibilities and skills, and then suddenly those people are creating applications.
"Compared to the traditional software engineering model where you go and get a computer science degree, learn to code in C, and use a certain set of tools, it's all different now for these other people," concludes Richmond.
Photo: Corbis Images