Quake engine

Ingame screenshot of the first-person shooter Nexuiz, running on a modified Quake engine

The Quake engine (id Tech 2), is the game engine developed by id Software to power their 1996 video game Quake. It featured true 3D real-time rendering. Since 1999, it has been licensed under the terms of GNU General Public License v2.0 or later.

After release, the Quake engine was immediately forked. Much of the engine remained in Quake II and Quake III Arena. The Quake engine, like the Doom engine, used binary space partitioning (BSP) to optimise the world rendering. The Quake engine also used Gouraud shading for moving objects, and a static lightmap for non-moving objects.

Historically, the Quake engine has been treated as a separate engine from its successor, the Quake II engine. Although the codebases for Quake and Quake II were separate GPL releases, both engines are now considered variants of id Tech 2.

History

The Quake engine was developed from 1995 for the video game Quake, released on June 22, 1996. John Carmack did most of the programming of the engine, with help from Michael Abrash in algorithms and assembly optimization. The Quake II engine (id Tech 2.5) was based on it.

John Romero initially conceived of Quake as an action game taking place in a fully 3D polygon world, inspired by Sega AM2's 3D fighting game Virtua Fighter. Quake was also intended to feature Virtua Fighter-influenced third-person melee combat. However, id Software considered it to be risky, and it would've taken longer to develop the engine. Because the project was taking too long, the third-person melee was eventually dropped.

Simplified process of reducing map complexity in Quake

Derivative engines

Family tree illustrating derivations of Quake engines

On December 21, 1999, John Carmack of id Software released the Quake engine source code on the Internet under the terms of GPL-2.0-or-later, allowing programmers to edit the engine and add new features. Programmers were soon releasing new versions of the engine on the net. Some of the most known engines are:

  • GoldSrc – The first engine to be created by Valve. It was used in the Half-Life series, and gave rise to the Source engine. The Xash3D projects, as well as the FreeHL and FreeCS ports, use Quake source code in part to recreate this engine, even with a wrapper for running the game.
  • DarkPlaces – A significantly modified engine used in several standalone games and Quake mods. Although the last stable release was on May 13, 2014, it has received numerous updates through its SVN repository since then. Its home page was hosted on Icculus.org until 2021, when the engine switched to a Git repository hosted on GitHub. The developers of Xonotic provide mirrors of DarkPlaces source code on various social coding platforms since the game is built on and distributed with the development version of the engine.
  • QuakeForge - One of the earlier major community ports.
  • NPRQuake - Fork of Quake featuring non-photorealistic rendering giving it a pencil drawn look.
  • Tenebrae - Custom Quake engine with real time lighting and bumpmapping among other features.
  • TyrQuake - A conservative focused source port.
  • Fisheye Quake - Custom Quake engine with fisheye distortion by the author of PanQuake.
    • Blinky - Fork of the fisheye view along with the TyrQuake software renderer.
  • WinQuake
    • Engoo (Derivative of WinQuake) - Graphically enhanced software renderer based port.
  • Fruitz of Dojo - Source port aimed at Mac OS X.
  • NehQuake - Custom engine for the Nehara mod.
  • GLQuake
    • FitzQuake (Derivative of GLQuake) - Seminal port whose SDL version was later forked into numerous others.
      • MarkV (Derivative of FitzQuake, successor to DirectQ) - Came in both GLQuake and WinQuake derived versions.
      • Quakespasm (Derivative of FitzQuake) – Commonly used source port.
        • Quakespasm-Spiked (Derivative of Quakespasm) - Limit-removing fork.
        • vkQuake – (Derivative of Quakespasm) – Uses Vulkan API for rendering programmed by id Software employee Axel Gneiting, released under the GPLv2.
        • Ironwail - (Derivative of Quakespasm) – An engine aiming at maximum performance.
  • FTEQW (Derivative of QuakeWorld) - A modern client for online multiplayer.
  • FuhQuake
    • ezQuake (Derivative of FuhQuake) - Multiplayer focused port often paired with the nQuake launcher.
    • JoeQuake (Derivative of FuhQuake) - A port popular with speedrunners.

Games using the Quake engine

Games using a proprietary license

Games based on the GPL source release

See also

References

Uses material from the Wikipedia article Quake engine, released under the CC BY-SA 4.0 license.