Jake2

Last updated
Jake2
Developer(s) Bytonic Software
Stable release
0.9.5 / May 05, 2006
Operating system Cross-platform
Type Video game
License GPL
Website bytonic.de/html/jake2

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

Contents

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. [2] [3] [4] Jake2 has since been used by Sun as an example of Java Web Start capabilities for games distribution over the internet. [5]

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.

Last update to Jake2 by the original authors - Bytonic software - was on Jan 2015.

Since 2019 Jake2 was forked, [6] updated to the modern java and libraries versions and being actively developed.

Alternative uses

Possibly because its code is based on Java and thus is easy to modify, jake2 has been used for several experiments:

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. [13] In some hardware configurations, it is even better. [14] [15]

See also

Related Research Articles

Java applet Discontinued way to run small Java programs in browsers

Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a web page, and the applet was then executed within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, Sun's AppletViewer, or a stand-alone tool for testing applets.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

NASA WorldWind Open-source virtual globe

NASA WorldWind is an open-source virtual globe. It was first developed by NASA in 2003 for use on personal computers and then further developed in concert with the open source community since 2004. As of 2017, a web-based version of WorldWind is available online. An Android version is also available.

jMonkeyEngine

jMonkeyEngine (jME) is a game engine made especially for modern 3D development, as it uses shader technology extensively. 3D games can be written for both Android and desktop devices using this engine. jMonkeyEngine is written in Java and uses LWJGL as its default renderer. OpenGL 2 through OpenGL 4 is fully supported.

Java OpenGL

Java OpenGL (JOGL) is a wrapper library that allows OpenGL to be used in the Java programming language. It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Sun Microsystems Game Technology Group. Since 2010, it has been an independent open-source project under a BSD license. It is the reference implementation for Java Bindings for OpenGL (JSR-231).

In computing, Java Web Start was a framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser. Some key benefits of this technology included seamless version updating for globally distributed applications and greater control of memory allocation to the Java virtual machine.

<i>Quake II</i> engine Game engine

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II. It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.

<i>Cube 2: Sauerbraten</i>

Cube 2: Sauerbraten is a cross-platform, Quake-like first-person shooter that runs on Microsoft Windows, Linux, FreeBSD, OpenBSD, and Mac OS X using OpenGL and SDL. The game features single-player and multiplayer gameplay and contains an in-game level editor. The game engine is free and open-source software, under the zlib License, with commercial support available from the developer's business counterpart, Dot3 Labs. The game media is released under various non-free licenses. The aim of the project is not to produce the most features and highest-quality graphics possible, but rather to allow map-editing to be done in real-time within the game, while keeping the engine source code small and elegant.

GlueGen is a Java tool which automatically generates the Java and Java Native Interface (JNI) code needed to call C libraries from Java code. It reads in ANSI C header files and GlueGen configuration files, and emits C code. As JNI can be complex, Gluegen simplifies the process of binding Java to C native libraries.

Java OpenAL (JOAL) is one of several wrapper libraries that allows Java programmers to access OpenAL. This allows Java programmers to use 3D sound in applications. JOAL is one of the libraries developed by the Sun Microsystems Game Technology Group. JOAL is released under a BSD license, and is available for Microsoft Windows, Mac OS X, and Linux. Like its graphical counterpart, Java OpenGL (JOGL), JOAL was developed using the GlueGen utility, a program that generates Java bindings from C header files. The official site on java.net was deleted in March 2011. The JOAL project, however, is still alive in Jogamp.org JOAL.

Linux gaming refers to playing video games on the Linux operating system.

Java Binding for the OpenGL API is a JSR API specification for the Java Platform, Standard Edition which allows to use OpenGL on the Java. There is also Java Binding for the OpenGL ES API for the Java Platform, Micro Edition.

IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. IcedTea-Web is a free software implementation of Java Web Start and the Java web browser plugin. IcedTea-Sound is a collection of plugins for the Java sound subsystem, including the PulseAudio provider which used to be included with IcedTea. The Free Software Foundation recommends that all Java programmers use IcedTea as their development environment.

WebGL JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

Mono (software) Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

Three.js

Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub.

libGDX is a free and open-source game-development application framework written in the Java programming language with some C and C++ components for performance dependent code. It allows for the development of desktop and mobile games by using the same code base. It is cross-platform, supporting Windows, Linux, Mac OS X, Android, iOS, BlackBerry and web browsers with WebGL support.

Slash is a content management system, originally created for Slashdot, one of the oldest collaborative sites on the Internet. Slash is often incorrectly called Slashcode, which was the name of the project's web site.

OpenFL

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript., and may be published as standalone applications for several targets including iOS, Android, HTML5(choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.

References

  1. "Jake2". Jake2 development Team. Retrieved 2018-12-05.
  2. Zickner, Holger (2004-06-29). "Jake2 at JavaOne and WWDC". Jake2 development Team. Retrieved 2008-04-05.
  3. Russel, Kenneth (June 2004). "3D Application and Game Development With OpenGL" (PDF). Retrieved 2008-04-05.
  4. "3D Jake2 – Playtest". hexus.net. 2005-11-29. Retrieved 2009-07-18.
  5. "JDK 6u10: Jake2: Quake II in Java". Sun Microsystems . Retrieved 2009-07-18. The Jake2 applet example shows the future of game distribution over the Internet. Jake2 is a port of id Software's Quake II to the Java platform developed by Bytonic Software. (...). With the new Java Plug-In, it is now possible to deploy the game directly into the web page with full hardware acceleration and rock-solid reliability.
  6. "Jake2 on GitHub".
  7. "Play with your eyes". Joystiq. 2006-03-03. Retrieved 2009-07-18.
  8. J. David Smith; T.C. Nicholas Graham (2006). "Use of Eye Movements for Video Game Control" (PDF). Queen's University . Retrieved 2009-07-18.
  9. J. David Smith; T.C. Nicholas Graham (2006). "Proceedings of the 2006 ACM SIGCHI international conference on Advances in computer entertainment technology". Association for Computing Machinery . Retrieved 2009-07-18.
  10. Gonçalo Amador; Ricardo Alexandre; Abel Gomes (January 2009). "Re-engineering Jake2 to work on a grid" (PDF). Retrieved 2009-07-18.
  11. GridGain.com. "GridGain product overview" . Retrieved 2011-04-18.
  12. Google Code (2010-04-01). "Quake II GWT Port" . Retrieved 2013-02-13.
  13. "Q24j: Jake and Java-gaming Viability". O'Reilly Media. 2005-11-28. Retrieved 2009-07-18. This is a great show of 3D prowess. Things like this, as well as the Narya 2D open source engine from ThreeRings really are starting to at least show Java can serve as a first-class gaming platform. More than that, just having seen all the… *cough* horrible code in games before, having things like Java’s threading model, network and database support might really make it a BETTER platform for a lot of forthcoming games than C.
  14. "Benchmarks". Jake2 development Team. Retrieved 2008-04-05.
  15. Jake2 0.9.4 on Java 5.0 is 260/250 frame/s compared to 245 frame/s for the original C code, for Athlon XP 2400, GeForce 4 MX, Windows 2000, in windowed mode