HTML5 Game Development Review 2013

HTML5 Game Development For Android Review

HTML5 is capable of producing very good applications. A new cross-platform game was created in HTML5 to be embedded in a webview. The game used CSS3, JavaScript and the C programming language.

HTML5 data attributes were used to store game information such as audio. CSS3 was used for animations. JavaScript was used for logic and audio.

Third-party libraries were not used and browser-specific prefixes were not used. C programming language held the game’s artificial intelligence. For testing, basic artificial intelligence was in JavaScript.

Major Issues:

CSS3 viewport sized typography is not supported in many browsers as of Summer 2013. Webkit mobile webviews have a 300ms delay for all click events. The delay was implemented for touch screens in order to distinguish between single taps and double taps or scrolling events.

Probable Solutions:

Most solutions disable scrolling and change the delay speed to 150ms. Google offers fast buttons for mobile web applications. For the game I was developing, scrolling was critical for displaying game information. 150ms delay was still noticeable and required use of extra code or an external library.

HTML5 Jitters:

As of Summer 2013, HTML5 is appropriate for cross-platform game development due to two issues. The first issue is that CSS3 is still a draft and some features such as viewport sized typography are not supported in many browsers. The second issue deals with the 300ms delay imposed by mobile webviews.

Image Missing
Ojambo.com HTML5 Mobile Webview Game Development

Android SDK:

The game was then converted to Java using the Android Software Development Kit (SDK). The HTML5 version took 2 days to create and the Android SDK version took 4 days. The layout took the most time in order to support all Android devices.

Game Porting:

The HTML5 game implemented a fallback for any issue encountered on older web browsers. The Android webview port worked well except for the 300ms delay. The Android SDK port required the Java Native Interface (JNI) in order to communicate with the artificial intelligence programmed in the C language.

Conclusion:

As of summer 2013, HTML5 game development is not ready for mobile webviews. Many HTML5 issues have workarounds except the click delay. The 300ms hampers HTML5 applications by making them appear slow.

HTML5 is currently not suitable for mobile applications that require instant click events. With some effort, HTML5 applications can be converted to Java using the Android SDK.

    Recommendations:

  1. Use HTML5 for prototyping.
  2. Try a current fix for the click event delay.
  3. Test on different devices before deciding on non-HTML5.