Quake II engine

Quake II engine
Developer(s)id Software (John Carmack, John Cash, and Brian Hook)
Final release
3.21 / December 22, 2001; 22 years ago (2001-12-22)
Repositorygithub.com/id-Software/Quake-2
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, with consequences including:

  • 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.[3]
  • id could release the source code to allow modifications while keeping the remainder of the engine proprietary.[4]

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.[5][6]

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

  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. ^ Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". fabiensanglard.net. Retrieved July 29, 2023. Dynamic linking provided numerous advantages: [...] Full native speed for mods, no need to rely on QuakeC and Quake Vitual machine.
  4. ^ Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". fabiensanglard.net. Retrieved July 29, 2023. Dynamic linking provided numerous advantages: [...] More capabilities to mod makers, the entire game could be altered via game.dll.
  5. ^ Milne, Rory (March 1, 2019). "The making of Quake 2". pcgamer.com. Retrieved July 29, 2023. We also had light bouncing—simulated radiosity—so every corner of the world had some lighting.
  6. ^ Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 3/4". fabiensanglard.net. Retrieved July 29, 2023. Contrary to Quake1, Quake2 used radiosity and colored light during the precalculation.
  7. ^ DiBona, Chris (December 22, 2001). "Quake 2 Source Code Released Under the GPL". Slashdot. Retrieved September 4, 2016.
  8. ^ Foster-Johnson, Eric (January 24, 2002). "Quake 2 Sources Released". Computerworld. Retrieved July 15, 2024.