Tuesday, April 6, 2010

GWT Quake in the browser

2010, the browser is a platform. Step by step, HTML5 arrives.

Three Googlers present their 20% project: a port of the Quake II engine to HTML5 using the Google Web Toolkit.
For more information, please visit Quake2-gwt-port.



In the projet page, you read:

In the port, we use WebGL, the Canvas API, HTML 5 elements, the local storage API, and WebSockets to demonstrate the possibilities of pure web applications in modern browsers such as Safari and Chrome.

The port is based on the Jake2 project, compiled to Javascript using the Google Web Toolkit (GWT). Jake 2 is a Java port of the original Quake II source code, which was open sourced by id software.

To make the Jake 2 code work with GWT, we have

  • Created a new WebGL based renderer
  • Ported the network layer for multiplayer games from UDP to the WebSocket API
  • Made all resource loading calls asynchronous
  • Created a GWT implementation of Java nio buffers based on WebGL arrays (to be ported to ECMAScript Typed Arrays)
  • Implemented a simple file system emulation for saving games and preferences using the Web Storage API
For more details about HTML5, see this presentation.

No comments :