The GWT Quake II port brings the 3d gaming experience of Quake II to the browser.
In the port, we use WebGL, the Canvas API, HTML 5 <audio> 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 WebSockets
* Made all resource loading calls asynchronous
* Created a GWT implementation of Java nio buffers based on WebGL arrays
* Implemented a simple file system emulation for saving games and preferences
I tried building and running the code but the latest chromium build for linux gives up loading the page half way through and complains of unresponsiveness.
I'm really interested in this because I see it potentially opening the PC market back up to compete with the consoles. Obviously the graphics power isn't there right now but instantly playable, quality, DRM free games delivered to every platform without the need for some lame plugin!? Now that's a fucking selling point.