HTML5: Too Good To Be True?
GameDuell's Michael Kalkowski and Jonas Gebhardt pull apart the problems and myths around HTML5
Although HTML5 is currently present everywhere in game development, most developers feel that the technology will be an important asset tomorrow, not today. GamesIndustry International recently discussed this topic in great detail with several mobile developers, and James Austin of Turbulenz has also weighed in. As Europe's leading social/casual developer, we felt a need to share our own thoughts and insights that have come from working with HTML5 on several GameDuell projects.
HTML5 may be the future, but it certainly isn't ready to be the main platform of the present. Any serious game developer (especially in the web/mobile field) needs to explore the new language in order to prepare for that future, but there are several obstacles that need to first be addressed and overcome before HTML5 saves us all.
No gamer these days wants to be bothered with downloading a game. In fact, we are rapidly approaching an era where players are less interested in downloading a game multiple times on multiple platforms, and even less so in paying over and over to access the same content. As gamers, we want to use our favourite device right now and begin playing immediately.
" Any serious game developer needs to explore HTML5 in order to prepare for that future, but there are obstacles that need to be overcome before HTML5 saves us all"
This no-download, no-install, no-payment, no-waiting culture has evolved over the past few years within the social gaming scene, and looks likely to become the dominant form of games distribution, replacing traditional retail design and mentality.
As a purely web-based platform, HTML5 seems to give publishers endless opportunities to satisfy these customers' needs, at least at first glance. HTML5 enables developers like us to create a game once and release it straight away onto almost any type of device of platform - mobile, web, social or console. All players need is a connected device or web browser (which nearly everyone has) and they are ready to rumble and immediately join the action.
Another key belief is that publishers can easily distribute HTML5 games independently; the 30 per cent commission for platform holders seems to be holdover from the past. HTML5 makes the gaming world a perfect, open place for developers who can instantly get their creations in front of potential players with no barriers.
Does this sound too good to be true? Probably!
What Is HTML5?
The most critical modern example is the inability to naturally integrate video into HTML. As a result, many companies have developed different methods and unique formats (ranging from WMV to MP4) to play back videos. It's fair to say that all the external plug-ins (such as Adobe Flash) required to run these formats are both annoying and risky, since you are forced to find, trust, download, install and continuously update them.
HTML5 is able to deal directly with videos as well as making several other things possible that were not possible with the HTML language in the past. In the long term, this could lead to a more standardised and consistent web experience across all browsers and devices, which in turn makes life easier for both users and developers.
And here we go again: HTML5 seems to make the world perfect. Does this sound too good to be true again? Probably!
Today's Reality At A Glance
The reality is currently a bit different.
The following points have one word in common and that one word is "yet." HTML5 is going to play a big role in the future of the internet - especially games - but it is simply not ready to take on this role.
"GameDuell is spending merely 10 per cent of our mobile resources on HTML5, with 90 per cent of our efforts geared towards native app development"
At GameDuell, we don't see HTML as a viable alternative to native development for iOS or Android apps yet, especially from a business perspective. After much research and experimentation, GameDuell has decided as a company that now is not the proper time to put all of our focus and energies into developing for HTML5. In fact, we are spending merely 10 per cent of our mobile resources on HTML5, with 90 per cent of our efforts geared towards native app development.
At this point, HTML5 serves more as an addition to native development instead of a replacement, allowing apps to take advantage of traffic that cannot easily be reached via traditional native applications.
HTML5 is not yet a true cross-platform technology that allows you to simply write a game once and run it instantly on any platform and device. While this new HTML iteration is designed to push the cross-platform experience to new levels, there are many hurdles to cross before an HTML5 project can run on individual platforms, making the work just as challenging.
Reaching Users Without A Proper Distribution Channel?
On the plus side, two of the world's largest and most influential internet companies are dead serious about HTML5 and are serious about pushing the technology.
There is no doubt that Facebook believes in HTML5. Even two years ago, they were "excited" about HTML5, creating a dedicated blog and rallying their developers to "build the future with HTML5." While Facebook passively waits for others to develop great browsers that can deal with any HTML5 code, Google has already decided that developing the best browser is the key to success, since browsers will be the future entertainment platform.
With the launch of Chrome OS and Chromebook, Google took direct action, showing its belief that the web is the future, with its goal being to have everything running in the cloud on a simple, clean browser. The big question here: if games and all other apps are running in a web browser and downloading from dedicated app distribution stores suddenly becomes redundant, how can publishers distribute their latest games and apps and reach a mass audience?
Google created its own Chrome Web Store for this purpose, which is a step in the right direction, but not every developer and publisher can build their own stores. Apple's AppStore and Google Play make discovering and purchasing content pretty convenient, giving people a destination to find what they're looking for. That's why today's mobile developers can't afford to launch a game on HTML5 only - developers still have to go "native" as well, in order to aid in discovery.
Positive things have already happened: Facebook's mobile platform began pushing the social discovery of apps created with HTML5. Industry blogs even commented that "Facebook could finally be a decent distribution solution for the long-tail of mobile app that don't have a top 100 ranking." Bigger, established game publishers can also leverage viral mobile web traffic. We receive a lot of this traffic to our mobile site directly though mobile web browsers, which is a great opportunity to reach additional users with HTML5 versions of GameDuell's games.
A Fast-Moving Technology
HTML5 is making a lot of progress and in terms of browser compatibility, developers often seem to underestimate its capabilities. HTML5 games are not limited to Chrome alone; our first HTML5 game Solitaire Harmony, runs smoothly on almost all mobile browsers, including Safari, Opera and Silk. We have also learned that the technology works great for casual games (such as card games), and supports many unique hardware features, such as motion sensors that also work on native iOS and Android.
"Limited payment options affect monetisation negatively. There is currently no solution for quick payments through HTML5"
We are also able to do simple animations, like flipping and moving cards. However, we found that the way they flip is different on different browsers: on Android's Chrome they turned around the vertical axis as desired, but on iPhone's Safari browser they flipped horizontally. Well, we took a deep breath, did some extra coding and overcame the issue.
Since HTML5 requires a web browser, games usually cannot be fired up without an internet connection. Once the game is loaded it is possible to cache data, so that playing "offline" is an option, but in most cases if a player does not have a live internet connection they will not be able to access their game.
There's also an issue with audio, which is becoming a major topic with game developers. Games without sound are usually no fun; therefore HTML5 must be able to handle all kinds of audio correctly and allow developers to work their magic. HTML5 sound works well in most browsers, but we have found limitations, especially where it comes to looping music. Another problem is that sound within an HTML5 application cannot be muted by the hardware volume buttons on the iPhone, forcing players to rely on onscreen software buttons. This will almost certainly be fixed in the near future, but for now it is an annoyance that can break user engagement with a game.
100 Devices, 100 Screen Sizes
While audio is certainly an issue, addressing different screen sizes and pixel shapes is much more pressing.
Imagine for a moment that you're a developer, working on the next awesome game that will set the world on fire. You've begun developing your game in HTML5 for desktop browsers because you've been told that adapting it to mobile is easy. Your code can quickly be taken to a mobile device by simply scaling down your graphics with little to no hassle. Turns out this is mostly wishful thinking.
By going this route, you'll end up with a game that looks terrible and requires a lot of extra work in order to make it run correctly. Even something as basic as navigation bars differ from device to device, meaning your on-screen display is going to change on each and every type of smartphone.
The next great graphics challenge is that a pixel is not simply a pixel anymore. Due to the variety of mobile devices in the market (especially when it comes to Android phones), we suddenly have to support many different physical displays with very different pixel resolutions and densities. To overcome this challenge, density-independent pixels (dips) were invented. Since this new type of pixels have to then be converted back to screen pixels again, complexity in the design process has increased massively. While in the past we had one simple "px" (pixel), in the HTML5 world of today we now need to deal with dpi, dip, dp, dps, sp and sip.
And that's not even the end of it. A few weeks ago, GameDuell was approached by a partner with a plan to display HTML5 games on TVs. We quickly discovered that not only would we have to suddenly deal with thousands of new screen sizes, but also address an all new issue: controls. It's hard enough to teach HTML5 touch gestures and drag-and-drop to new players, but how are we now supposed to get these gestures controls to work with a TV remote?
Well, every day brings challenges - and that's what we somehow love about working with HTML5.
User Retention - A Nightmare Scenario?
How do people find a mobile game? And even more importantly, how do they come back to it again afterwards? Compared to web and social games, mobile faces huge challenges in this area and HTML5 doesn't seem to make things any better.
"Smaller publishers focused on generating revenue must choose native apps over HTML5 development, as HTML5 is far from being on par with native apps"
Since HTML5 games run in a browser, your game is "gone" once the browser is closed. On iOS, developers can at least suggest players add a bookmark button to the home screen, but there's nothing comparable on Android. This is a nightmare scenario for both players and developers.
The second big issue we recently faced while developing Solitaire Harmony for HTML5 was related to viral loops. Due to difficulties with Facebook Connect, social features like gifting and sending requests could only be used in limited ways. Proper retention tools and the support of a huge player like Facebook are still crucial in order to publish successful games.
Native Apps Or HTML5 - Or Both?
Lower retention rates means worse monetisation. Smaller publishers focused on generating revenue must choose native apps over HTML5 development, as HTML5 is far from being on par with native apps. If you are looking to chose between native or HTML5 development, you should absolutely go native.
Limited payment options affect monetisation negatively. There is currently no solution for quick payments through HTML5, unlike the ease of in-app purchases through iOS (and hopefully Android, someday) or Facebook. The harder it is for a user to pay for something, the less likely they are to do so. The other question is whether the 225 million customers that have already shared their credit card details with Apple will share those details again and again with other developers or social networks in order to make micropayments in HTML5 games that are not distributed via the App Store.
If payment providers and developers are able to figure out unique, secure and easy solutions to solve this issue, monetisation with HTML5 games might be, in the long term, much better than native apps, but we're still a long way from that happening. By embracing the open web, publishers won't have to pay a 30 per cent commission to a distribution partner any longer. But before we can get there, we'll have to find all these potential customers and then convince them to use a different payment system. Suddenly that 30 per cent markup to Apple or Google doesn't sound so bad.
HTML5 Remains An Adventure
At GameDuell, we currently view HTML5 development as an adventure and a learning process. On a positive note, this is also why we are optimistic about the future of HTML5. Over the last eight years, we've always managed to find solutions to the challenges that arise during the game development process. Until it's ready for the masses, it will still need time to mature - currently HTML5 is a development dream that is too good to be true.