Quake II engine
A screenshot of Quake II
|Developer(s)||id Software, (John Carmack, John Cash, and Brian Hook)|
|Initial release||December 9, 1997|
3.21 / December 22, 2001
|Written in||C, x86 assembly (software rendering)|
|Operating system||Windows, Mac OS 8, Linux|
|Platform||PC, PowerPC Macintosh, Nintendo 64, PlayStation, Amiga|
|License||GNU General Public License|
The Quake II engine, later dubbed id Tech 2, 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.
One of the engine's most notable features was out-of-the-box support for hardware-accelerated graphics, specifically OpenGL, along with the traditional software renderer. Another interesting feature was the subdivision of some of the components into dynamic-link libraries. This allowed both software and OpenGL renderers, which were selected by loading and unloading separate libraries. Libraries were also used for the game logic, for two reasons:
- id could release the source code to allow modifications while keeping the remainder of the engine proprietary.
- Since they were compiled for specific platforms, instead of an interpreter, they could run faster than Quake's solution, which was to run the game logic (QuakeC) in a limited interpreter.
The level format, as with previous id Software engines, used binary space partitioning. The level environments were lit using lightmaps, a method in which light data for each surface is precalculated (this time, via a radiosity method) and stored as an image, which is then used to determine the lighting intensity each 3D model should receive, but not its direction.
Games using the Quake II engine
Games using a proprietary license
- Quake II (1997) by id Software
- Heretic II (1998) by Raven Software
- SiN (1998) by Ritual Entertainment
- SiN: Wages of Sin (1999) by Ritual Entertainment
- Kingpin: Life of Crime (1999) by Xatrix Entertainment
- Soldier of Fortune (2000) by Raven Software
- Daikatana (2000) by Ion Storm
- Anachronox (2001) by Ion Storm
- CIA Operative: Solo Missions (2001) by Trainwreck Studios
Games based on the GPL source release
- UFO: Alien Invasion (2003) by UFO: Alien Invasion Team
- CodeRED: Alien Arena (2004) by COR Entertainment
- Gravity Bone (2008) by Blendo Games
- Warsow (2012) by Warsow Team
- Thirty Flights of Loving (2012) by Blendo Games
- Paintball 2 (2013) by Digital Paint
Jake2 is a Java port of the Quake II engine's GPL release. It has since been used by Sun as an example of Java Web Start capabilities for games distribution over the Internet. In 2006, it was used to experiment playing 3D games with eye tracking. The performance of Jake2 is on par with the original C version.
- John Carmack [@ID_AA_Carmack] (2016-02-25). "@viciarg it was retroactively named, don't put much importance on it" (Tweet) – via Twitter.
- Grant, Christopher (2011-08-09). "id Software looking to shorten dev cycles, stop building new engines for every game". Joystiq. AOL. Archived from the original on 2011-08-28.
- "Technology Licensing: id Tech 2". Archived from the original on November 8, 2009. Retrieved September 17, 2008.
- DiBona, Chris (2011-12-22). "Quake 2 Source Code Released Under the GPL". Slashdot. Retrieved 2016-09-04.
- "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.
- "Play with your eyes". Joystiq. 2006-03-03. Retrieved 2009-07-18.
- "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.
- Official Quake II engine website at the Wayback Machine (archived November 8, 2009)
- Official Quake II engine source code, as originally released at GitHub
- Official Quake II engine source code, version 3.21 at id Software
- Quake II engine code review by Fabien Sanglard