Google Ports Quake 2 to HTML 5

Google managed to port quake 2 using html 5 to play in supported browsers, which include Chrome and Safari.

In the port, we use WebGL, the Canvas API, HTML 5

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