Quake II Engine on HTML5

Three Googlers present to everyone a port of Quake II Engine, but not on consoles but on JavaScript utilizing HTML5. The project officially named Quake II GWT Port, utilizes the latest in web technologies such as WebGL, Canvas API, HTML5 <audio> element, local storage API and WebSockets, making them run in modern browsers such as Chrome and Safari. Using Google Web Toolkit (GWT), they modified the Jake2 project, an opensource Java version of the Quake II engine and compiled to JavaScript using GWT.

[…]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


Currently, only the source code is available. In order to run the web application, the code must be manually built, though the developers said that the development was done in Mac and Linux, and building it on Windows is highly possible but not yet tested. The code is still on it’s infancy and only a test on what WebGL and HTML5 can do. Only select browsers support WebGL, and currently, only the latest builds can run the application such as Chrome and Firefox 4.02b. We’re having our hopes high for this project, and hope that it is the start of a new era in web development. Here’s a preview of it in action: