Is HTML5 the future of (mobile) gaming?

4 years ago

According to TechCrunch  HTML5 Is An Oncoming Train, But Native App Development Is An Oncoming Rocket Ship at least that’s what it advocates and believes strongly, the same time Google’s Eric Schmidt is quite convinced that HTML5 will eventually dominate almost all apps. Its very old debate and probably truth is somewhere in between. But as technology advances and developers get more and more aware of possibilities, I think we’ll start to see some serious competition coming from web-based game developers.

Main promise is to write it once, and have it run everywhere. Its still “the promise”, since game creation with HTML5 is still not painless and has so many platforms and devices to deal with, that’s what we would like to change rapidly with LimeJS. Every day brings us closer and closer to situation where programmer has to deal only with creation of game and not technical problematics around it.

We at Digital Fruit are convinced that HTML5 is a outstanding technology for mobile (and even desktop gaming). That’s why we invested considerable amount of time to create LimeJS at first place. It can be used right now with already existing skills: developers just need to make right decisions and understand limitations of technology. HTML5 can be used to make games and achieve a outstanding user experience. In the end, that’s what really matters and what will make apps success or fail.

Major benefits of HTML5 (and in our case specially benefits of LimeJS)?

  • You already know how to use it
    Generally, web development and JavaScript skills are also much easier to find compared to native development skills. Expected costs will be lower and development can probably start faster. Native app development is not only difficult but it’s also expensive.
  • Cross platform
    If you’re planning to create native mobile apps then you have to support on minimum level at least iOS and Android. That means two completely different languages: Objective C and Java. Using LimeJS (or any other advanced JavaScript game framework) the app will be usable immediately across a range of devices and operating systems (there is still no Nokia/Symbian and never will). You will reach even further: all major mobile and desktop browsers are covered. Many smart-phone browsers are getting better support for HTML5 and that’s only going to improve rapidly. Also you can instantly add Facebook to current list of supported platforms as I believe it is clearly platform its own (even if its run from browser). Facebook is also encouraging people to get into HTML5 gaming.
  • Social
    In essence there is nothing social in HTML5 but as server clearly exists, it’s not too complicated to add social interaction there.  
  • Speed of development
    Where HTML5 game development with LimeJS really excels is it takes considerably lot less of the time (compared to a native app) to get it ready for market. Add here cross-platform and you got real winner here. Native apps are like fossil fuels - they are useful and readily available today but they will finally lead to less desirable outcome.
  • Dynamic distribution
    This is part where HTML5 really shines - it’s possible to change content on the fly without requiring any additional lengthy approval process from Market/AppStore.  It allows really fast content (and even interface) update without any additional requirements but network connection.
  • Optional installation
    HTML5 apps can be distributed any way creator wants - via Market/AppStore or just via the browser. Users are not required to install anything, all they need is modern HTML5 capable browser.
  • Strong support of market leaders
    HTML5 is pushed by big companies like Google, Facebook and Apple so it will not disappear any time soon and only thing what happens it gets more and more support over time. All major browser vendors(including Microsoft) see HTML5 as their biggest goal. RIM and HP(Palm) have made Javascript as a built in way for creating native applications for their mobile devices.

Limitations of HTML5 games

  • Performance
    Regardless of advances in HTML5 developments and frameworks, HTML5 based games are still slower compared to native code based cousins. In near future it will change significantly as technology advances very fast. Only clear drawback I can see is that low-end smart-phones are on the rise and they do handle complex graphics not that well as high end ones do. Not everyone gets the same smooth experience (but this is equally true for native apps so no clear winner here). Luckily hardware acceleration and WebGL are already appearing in latest browser version pushing the speeds very close to native performance.
  • Inconsistent implementations
    HTML5 specification in still in draft state and some related technologies have very different level of support. Some browser makers try out their own ideas, some don’t like the ideas proposed by their competitors. This turns your code into device specific hacks and makes it less likely your game will still work with newer versions. Using a framework is a must to avoid such situations.
  • 3D
    It’s probably fair to say that if you want to create a full 3D experience with 3D transformations and shading today with HTML5 then it would be quite difficult. But if you want to create an optimized, bare-bones 3D then JavaScript engine that supports translations and rotations can do it quite well. There is however possibility to get next level with 3D  - namely WebGL. Luckily hardware acceleration and WebGL are already appearing in latest browser version pushing the speeds very close to native performance.
  • Integration
    peer-to-peer networking is still currently not available for HTML5 (there are some workarounds). But then again, you can develop a hybrid app which uses very little native code and relies mostly on HTML5.
  • Monetizing
    Monetizing the game of HTML5 will be exactly like it is today for anything else. If you want to make income then native app development is still the most logical way to go but its slowly changing. Also with ad-supported model there is no notable difference. You can also take a WebView and package  it to a regular native shell and you have a “native” app (which is really just a web app), that’s pretty much what Netflix did for the iPad.

How to gain maximum with LimeJS

  • Hybrid HTML
    HTML5 vs native is not an “either/or” decision its much wider view of things. Follow principles set by Netflix to use HTML as far as it is reasonable and if needed do the rest with native/hybrid app
  • Package it
    On iOS you can bookmark your app directly to desktop and from there for average user there is no difference if its native app or HTML5 creation. In Android things are a little bit different - Android does not allow to create headless browser experience “out of box”, so only way to do is to package it (with PhoneGap or something similar)
  • Offline content
    One notable property of HTML5 is great support for local storage. It makes possible to your user to go offline and use app without any data connection.
  • Look & feel you want
    you are not limited to “usual and native” interface look, in fact you can and should adjust everything according your own game centered needs - LimeJS has all needed tools for that
  • Think big
    LimeJS is created real games in mind, its not for making demos nor it is collection of “hacks” - everything is systematically thought trough to give game creators freedom and tools to create true game experience and keep everything maintainable.

Why we in Digital Fruit believe that HTML5 will be the definite future of mobile (gaming)?
We strongly believe that in 2-3 years from now, majority of games (and apps) on mobile devices will be based on HTML5. Right now HTML5 gaming may be is still playing “catch-up game” but technology is progressing extremely fast. There is a really big and growing demand for multi-platform world in which most major mobile platforms (iOS, Android, Windows Phone 7 and Blackberry) are very serious for a significant market share. It will be clear that most companies will not be able to afford that many parallel development teams and supported platforms. If you think of a cross platform software layer for Internet applications what would be supported by all vendors, anything other than HTML does not make sense. Sure Flash can do some nice tricks better in the moment (specially on desktop as iOS still lacking support for Flash and on Android its nothing more than proof of concept) but if you think about the future there is no way a proprietary plugin can be something that fulfils all vendors need for better apps.

Currently HTML5 is not yet the best thing in the world, but all this will change rapidly over short time. HTML5 is the way browsers are heading, and they’ll all just get better and better. HTML5 is most definitely future of gaming on touch devices.

Olavi Tõnisson