User:Nicolas.le-guen/Jake2

Jake2 is a Java port of the GPL release of the Quake II game engine.

History
The 0.9.1 version of Jake2 was shown by the JOGL team for JavaOne 2004, to present an example of Java-OpenGL interoperability. Jake2 has since been used by Sun as an example of Java Web Start capabilities for games distribution over the internet.

As of August 2012, development is still active in the LWJake2 fork, which removed JOGL/JOAL in favor of the LWJGL.

As of October 2012, a fork using the current version of Java OpenGL and Java OpenAL has been made available on a git repository. The game can be played online, launched as an Applet or Webstart. The new enhancements allows Jake2 to be run on mobile platforms as well, due to utilizing Jogl's OpenGL fixed function emulation via OpenGL ES2, or directly via OpenGL ES1. Joal enhancements further allows audio output on mobile devices. The fork has been updated in June 2013 for the latest Jogl release.

Alternative uses
Possibly because its code is based on Java and thus is easy to modify, jake2 has been used for several experiments:
 * In 2006, it was used to experiment playing 3D games with eye tracking.  Survey data suggested that the mouse was indeed easier to use.
 * In the beginning of 2009, people from the University of Beira Interior were able to reengineer Jake2 to work on GridGain, a grid implementation of MapReduce dual licensed under GPLv3 and proprietary licenses.
 * In 2010, the port was converted to HTML5 by a group of Google engineers to showcase the abilities of Google Web Toolkit.

Architecture
Jake2 is a full-Java application. It can use Java OpenGL / Java OpenAL or LWJGL for its internal Java low-level OpenGL library. Both single and multiplayer modes of Quake II are working, and it is possible to use it both as an installed application or by Java Web Start.

The performance of Jake2 is on par with the original C version. In some hardware configurations, it is even better.