Friday, December 13, 2013

Google killed html5 game development with android KitKat (4.4) release

Html5 is a nice platform for game development. Though the standardization is not stable, it is mostly supported by all major browsers.

Most advantage of html5 game development is, you will have a single code-base for all your platforms : windows, android, ios etc. The disadvantage is : it runs through a browser engine, which is not as fast as native implementation (read opengl) . So, if your aim is to build a NFS type game, definitely it is not the right choice.

One more reason html5 is my favourite is, you can construct basic interfaces, buttons, forms, dialogs, scrolling pages using css and the same platform you can use for your game animation. If you are using webgl, you have to take care for everything.

I wrote a small puzzle game in html5 and tested it across many devices. Android Jelly Bean has the exceptional rendering performance. Same device (samsung galaxy s2), when runs on JB, shows significant performance improvement, in comparison when it is running on android Ice Cream Sandwich. But anyhow, it was managed to run on ICS.

Nightmare started after Google released the KitKat. Prior to this release, everyone was so delighted.  The new WebView will be powered by chrome and we can see even more performance boost for html5 games. But it looks like, google is going backward with this new release of android. The html5 canvas for webview is not hardware accelerated anymore and shows extremely poor performance. This phenomenon is so widespread that it affects almost everyone who relies on html5 canvas rendering. Games stopped working, apps slowed down to their death.

There are several bugs raised. And there is no hope that they will be fixed in near future.
https://code.google.com/p/chromium/issues/detail?id=315111
https://code.google.com/p/chromium/issues/detail?id=239864
https://code.google.com/p/chromium/issues/detail?id=329108