My favorites | Sign in
Project Home Wiki Issues Source
Project Information
Members
Featured
Wiki pages

Quake II and the Quake logo are trademarks of id Software.

Quake II GWT Port

The Quake II GWT 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 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

News

  • We just got this working in Firefox 4 nightly builds, thanks to Barak and Benoit from Mozilla. See CompatibleBrowsers for instructions.
  • Some recent Chromium lockup and sound issues should be fixed now, too.

Links

Thanks

More background

Video

Powered by Google Project Hosting