Skip to main content

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 (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.


Author: John Carmack

John Carmack John Carmack, a tech innovator behind iconic games like Doom and Quake, and a major influence in modern gaming technology.
More about John Carmack