Quake II engine

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Quake II engine
A screenshot of Quake II
Developer(s)id Software (John Carmack, John Cash, and Brian Hook)
Final release
3.21 / December 22, 2001; 20 years ago (2001-12-22)
Written inC, Assembly (for software rendering & optimization)
PlatformWindows, Mac OS 8, Linux, PowerPC Macintosh, Amiga, Nintendo 64, Dreamcast, Xbox, PlayStation 2
PredecessorQuake engine
Successorid Tech 3, GoldSrc
LicenseGNU GPL-2.0-or-later
Websitewww.idsoftware.com/business/idtech2/ Edit this on Wikidata

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

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.[2] 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:[citation needed]

  • 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.[citation needed]

id Software released the source code on December 22, 2001 under the terms of the GNU General Public License v2.0 or later.[3]

Games using the Quake II engine[edit]

Games using a proprietary license[edit]

Games based on the GPL source release[edit]


  • 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.[4] In 2006, it was used to experiment playing 3D games with eye tracking.[5] The performance of Jake2 is on par with the original C version.[6]
  • vkQuake2 is the original Quake II engine with additional Vulkan renderer created by Krzysztof Kondrak, a programmer from Poland. It was originally released in December 2018 under the GPLv2.[7][8]

See also[edit]


  1. ^ Grant, Christopher (August 9, 2011). "id Software looking to shorten dev cycles, stop building new engines for every game". Joystiq. AOL. Archived from the original on August 28, 2011.
  2. ^ a b "Technology Licensing: id Tech 2". Archived from the original on November 8, 2009. Retrieved September 17, 2008.
  3. ^ DiBona, Chris (December 22, 2011). "Quake 2 Source Code Released Under the GPL". Slashdot. Retrieved September 4, 2016.
  4. ^ "JDK 6u10: Jake2: Quake II in Java". Sun Microsystems. Retrieved July 18, 2009. 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.
  5. ^ "Play with your eyes". Joystiq. March 3, 2006. Retrieved July 18, 2009.
  6. ^ "Q24j: Jake and Java-gaming Viability". O'Reilly Media. November 28, 2005. Retrieved July 18, 2009. 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.
  7. ^ Kondrak, Krzysztof (December 20, 2018). "Quake 2 Gets A Vulkan Renderer 21 Years After Release - Phoronix". phoronix.com. Retrieved December 20, 2018.
  8. ^ "vkQuake2 on GitHub".

External links[edit]