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.
To make the Jake 2 code work with GWT, they 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
You can get more information about this port in Google Code’s Quake II GWT Port at http://code.google.com/p/quake2-gwt-port.