Game engine: id Tech 2 (Quake engine)
Overview
id Tech 2, widely known as the Quake engine, arrived in 1996 as John Carmack’s leap from the “2.5D” tricks of Doom to a fully 3D, polygonal renderer with authentic depth, verticality, and free look. Retroactively named by id Software, id Tech 2 underpinned Quake and, in an evolved form, Quake II, setting the template for modern first-person engines: true 3D worlds and models, a client–server network model, and a robust toolchain that empowered both commercial studios and a thriving mod scene.
World and rendering
The engine’s core rested on binary space partitioning (BSP) and a precomputed Potential Visibility Set (PVS), which let the renderer draw only what a player could plausibly see. Environments were built from convex “brushes” that compiled into a static BSP with submodels for moving doors and platforms. Quake introduced lightmaps baked offline to capture consistent, sharp shadows and ambient falloff, which the software rasterizer blended with base textures in an 8-bit palettized pipeline. While the original Quake shipped with a high-performance software renderer (including WinQuake for Windows), GLQuake soon followed, harnessing OpenGL hardware acceleration for higher resolutions, filtering, and smoother performance. Quake II pushed the same lineage forward with colored lighting, improved OpenGL paths, and a cleaner separation of rendering passes, while still leveraging BSP/PVS and lightmaps.
Networking and multiplayer
Quake established a dedicated client–server architecture with delta-compressed state updates and reliable messaging layered over UDP. The internet-focused QuakeWorld update added client-side prediction and other latency mitigations that transformed competitive play over dial-up into something responsive and skill-based. This networking model, authoritative server, predictive client, and efficient snapshot updates, became the baseline for multiplayer shooters for years. Built-in demo recording, spectators, and server browsers nurtured an early esports culture around deathmatch and Capture the Flag.
Gameplay code and tools
A key innovation was QuakeC, a game-specific scripting language compiled to bytecode (progs.dat) and executed in a sandboxed VM inside the engine. This allowed rapid iteration on weapons, AI, and rules without touching the low-level renderer or networking code, catalyzing total conversions and new genres. For level creation, id provided a compile toolchain, QBSP to build geometry, VIS to compute the PVS, and LIGHT to bake lightmaps, while the community popularized editors such as WorldCraft. In the Quake II evolution of id Tech 2, id replaced QuakeC with native C game logic built as loadable libraries, prioritizing performance and access to the full language toolset.
Audio, physics, and feel
The engine supported 3D positional audio and shipped with CD audio tracks for mood and pacing. Physics combined axis-aligned bounding boxes, precise collision against BSP geometry, and deterministic movement, yielding the crisp strafe-jumping and rocket-jumping that defined Quake’s high-skill movement meta. Dynamic lights overlaid on precomputed lightmaps gave weapons and effects satisfying visual punch without heavy runtime cost.
Licensing, mods, and legacy
id licensed id Tech 2 widely, powering Hexen II, Sin, Heretic II, Kingpin: Life of Crime, Soldier of Fortune, and others. Valve licensed the Quake codebase as the foundation for GoldSrc, which evolved into Half-Life and spawned landmark mods like Counter-Strike. id released the Quake source code under the GPL in 1999 (and Quake II’s in 2001), fueling decades of community engines and modern ports such as QuakeSpasm and DarkPlaces. The engine’s synthesis of BSP/PVS visibility, lightmapped static lighting augmented by dynamic effects, internet-ready netcode, and a flexible gameplay layer laid much of the groundwork for id Tech 3 and the broader 3D shooter boom that followed.
id Tech 2, widely known as the Quake engine, arrived in 1996 as John Carmack’s leap from the “2.5D” tricks of Doom to a fully 3D, polygonal renderer with authentic depth, verticality, and free look. Retroactively named by id Software, id Tech 2 underpinned Quake and, in an evolved form, Quake II, setting the template for modern first-person engines: true 3D worlds and models, a client–server network model, and a robust toolchain that empowered both commercial studios and a thriving mod scene.
World and rendering
The engine’s core rested on binary space partitioning (BSP) and a precomputed Potential Visibility Set (PVS), which let the renderer draw only what a player could plausibly see. Environments were built from convex “brushes” that compiled into a static BSP with submodels for moving doors and platforms. Quake introduced lightmaps baked offline to capture consistent, sharp shadows and ambient falloff, which the software rasterizer blended with base textures in an 8-bit palettized pipeline. While the original Quake shipped with a high-performance software renderer (including WinQuake for Windows), GLQuake soon followed, harnessing OpenGL hardware acceleration for higher resolutions, filtering, and smoother performance. Quake II pushed the same lineage forward with colored lighting, improved OpenGL paths, and a cleaner separation of rendering passes, while still leveraging BSP/PVS and lightmaps.
Networking and multiplayer
Quake established a dedicated client–server architecture with delta-compressed state updates and reliable messaging layered over UDP. The internet-focused QuakeWorld update added client-side prediction and other latency mitigations that transformed competitive play over dial-up into something responsive and skill-based. This networking model, authoritative server, predictive client, and efficient snapshot updates, became the baseline for multiplayer shooters for years. Built-in demo recording, spectators, and server browsers nurtured an early esports culture around deathmatch and Capture the Flag.
Gameplay code and tools
A key innovation was QuakeC, a game-specific scripting language compiled to bytecode (progs.dat) and executed in a sandboxed VM inside the engine. This allowed rapid iteration on weapons, AI, and rules without touching the low-level renderer or networking code, catalyzing total conversions and new genres. For level creation, id provided a compile toolchain, QBSP to build geometry, VIS to compute the PVS, and LIGHT to bake lightmaps, while the community popularized editors such as WorldCraft. In the Quake II evolution of id Tech 2, id replaced QuakeC with native C game logic built as loadable libraries, prioritizing performance and access to the full language toolset.
Audio, physics, and feel
The engine supported 3D positional audio and shipped with CD audio tracks for mood and pacing. Physics combined axis-aligned bounding boxes, precise collision against BSP geometry, and deterministic movement, yielding the crisp strafe-jumping and rocket-jumping that defined Quake’s high-skill movement meta. Dynamic lights overlaid on precomputed lightmaps gave weapons and effects satisfying visual punch without heavy runtime cost.
Licensing, mods, and legacy
id licensed id Tech 2 widely, powering Hexen II, Sin, Heretic II, Kingpin: Life of Crime, Soldier of Fortune, and others. Valve licensed the Quake codebase as the foundation for GoldSrc, which evolved into Half-Life and spawned landmark mods like Counter-Strike. id released the Quake source code under the GPL in 1999 (and Quake II’s in 2001), fueling decades of community engines and modern ports such as QuakeSpasm and DarkPlaces. The engine’s synthesis of BSP/PVS visibility, lightmapped static lighting augmented by dynamic effects, internet-ready netcode, and a flexible gameplay layer laid much of the groundwork for id Tech 3 and the broader 3D shooter boom that followed.
id Tech 2 (Quake engine)
A full 3D engine that powered Quake; introduced true 3D world representations, polygonal models, and a robust network/client-server architecture. Carmack implemented the engine's core renderer and network code.
- Publication Year: 1996
- Type: Game engine
- Language: en
- View all works by John Carmack on Amazon
Author: John Carmack

More about John Carmack
- Occup.: Scientist
- From: USA
- Other works:
- Commander Keen (series) (1990 Video game)
- Wolfenstein 3D (1992 Video game)
- Doom (1993 Video game)
- id Tech 1 (Doom engine) (1993 Game engine)
- Doom II: Hell on Earth (1994 Video game)
- Quake (1996 Video game)
- Quake II (1997 Video game)
- Doom source code release (1997 Software release)
- Quake source code release (1999 Software release)
- id Tech 3 (Quake III Arena engine) (1999 Game engine)
- Quake III Arena (1999 Video game)
- Doom 3 (2004 Video game)
- id Tech 4 (Doom 3 engine) (2004 Game engine)
- id Tech 5 (2011 Game engine)
- Rage (2011 Video game)