Fact-checked by Grok 2 weeks ago

Quake engine

The Quake engine, developed by and released in 1996 alongside the game , represents a landmark in technology as one of the earliest engines to enable fully three-dimensional rendering using polygonal models and environments. Primarily programmed by with contributions from the id Software team, it succeeded the pseudo-3D by introducing true 3D geometry, allowing for sloped surfaces, vertical aiming, and complex level designs that were impossible in prior titles. Written in C and Assembly for optimization, the engine supported both software rendering for broader compatibility and hardware-accelerated rendering for enhanced performance on capable systems. Key technical innovations in the Quake engine included its (BSP) system for efficient map rendering and , dynamic lighting via lightmaps, and a client-server networking model that facilitated low-latency multiplayer , setting standards for competitive online gaming. These features enabled Quake's fast-paced modes and single-player campaigns, while the engine's modular design, including the QuakeC , empowered extensive by the community, leading to influential modifications like Team Fortress. The engine powered Quake's release on June 22, 1996, for , with ports to platforms like Windows, Mac OS, and Unix following shortly after. Widely licensed to third-party developers, the Quake engine influenced numerous titles in the late 1990s, such as , and served as the foundation for Valve's engine used in . Its enhancements in the 1997 sequel —later retroactively grouped under the id Tech 2 designation—added curved surfaces via patch meshes and improved shading, further solidifying its legacy in advancing 3D graphics pipelines. On December 21, 1999, id Software open-sourced the engine under the GNU General Public License (GPLv2 or later), fostering ongoing ports, enhancements, and derivatives that continue to support modern gameplay and archival efforts. A remastered version of was released in 2021 by , featuring engine enhancements for modern hardware. This release not only preserved the engine's educational value for programmers but also underscored id Software's commitment to sharing technology that shaped the FPS genre.

Overview

Initial Development and Release

The development of the Quake engine was led by at , beginning in late spring 1995 as the company sought to advance beyond the limitations of the . , lead programmer, focused on creating a true real-time rendering system capable of supporting complex polygonal environments and multiplayer gameplay. , a renowned graphics expert, joined the team in 1995 to contribute optimizations, particularly in assembly code to maximize performance on contemporary hardware. John Cash also programmed alongside , assisting with key aspects of the rendering pipeline. Originally, id Software's lead designer envisioned Quake as a third-person set in a fully polygonal world, drawing inspiration from Sega's 1993 arcade fighter to incorporate combat and dynamic animations. However, escalating development timelines and technical priorities led to a pivot toward a format, aligning more closely with id's expertise in fast-paced, networked s while leveraging the engine's capabilities for immersive level design. This shift allowed the team to prioritize engine stability and release feasibility over expansive new mechanics. The engine was implemented primarily in C for its portability and maintainability, with critical performance sections rewritten in x86 assembly to achieve high frame rates on mid-1990s PCs. It targeted Intel Pentium processors, which provided the necessary floating-point performance for 3D transformations, and was optimized for emerging 3D graphics accelerators like the 3dfx Voodoo card released later in 1996, enabling hardware-accelerated OpenGL rendering via the Glide API for smoother gameplay. Quake and its engine launched on June 22, 1996, as a title for and Windows platforms, distributed by GT Interactive and quickly establishing id Software's reputation for groundbreaking technology. The full retail version followed shortly after, supporting multiplayer over and early connections, which highlighted the engine's networked architecture from the outset. In 1999, Carmack released the engine's under the GPL, facilitating community modifications and long-term preservation.

Core Technical Features

The Quake engine pioneered true real-time rendering through the use of (BSP) trees, which efficiently divide game worlds into convex subspaces for optimized visibility determination and . These BSP trees, stored in .bsp files, organize level geometry into nodes and leaves, allowing the engine to traverse only relevant portions of the scene during rendering, a critical for handling complex environments on 1990s hardware. Surface lighting combined Gouraud shading with static lightmaps to achieve dynamic yet performant illumination. Gouraud shading interpolated lighting values across polygon vertices based on precomputed normals, providing smooth gradients on 3D models, while static lightmaps—precalculated texture overlays stored as brightness arrays—applied baked lighting to world surfaces without real-time computation overhead. The engine further enhanced texture quality via mipmapping, which scaled textures into multiple resolutions (full, half, quarter, and eighth size) based on viewing distance to reduce aliasing and improve performance, and supported alpha blending for transparency effects, where specific color indices in textures rendered as see-through elements. Multiplayer functionality relied on a client- architecture over for low-latency modes, enabling synchronized gameplay across networks by transmitting player actions and world updates in unreliable but fast packets. This -based protocol prioritized speed for real-time interaction, with the authoritative over game state to prevent cheating. The engine initially targeted but expanded to support Windows and natively, with official console ports adapting it for the and , demonstrating its portability across diverse hardware architectures.

Historical Development

Conception and Early Challenges

In 1994, pitched the initial concept for Quake to as a third-person action fighter, drawing inspiration from Japanese arcade games such as and , envisioning melee combat in a fully polygonal fantasy world. This ambitious idea aimed to leverage emerging technologies for dynamic, close-quarters battles, marking a departure from id's prior shooters. By 1995, the project shifted to a first-person perspective to mitigate development risks associated with the unproven third-person mechanics and to capitalize on 's established expertise in first-person shooters from Doom. This change aligned with the team's strengths in fast-paced, immersive gameplay, allowing focus on core innovations rather than experimental camera controls. A primary technical hurdle was achieving real-time without , as consumer PCs lacked dedicated 3D GPUs, necessitating a software-based approach to handle complex polygons and lighting. prioritized software rendering to ensure broad compatibility and performance, using techniques like (BSP) trees to efficiently sort and draw visible geometry. To address performance bottlenecks, joined the team in late 1995, integrating low-level assembly optimizations that boosted polygon throughput by refining span rasterization and perspective correction, enabling smoother rendering of dynamic scenes. His contributions complemented John Carmack's architectural work, fostering a collaborative dynamic where met hardware-level tuning to push mid-1990s PCs to their limits. The project faced significant delays, with early alpha builds showcased in 1995 highlighting basic 3D movement but revealing integration issues, extending into beta testing by early 1996 amid ongoing refinements to multiplayer and rendering stability. These setbacks stemmed from the complexity of transitioning from Doom's sector-based world to 's fully environment, compounded by team distractions like promotional duties. ultimately released in June 1996 as a pivotal milestone in gaming. The model, releasing the first episode for free, significantly boosted its popularity and contributed to its commercial success.)

Release and Industry Impact

The Quake engine debuted with the release of on June 22, 1996, published by GT Interactive Software for , marking a pivotal moment in development. The game achieved rapid commercial success, selling 373,000 retail copies in the United States during its first year, with total worldwide sales exceeding 1 million units.) This strong performance was driven by the engine's innovative full rendering, which allowed for seamless navigation through complex polygonal environments without relying on sprites, earning widespread critical acclaim as a technological breakthrough in immersive gaming. Quake's multiplayer capabilities further solidified its influence, popularizing as a standard genre in competitive gaming through Internet-enabled free-for-all battles and team-based variants. The engine's built-in console commands enabled players to customize gameplay on the fly—adjusting variables like gravity, weapon respawn rates, and server rules—fostering an immediate culture of experimentation that extended beyond official modes. This accessibility helped establish as a cornerstone of online multiplayer, influencing subsequent titles and tournaments. The engine's emphasis on fast-paced, network-optimized 3D combat also spurred competitors, notably inspiring the development of ' , which sought to build on Quake's foundations with enhanced scripting and visual fidelity. Economically, the Quake engine catalyzed the 3D graphics hardware market by demonstrating the need for dedicated accelerators to achieve smooth performance in textured, lit environments. Its optimized OpenGL support, particularly through the Glide API wrapper, propelled sales of 3dfx Interactive's Voodoo Graphics cards, which captured 80-85% of the 3D accelerator market share during their peak in the late 1990s, with vendors like Diamond Multimedia reporting surging demand tied directly to Quake's popularity. Culturally, Quake ignited a vibrant modding community almost immediately upon release, as players leveraged the engine's modular design to create total conversions and new modes; a prime example is Team Fortress, a 1996 mod by Robin Walker and John Cook that introduced class-based teamplay, popularizing tactical multiplayer mechanics and evolving into a standalone franchise that influenced genres like hero shooters. This modding legacy not only extended Quake's lifespan but also laid the groundwork for community-driven content creation in the industry. The engine served as the foundation for id Software's subsequent id Tech iterations, amplifying its long-term technical influence.

Technical Architecture

Rendering and Graphics Pipeline

The Quake engine's rendering begins with (BSP) tree construction, a preprocessing step that organizes the world geometry into a hierarchical structure. The algorithm recursively divides the space along the planes defined by polygons, creating a where each node represents a splitting plane and leaves contain convex subspaces bounded by these polygons. This subdivision ensures that all polygons within a given leaf face inward and do not mutually obscure one another, forming the basis for efficient spatial queries. During runtime, the BSP tree enables visibility culling by first determining the leaf containing the viewer's position, then traversing only the branches relevant to the view , rejecting entire subtrees if they lie outside the visible volume. The average traversal complexity is O(log n), where n represents the number of polygons, owing to the tree's balanced nature that halves the search space at each level. Following visibility determination, the software rasterization projects visible onto the 2D screen and fills them by , tailored for resolutions like 320x200 to achieve performance on period . The process starts by transforming coordinates to screen space and building a Global Edge Table that sorts edges by their topmost y-coordinate. Edge walking then proceeds scanline by scanline via an Active Edge Table, interpolating edge positions to define horizontal spans—segments of visible polygon extents across each row. These spans are filled by sampling and lightmaps, with applied to resolve depth overlaps and prevent overdraw. Optimization techniques, such as grouping spans by texture to reduce state changes, further enhance efficiency, allowing the to complex scenes at interactive frame rates without . Static lighting is handled through lightmap generation, performed offline during map compilation to pre-bake illumination into auxiliary textures. The samples a of points on each surface (spaced approximately every 16 texels) and computes incident light by tracing rays from nearby sources, approximating direct illumination and occlusions without full global solutions. Shadow approximations arise from these ray casts detecting blockers between lights and samples, with results summed, attenuated by distance, and bilinearly filtered for smooth edges before storage in low-resolution s. At runtime, these lightmaps modulate the base textures multiplicatively, enabling detailed shading with minimal per-frame cost, though limited to static configurations. Texture mapping employs affine transformations for rapid interpolation of UV coordinates across polygon spans, prioritizing speed over exact perspective fidelity. To mitigate the warping distortions inherent in affine methods—where texels stretch non-uniformly with depth—the engine implements hacks for partial perspective correction, processing 16-pixel-wide strips in parallel using hand-optimized assembly that approximates the 1/w division via incremental updates. This block-based approach, leveraging the Pentium's dual-issue pipeline, achieves near-correct results without per-pixel reciprocals, which were prohibitively slow in software. While effective for gameplay, it introduces subtle ripples on angled surfaces, a characteristic artifact of the era's performance constraints. Despite its innovations, the rendering pipeline exhibits key limitations suited to 1996 hardware. Dynamic shadows are absent, with all shadowing confined to precomputed lightmaps, preventing real-time cast from moving entities or lights. Reflections are not supported, relying instead on flat, unmirrored surfaces for simplicity. Texture resolution is typically limited to 256x256 pixels by hardware constraints, though up to 512x512 is possible depending on system memory and implementation, which constrains fine detail and necessitates careful artist optimization. These choices ensured broad compatibility but highlight the trade-offs in achieving fluid without dedicated graphics accelerators.

Physics, Networking, and Audio Systems

The Quake engine's physics system employs a simple yet effective model centered on bounding box , where entities are represented by axis-aligned bounding boxes (AABBs) for efficient spatial queries and intersection tests. All physics calculations occur server-side, as implemented in the sv_phys.c file, ensuring authoritative for multiplayer consistency. is applied as a constant downward of 800 units per second squared, while is preserved through basic Euler for updates, following the equation \mathbf{v} = \mathbf{v} + \mathbf{a} \cdot \Delta t, where \mathbf{v} is , \mathbf{a} is (including and ), and \Delta t is the time step. This approach handles player and movement with coefficients (typically 4-8 units) to simulate sliding and stopping, prioritizing responsiveness over complex rigid-body dynamics. The entity system integrates closely with physics, supporting up to 600 entities (edicts) per level, with practical limits around 600 to maintain performance on era hardware. enhances local responsiveness by simulating movement using the same physics rules, the player's position based on unacknowledged inputs before corrects discrepancies. This occurs in functions like CL_PredictMove, which replays buffered commands from the last validated state, adjusting for without altering . Networking in the Quake engine relies on for low-latency, , enabling client-server architecture with support for up to 16 players in multiplayer modes. and basic mitigate , where the client extrapolates positions using vectors from the last received , while the broadcasts authoritative updates at 10-20 Hz. No server-side lag compensation is implemented; instead, handles prediction errors by snapping the client to the corrected state upon receiving server validation. This design, detailed in the engine's client code, allows for smooth over dial-up connections typical of , with packet sizes optimized to under 1400 bytes to avoid fragmentation. The audio system serves as an early precursor to , providing positional 3D sound through distance-based and panning without in the base engine. Sounds are loaded as uncompressed files (8-bit mono at 11 kHz sample rate), with up to 128 simultaneous channels mixed in real-time via output in snd_dma.c. Positional audio calculates volume as V = \max(0, 1 - \frac{d}{r}), where d is the distance from the listener and r is the sound's reference radius (often 1000-2000 units), applying left-right panning based on angles relative to the player's view. Entity-attached sounds, such as footsteps or fire, update positions each frame for immersive spatialization, though limited by CPU to avoid exceeding 30-60 targets on 75 MHz processors.

Programming and Modding

QuakeC Scripting Language

QuakeC is a custom, C-like developed by specifically for the Quake engine to implement game logic, including entity behaviors, , and interactive elements like weapons and buttons. Introduced with in 1996, it allows programmers to define behaviors for non-core engine components without modifying the proprietary C code of the engine itself. QuakeC source files, typically with a .qc extension, are compiled into stored in a progs.dat file, which the engine loads and executes via an integrated at runtime. The language features a simplified syntax inspired by C, including functions, conditional statements, loops, and operators, but with restrictions to align with the engine's performance needs. Identifiers are case-sensitive and limited to 64 characters, starting with letters or underscores. Comments use // for single lines or /* */ for multi-lines. Control flow is sequential, with no support for advanced C features like pointers or dynamic memory allocation. QuakeC is strongly typed, prohibiting casts between types, and emphasizes efficiency for real-time execution. Data types in QuakeC are minimal: floats for scalar values (including booleans, where non-zero represents true), vectors as three-component floats enclosed in single quotes (e.g., '0 0 0' for positions or directions), strings in double quotes for text output (immutable and supporting only comparisons), and entities as references to objects with accessible fields like . or .. Global variables declared before end_sys_globals persist across level changes, while locals are scoped to functions. Functions return void, float, , string, or , with a maximum of eight parameters to limit stack usage. Central to QuakeC is the think() function, which encapsulates periodic behavior for entities such as monsters, , or projectiles; it is invoked by the when the entity's .nextthink field matches the current time. This ties scripting to the 's single-threaded frame loop, where all updates occur sequentially without concurrency. For example, AI loops for monsters use think() to handle movement, , and reactions via functions like th_pain( attacker, damage), which responds to events. The execution model ensures deterministic behavior but constrains complex simulations due to its synchronous nature. The compilation process involves the id-provided QuakeC compiler (qcc), which processes .qc files into progs.dat bytecode; early versions like QCCDOS.EXE supported environments, with later tools enhancing . Errors are limited to ten per compile, aborting beyond that, and globals are capped unless modified in source headers. Once loaded, the engine disassembles and runs the bytecode for game logic, isolating it from the C-based rendering and physics cores. Weapon implementation exemplifies QuakeC's utility, where functions spawn entities with initial properties and define their lifecycle. For the rocket launcher, a W_FireRocket() function creates a missile entity, sets its velocity based on aim direction (e.g., newmis.velocity = aim(self, 1000) * 1000), and schedules removal after five seconds via newmis.nextthink = time + 5; newmis.think = SUB_Remove. In the entity's think() loop, trajectory updates occur with code like self.origin += self.velocity * frametime, integrating velocity with frame delta time for smooth motion until impact, at which point touch() triggers explosion effects like particle emission and damage radius application. Audio cues, such as sound(self, CHAN_WEAPON, "weapons/r_lau.nc", 1, ATTN_NORM), enhance feedback during firing. This approach enables modders to tweak damage, speed, or homing without engine alterations. QuakeC's limitations stem from its design for constrained, environments: absence of object-oriented paradigms like classes or , no multi-threading (all logic runs in the main ), and rudimentary handling with minimal . Functions cannot define new types, and manipulation is basic, often requiring workarounds for complex logic. These constraints, while promoting simplicity, compare unfavorably to fuller languages like in expressiveness, yet they fostered a vibrant scene by balancing with engine stability.

Modding Tools and Community Extensions

The official modding tools released by for the Quake engine included the QuakeC compiler, known as qcc, which converted QuakeC into bytecode stored in the progs.dat file to define game behaviors and entities. Additionally, three (BSP) compilers—qbsp for generating the core geometry and portal data from files, vis for computing information to optimize rendering, and light for calculating dynamic and static —enabled creators to build custom levels compatible with the engine's architecture. These tools formed the foundation for creation, allowing modders to construct environments that integrated seamlessly with QuakeC-scripted logic. Community-developed tools expanded accessibility beyond the official suite, with early editors like The Forge (the original name for WorldCraft, later adapted as Valve Hammer Editor) providing intuitive interfaces for level design and asset placement in the mid-1990s. One of the earliest and most influential community mods was Threewave , released in October 1996 by David "Zoid" Kirsch, which introduced team-based objective gameplay using modified QuakeC scripts and custom maps to simulate flag capture mechanics. These practices fostered a robust ecosystem, resulting in thousands of user-created modifications hosted on platforms like ModDB, which in turn influenced the modding framework of derivative engines like used in . As of 2025, modern community tools like TrenchBroom have become standard for mapping, offering cross-platform support, real-time editing, and direct integration with source ports such as QuakeSpasm for testing compiled files without compatibility issues. TrenchBroom's workflow streamlines the traditional qbsp-vis-light pipeline through built-in compilers and entity browsers, making it easier to create mods that leverage QuakeC as the base scripting method while supporting enhanced features in open-source engine variants.

Licensing Evolution

Proprietary Licensing Period

The Quake engine, developed by and released in 1996, operated under a licensing model that restricted access to its while enabling select partnerships for commercial development. This approach allowed to maintain control over the technology while generating revenue through one-time licensing fees, without imposing royalties on sales. Early licensees included , which utilized a modified version of the engine for the 1997 fantasy shooter , published by itself. Similarly, Hipnotic Interactive (later rebranded as ) received a to develop Quake Mission Pack No. 1: Scourge of Armagon, the first official expansion released in 1997, also under 's publishing oversight. Another major licensee was Valve Software, which in 1997 licensed the engine to develop (1998), modifying it into the engine. These agreements exemplified id's selective strategy, prioritizing trusted collaborators capable of leveraging the engine's 3D rendering capabilities for new titles. Licensing terms provided licensees with access to the source code under restrictions that prohibited redistribution, unauthorized modifications beyond their own titles, or creation of derivative engines without id's explicit approval. Access was limited to approved platforms, primarily , with no provisions for broad porting without id's approval. , id Software's lead programmer, later reflected that such deals were initiated reluctantly in response to industry demand, often starting with intentionally high fees that were nonetheless accepted by partners. Restrictions ensured that modified versions could not be freely shared, safeguarding id's while fostering a controlled ecosystem of add-ons and full games. By 1999, as id Software shifted focus to the Quake III Arena engine, the proprietary constraints began to limit ongoing support for the original Quake technology amid growing demand for ports and enhancements. This prompted John Carmack to release the Quake engine's source code on December 21, 1999, under the GNU General Public License version 2.0 or later, transitioning it from closed-source exclusivity to open community maintenance. The decision aligned with Carmack's philosophy of sharing mature code to enable improvements without burdening id's resources, particularly as the company prioritized newer projects.

Open-Source GPL Release and Aftermath

On December 21, 1999, id Software released the source code for the Quake engine—covering WinQuake, GLQuake, QuakeWorld, and GLQuakeWorld—under the GNU General Public License version 2.0 or later (GPL-2.0-or-later). The release, announced by , was made available via id Software's , marking a shift from the engine's prior licensing to encourage community-driven development and education. This move allowed unrestricted modification and redistribution, provided derivatives adhered to the GPL's requirements. For teams preferring not to adhere to GPL terms, id Software offered a non-GPL for a flat fee of $10,000 per title. In the immediate aftermath, the open-source availability spurred rapid community activity, including forks that ported the engine to and implemented bug fixes. These early efforts expanded cross-platform compatibility beyond the original Windows and focus, enabling builds on systems and fostering broader accessibility for developers and players. The GPL licensing had profound legal implications, empowering projects by mandating that any modified versions remain , which catalyzed the creation of over 100 source ports by 2025. This proliferation preserved the engine's relevance on modern hardware while promoting innovations in rendering, input handling, and multiplayer features without restrictions. Community engagement surged further in 2012 when consolidated its open-source releases on , uploading the repository to facilitate and collaborative enhancements. The id-Software/Quake repository has since seen ongoing contributions, including optimizations and updates, sustaining the engine's ecosystem. Early commercial applications of the GPL-licensed code encountered compliance hurdles, as entities deriving from the engine were obligated to distribute their modifications' , complicating proprietary development models. These issues highlighted the tension between open-source freedoms and commercial interests, though many projects ultimately aligned with GPL terms to leverage the engine's foundation.

Derivative Engines

Commercial and Licensed Derivatives

Valve Software licensed the Quake engine from id Software in 1996 to develop GoldSrc, a heavily modified derivative that debuted with the 1998 release of Half-Life. GoldSrc introduced skeletal animation for more fluid character movements, replacing Quake's vertex-based system, and an advanced AI framework using tasks and schedules to enable more reactive and context-aware enemy behaviors. These enhancements allowed for complex NPC interactions, such as group flocking seen in enemies like the Houndeye, marking a significant evolution in non-player character logic for first-person shooters. GoldSrc maintained the core binary space partitioning (BSP) architecture from Quake for level geometry and visibility culling but optimized lighting storage and texture loading processes for better performance on contemporary hardware. While experiments with advanced lighting techniques, including early high dynamic range (HDR) concepts, appeared in community modifications, the base engine focused on radial and surface lightmaps without native HDR support. The Quake II engine, known colloquially as id Tech 2.5, represented id Software's 1997 evolution of the original codebase, licensed commercially to third-party developers for titles like and . It advanced rendering with colored lighting, per-surface lightmaps, and improved texture compression, enabling more detailed environments without native curved surface support via patches—that feature emerged later in 3. These updates prioritized multiplayer stability and hardware acceleration via , influencing a wave of licensed games in the late 1990s. Other notable licensed derivatives included adaptations by Raven Software for Hexen II (1997), which integrated the Quake engine with fantasy RPG elements and enhanced scripting for quest-driven gameplay.

Community-Driven Forks and Modern Ports

One prominent community-driven fork is DarkPlaces, initiated in 2000 by developer Forest "LordHavoc" Hale as a modification to enhance the original Quake engine's capabilities. This project, which underwent significant revisions following the 1999 GPL release of the Quake source code, introduces advanced rendering features such as real-time dynamic lighting, bumpmapping, an OpenGL shader system, bloom effects, and model interpolation to improve visual fidelity while maintaining compatibility with existing mods. DarkPlaces emphasizes performance optimization and modding extensibility, with its last major stable release in 2014 followed by ongoing GitHub updates incorporating bug fixes and refinements as recent as 2021, reflecting continued community maintenance into 2025. Another influential fork is Tenebrae, released in 2002, which focuses on advanced lighting effects to elevate the engine's graphical realism. Developed as a source modification, it integrates stencil shadows for realistic occlusion and per-pixel lighting calculations, predating similar techniques in later id Tech engines like id Tech 4. This fork prioritizes hardware-accelerated enhancements on GPUs of the era, enabling dynamic shadow casting and improved texture interactions without altering core gameplay mechanics. Though development ceased after version 1.04, Tenebrae's innovations in real-time lighting remain a benchmark for community efforts in visual upgrades. FTEQW, a primarily aimed at enhancing multiplayer functionality, builds on the QuakeWorld codebase to support hybrid single-player and online modes. Key features include networking, voice-over-IP (VOIP) integration, splitscreen multiplayer, and advanced tools like and skeletal support, allowing seamless between NetQuake and QuakeWorld clients. Originating from early efforts by developer "," FTEQW has evolved through community contributions to handle modern networking demands while preserving the engine's limit-breaking potential for custom content. In the realm of modern ports, vkQuake represents a 2016 initiative by id Tech engineer Axel Gneiting to adapt the engine for contemporary graphics APIs. This Vulkan-based renderer, derived from QuakeSpasm, replaces with low-overhead Vulkan calls to enable efficient rendering on modern GPUs, supporting resolutions up to , (HDR) output, and frame rates exceeding the original 72 Hz cap without physics disruptions. Multithreaded loading and rendering further boost performance, making it suitable for high-end displays and mods requiring enhanced visual effects like dynamic shadows and scriptable particles. The project remains actively maintained on , with cross-platform binaries for Windows, , and macOS updated through 2025. Yamagi Quake II, emerging in the , serves as a refined of the variant, prioritizing stability and fidelity to the original experience through extensive bug fixes. Over 2,000 issues from the last official release have been addressed, including 64-bit compatibility, code audits for edge cases, and support for external music playback, ensuring smooth operation on current operating systems without altering gameplay or visuals. This non-profit effort by developer Yamagi Burmeister emphasizes a "vanilla-plus" approach, with dedicated server improvements for multiplayer reliability. QuakeSpasm, developed throughout the as a cross-platform of the FitzQuake lineage, enhances input handling and portability for diverse devices. Built with SDL2 for superior mouse and controller support—including touch controls for mobile and console adaptations—it incorporates 64-bit architecture, improved sound drivers, and custom music integration to run fluidly on modern hardware. This port's focus on bug resolution and extended support has made it a foundational base for further derivatives, with releases continuing into the . As of 2025, community ports continue to integrate cutting-edge APIs for console ecosystems, such as Vulkan and Metal renderers tailored for platforms like the Nintendo Switch. Projects like nxquake2 extend Yamagi Quake II to Switch hardware with optimized controls and performance tweaks, while Metal adaptations leverage Apple Silicon for seamless macOS and iOS execution, ensuring the engine's accessibility across emerging devices. These efforts stem from the GPL-licensed source, enabling grassroots innovation without commercial oversight.

Games Utilizing the Engine

Proprietary and Original Titles

The Quake engine, developed by , first powered the original in 1996, a groundbreaking that immersed players in an horror-themed world of Lovecraftian dimensions and biomechanical enemies. Released on June 22, 1996, for , the game featured fast-paced multiplayer deathmatches and a single-player campaign emphasizing of shadowy, trap-filled castles and ruins, establishing the engine's reputation for real-time 3D rendering and networked gameplay. Its proprietary binary distribution allowed to maintain control over the technology while enabling high-fidelity visuals like mipmapped textures and lightmaps without relying on modifications. Two official mission packs expanded Quake's universe under proprietary licensing in 1997, both utilizing the core engine directly. Quake Mission Pack No. 1: Scourge of Armagon, developed by Hipnotic Interactive and released on March 5, 1997, introduced 15 new single-player levels across three episodes, new weapons like the , and enemies such as the and gladiator, set in a steampunk-infused of . Similarly, Quake Mission Pack No. 2: Dissolution of Eternity, created by and launched on July 31, 1997, added another 15 levels, eight new monsters including the and phantom assassin, and power-ups like the laser cannon, weaving a story of ancient cults and temporal rifts while preserving the engine's binary integrity for seamless integration with the base game. Raven Software's , published by in 1997, adapted the Quake engine for a fantasy RPG-shooter hybrid, emphasizing hub-based world progression and class-based character selection among four archetypes: , , necromancer, and assassin. Released on October 31, 1997, the game transported players to the medieval realm of , battling serpentine gods through puzzle-laden levels and inventory-driven combat, with the engine's modifications supporting enhanced particle effects and inventory systems without altering the proprietary source. Later proprietary titles continued leveraging the original Quake engine's binary for niche PC gaming experiences into the 2000s. Laser Arena, developed by Trainwreck Studios and released in September 2000, offered a non-violent focused on laser tag-style multiplayer matches, featuring 20 maps, power-ups like shields and speed boosts, and unique mechanics such as tag-based respawns; as a budget title released after the 1999 open-sourcing, it used a heavily modified version of the engine based on licensed binaries for responsive gameplay. These proprietary titles shared core traits of relying on id Software's closed-source binaries for distribution during the pre-open-source era, eschewing community source modifications in favor of licensed direct implementation, and targeting PC gamers during the 1990s with fast, atmospheric shooters that prioritized multiplayer and single-player intensity over extensive narrative depth.

Open-Source Derivative Games

The release of the Quake engine source code under the GNU General Public License in 1999 enabled the development of numerous open-source games that directly utilize or extend the engine's codebase, fostering a vibrant community of free and low-cost titles often featuring modern enhancements like Vulkan rendering support. These derivative games typically emphasize multiplayer arena combat or single-player campaigns, leveraging Quake's foundational 3D rendering and physics while incorporating community-driven improvements for contemporary hardware. Nexuiz, developed by Alientrap and released in 2005, is a prominent example of an open-source built on the DarkPlaces engine, a heavily modified GPL-licensed of the original Quake engine. The game features fast-paced multiplayer matches across futuristic maps, with weapons like plasma rifles and rocket launchers, and was distributed freely under the GPL to encourage modding and contributions. Due to internal development disputes, Nexuiz's codebase was ed in 2011 to create , which continues active development as a free multiplayer with enhanced graphics options, including support via its DarkPlaces integration. Both titles exemplify community-driven evolution, offering low-barrier entry for players and developers through open-source distribution. FreeCS, a 2017 project, reimplements 1.5 mechanics as a free-software multiplayer using QuakeC scripting on the FTE QuakeWorld engine, a GPL-derived port of the codebase. It supports team-based objective modes like bomb defusal and hostage rescue, relying on community-provided assets from to run on modern systems without proprietary dependencies. This clone highlights the engine's flexibility for genre adaptations, with ongoing updates maintaining compatibility across platforms. More recent indie efforts include Wrath: Aeon of Ruin by KillPixel Games and , published by ; the full released in 2024 after early access in 2019, using a modified DarkPlaces source port of the Quake engine for a boomer shooter homage to classics, arming players with nine weapons and 10 to navigate gothic crypts and ruins in a tale of outlawed , providing authentic retro performance on modern hardware. Similarly, LibreQuake serves as an open-source asset pack and framework for the Quake engine, providing copyright-free models, textures, and levels to enable fully libre FPS experiences compatible with mods. Launched in early development stages in 2019 and reaching beta in 2024, with a full release in November 2025, it supports via compatible s, promoting accessibility for modders seeking non-proprietary content. These games underscore the GPL's role in sustaining Quake's legacy through free distribution and iterative enhancements, often prioritizing community collaboration over commercial constraints.

References

  1. [1]
    id Tech 2 - Valve Developer Community
    id Tech 2, also known as the Quake engine, is an engine created by Wikipedia icon id Software for Quake, and later modified with new features & improvements ...Missing: 1 | Show results with:1
  2. [2]
    The History of the id Tech Engine - superjump
    Jan 12, 2023 · The Quake engine received a fresh coat of paint and reappeared 18 months later in id Software's Quake II. It was the additional refinements ...
  3. [3]
    GitHub - id-Software/Quake: Quake GPL Source Release
    ### Summary of Quake Engine from README
  4. [4]
    Quake - Valve Developer Community
    Apr 11, 2025 · Quake is a 3D first-person shooter released in 1996 by id Software. Its engine was licensed out to many companies, including Valve.
  5. [5]
    The Making of Quake, Part 1: We are the Wind | Shacknews
    Jun 4, 2021 · In 1995, Carmack wooed Abrash to id Software to assist on writing Quake and id Tech 2. Abrash, long intrigued by the prospect of writing a true ...
  6. [6]
    Quake turns 25: John Romero looks back on the legendary FPS that ...
    Aug 19, 2021 · With Quake's underlying tech finally in place, Romero was ready to move on from what he viewed as R&D into full development and to create a game ...<|separator|>
  7. [7]
    Why DOOM Creator John Romero Left id Software After Quake - CBR
    Aug 26, 2021 · Romero envisioned the game as a fully 3D third-person action title utilizing Virtua Fighter-inspired melee combat. ... Development on Quake was ...
  8. [8]
    The story of the 3dfx Voodoo1 - Fabien Sanglard's Website
    Apr 4, 2019 · The 3dfx Voodoo1, based on the SST1 architecture, was a powerful 3D card that dominated the Quake world, using two non-programmable ASICs and ...
  9. [9]
    Quake on Steam
    Rating 5.0 (9,425) Developer. id Software, Nightdive Studios, MachineGames ; Publisher. Bethesda Softworks ; Released. Jun 22, 1996.
  10. [10]
  11. [11]
    Quake Specs v3.1 - Games
    The Quake specifications are somewhat tolerated by id Software, but they are not a right. ... BSP tree rendering must stop. The bounding box of the node ...Missing: networking | Show results with:networking
  12. [12]
    Unofficial Quake Network Protocol Specs v1.01b - Games
    The data on this document was gathered from mail/postings by John Cash of idsoftware and studying data from the wires. QUAKE uses UDP only -- meaning packets ...Missing: 1999 | Show results with:1999
  13. [13]
    Quake's 3-D Engine: The Big Picture
    For the programmers, the goal was to set new standards for 3-D and multiplayer--especially Internet--technology for the DOOM genre, and Quake did just that.Missing: contributions | Show results with:contributions
  14. [14]
    Michael Abrash's Graphics Programming Black Book Special Edition
    How Fast Is Fast? Further Optimizations · Chapter 38—The Polygon Primeval · Drawing Polygons Efficiently and Quickly · Filled Polygons · Which Side Is Inside?
  15. [15]
    Quake for Series - Sales, Wiki, Release Dates, Review ... - VGChartz
    Summary · Quake - 1.1 million+ · Quake II - 1 million+ · Quake III Arena - 1 million · Quake 4 · Enemy Territory: Quake Wars · Quake Champions - free-to-play ...
  16. [16]
    None
    ### Academic Insights on Quake Modding, Deathmatch, and Team Fortress
  17. [17]
    Headshot: A visual history of first-person shooters - Ars Technica
    Feb 14, 2016 · Quake was the first shooter widely played over the Internet and in tournaments—although I should note that “widely played” is a relative term ...
  18. [18]
    A History of id Tech - IGN
    Apr 28, 2011 · John Carmack has made a commitment to release all the id Tech engines as open source; engine 4, 2004's Doom 3 engine, is the most recent engine ...
  19. [19]
    History of the Modern Graphics Processor, Part 2 - TechSpot
    Dec 4, 2020 · It was estimated that 3Dfx accounted for 80-85% of the 3D accelerator market during the heyday of Voodoo's reign. ... market, 3Dfx introduced the ...<|separator|>
  20. [20]
    Quake Renaissance: a short history of 25 years of Quake modding
    Aug 23, 2021 · Popular multiplayer mods set standards across the industry: Team Fortress popularized character classes, Threewave CTF popularized capture the ...
  21. [21]
    Quake Team Fortress - Valve Developer Community
    Mar 24, 2025 · A free mod for Quake that served as the basis for Team Fortress Classic, and later its sequel Team Fortress 2.<|control11|><|separator|>
  22. [22]
    Inside Quake: Visible-Surface Determination
    The simplest VSD solution, which I in fact demonstrated last time, is to simply walk the tree back-to-front, clip each polygon to the frustum, and draw it if ...
  23. [23]
    Software Renderer - Quake 2 Source Code Review
    Sep 16, 2011 · Later when walking an Active Edge Table to generate a line of the screen, it allows to see very fast which polygon is in front of all the ...Missing: filling | Show results with:filling
  24. [24]
    Quake's Lighting Model: Surface Caching - Blue's News
    Gouraud shading involves generating a lighting value at each polygon vertex by applying all relevant world lighting, linearly interpolating between lighting ...Missing: BSP trees lightmaps id
  25. [25]
    Quake Source Code Review
    ### Summary of Quake 1 Software Rendering Pipeline
  26. [26]
    Making Textures For Quake - celephais.net
    » If GLQuake detects 3dfx hardware (any Voodoo card, basically) it will impose a maximum height and width of 256 to all loaded textures. Larger textures will be ...Missing: engine | Show results with:engine
  27. [27]
    [PDF] Quake Engine Analysis
    The source code was analyzed at id Software's official. GitHub page[6]. I. Time and the Game Loop. In designing the architecture of a game engine, defining.Missing: momentum | Show results with:momentum
  28. [28]
    Quake Engine code review : Prediction (3/4)
    Mar 9, 2009 · The goal of the prediction is to beat latency, namely compensate the delay it takes for the medium to transmit informations.
  29. [29]
    [PDF] QuakeC Reference Manual - cs.wisc.edu
    Feb 4, 1998 · All the information contained in this document is related to QuakeC, a language developed by and for id. Software. Quake, QuakeC, and the id ...
  30. [30]
    id-Software/quake-rerelease-qc - GitHub
    This repository contains the QuakeC source code for the five codebases that were used in the 2021 re-release of Quake: the base campaign, Scourge of Armagon ...
  31. [31]
    QBSP - Quake Wiki
    QBSP is the first stage of map compiling. It is the process that reads the map file and generates the bsp file, and in doing so calculates all of the geometry ...
  32. [32]
    WorldCraft | Quake Wiki - Fandom
    WorldCraft only legally permits usage for 30 days, after which the user must register or stop using the program. WorldCraft was originally known as The Forge.
  33. [33]
    ThreeWave CTF - Quake Terminus
    On Oct 2nd 1996, David "Zoid" Kirsch sets up the first Threewave Capture The Flag server. CTF (in various forms) went on to become the most popular Quake mod ...
  34. [34]
    DLL Hijacking & Vulkan Hook Tutorial - Quake 2 Hack
    Sep 16, 2019 · This is the DLL containing all the Vulkan logic for vkQuake2. This will create a new text document called dump containing the output of the command we just ran.Missing: pre- GPL
  35. [35]
    Mods - Quake - ModDB
    This is dedicated to documentation of the Quake3_Quake1 mod which makes DarkPlaces/Zircon engine capabilities available for Quake 1 single player/coop... Zircon ...Addons · Quake 1.5 · Quake 1.5 HD Single Player · Quake: Annihilation
  36. [36]
    Everything changed with Quake - Medium
    Jul 9, 2021 · The Quake Engine, known retrospectively as “id Tech 2", incorporated Carmack's personal innovations from the Doom Engine (id Tech 1), and ...<|control11|><|separator|>
  37. [37]
    TrenchBroom 2025.3 Reference Manual
    TrenchBroom is a level editing program for brush-based game engines such as Quake, Quake 2, and Hexen 2. TrenchBroom is easy to use and provides many simple and ...
  38. [38]
    TrenchBroom
    TrenchBroom is a free (GPLv3+), cross platform level editor for Quake-engine based games. It supports Quake, Quake 2, and Hexen 2 and runs on Windows (10 ...Missing: 2025 | Show results with:2025
  39. [39]
    Hexen II - GOG.com
    In stock Rating 4.2 (104) Hexen II is a dark fantasy first-person shooter and RPG developed by Raven Software and published by id Software in 1997. ... It runs on the Quake 1 engine so ...<|separator|>
  40. [40]
    Expansion Pack One: Thunderbolt in a Bottle - Game Sense
    Jul 2, 2025 · id licensed out two missions packs for Quake from two separate developers, released two weeks apart in March of 1997. Both contained new weapons ...
  41. [41]
    id - "Let them eat Quake" | Eurogamer.net
    Oct 21, 2000 · The licensing terms for the engines that have powered id Software's Quake series of games have largely been the realm of conjecture and hear ...Missing: proprietary | Show results with:proprietary<|separator|>
  42. [42]
    Carmack: I never wanted to license out our tech - MCV/DEVELOP
    Jun 9, 2011 · The co-founder of id Software has made an extraordinary admission that he never wanted the Quake creators to be in the engine licensing business ...
  43. [43]
    Slashdot | Interviews | John Carmack Answers - Angelfire
    Oct 15, 2000 · I was trying hard to get an article together about game code licensing to go out with the interview questions, but I just didn't make it in time ...
  44. [44]
    Quake - Frag-Net
    Action Game of the Year · Special Award - Quake Engine • Computer Gaming World #155 - Jun 1997. Elliot Chin on Addons • Computer Gaming World #157 - Aug 1997
  45. [45]
    Quake (Source Code) : id Software, Inc. - Internet Archive
    Aug 14, 2017 · This is the complete source code for winquake, glquake, quakeworld, and glquakeworld. The projects have been tested with visual C++ 6.0.
  46. [46]
    Quake Source Released - Doomworld
    Dec 22, 1999 · This is the complete source code for winquake, glquake, quakeworld, and glquakeworld. The projects have been tested with visual C++ 6.0, but ...
  47. [47]
    Quake Engines and Sourceports
    Aug 20, 2022 · This is list of github repositories of idTech engines, it's derivatives and sourceports. It also includes repos of some of the games and mods based on Quake ...
  48. [48]
    id Software Consolidates Open-Source Code - Phoronix
    Jan 31, 2012 · Hosted from this GitHub area is now the source-code for Wolfenstein 3D for Apple iOS, DOOM Classic for iOS, the original Quake GPL, the original ...
  49. [49]
    Ioquake3 GPL license issues
    Feb 23, 2018 · It was a dll/so that the engine binary was modified to load. The engine binary was modified directly so there was no modified engine source code ...Does game code written from scratch require to be GPL'd? - devAnticheat software that violates the GPL - ioquake community forumsMore results from discourse.ioquake.orgMissing: commercial compliance
  50. [50]
    licensing - How does one escape the GPL?
    Aug 19, 2012 · You have two options and two options only: play by the rules the owner of the code stipulates with his license(s) and/or fees, or go use something else.Missing: compliance | Show results with:compliance
  51. [51]
    GoldSrc - Valve Developer Community
    Oct 26, 2025 · GoldSrc (also known as GoldSource, and formerly just the Half-Life Engine) is a 3D video game engine created by Valve in 1996.
  52. [52]
    GoldSrc – Sourcemodding
    The Goldsrc engine is developed from the codebase of the Quake engine, with only approximately 25% of the original code remaining.Missing: derivative | Show results with:derivative
  53. [53]
    BSP (GoldSrc) - Valve Developer Community
    Mar 1, 2025 · This file spec uses constructs from the C programming language to describe the different data structures used in the BSP file format.Missing: HDR | Show results with:HDR
  54. [54]
    Wiki: The Complete Guide to Lighting - TWHL
    Feb 14, 2024 · This tutorial describes everything you could ever want to know about lighting in Goldsrc. It goes through various types of lighting, general usage, nifty ...
  55. [55]
    id Tech 2 engine - ModDB
    Oct 31, 2025 · Formerly the QUAKE 2 Engine, with pioneering innovation in 3D environments, a few of id Tech 2's most notable features were out-of-the-box support for OpenGL ...
  56. [56]
    How many games can be considered IDTech? - Doomworld
    Sep 26, 2023 · ... Id Software but were made with an engine based on the Quake 1 or 2 engines, or even games made in the Doom engine? Just curious on how it's ...Why does Quake 2 look like crap compared to half-life in spite of ...according to wikipedia doom64 used IDtech1? - DoomworldMore results from www.doomworld.com
  57. [57]
    LadyHavoc's DarkPlaces Quake Modification - icculus.org
    Status update: DarkPlaces engine is alive and well. We're working on a new release with the help of an additional developer. In other news, we now ...Missing: fork | Show results with:fork
  58. [58]
  59. [59]
    Download - LadyHavoc's DarkPlaces Quake Modification
    Beta releases, old versions, and miscellaneous mods I made are in the files directory, this page only lists current versions of darkplaces and some utilities.Missing: fork | Show results with:fork
  60. [60]
    Tenebrae - SourceForge
    Tenebrae is a modification of the quake source that adds stencil shadows and per pixel lights to quake. Stencil shadows allow for realistic shadow effects ...
  61. [61]
    FTE - That magical Quake/QuakeWorld engine
    Mar 1, 2022 · Core Features · Multiple Video Presets, for all tastes. · Splitscreen · IPv6 · VOIP · Hybrid NQ/QW capabilities (NQ+QW clients fragging each other!)Missing: fork | Show results with:fork
  62. [62]
    Novum/vkQuake: Vulkan Quake port based on QuakeSpasm - GitHub
    vkQuake is a port of id Software's Quake using Vulkan instead of OpenGL for rendering. It is based on the popular QuakeSpasm and QuakeSpasm-Spiked ports.Issues · Discussions · Pull requests 4
  63. [63]
    Yamagi Quake II
    Yamagi Quake II is an alternative client for id Softwares Quake II. Our goal is to provide the best Quake II experience possible.
  64. [64]
    The Yamagi Quake II client - GitHub
    Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems. This code is ...
  65. [65]
  66. [66]
    QuakeSpasm -- A modern, cross-platform Quake game engine ...
    QuakeSpasm is a modern cross-platform Quake engine based on FitzQuake. It includes support for 64 bit CPUs and custom music playback, a new sound driver, some ...
  67. [67]
    fgsfdsfgs/nxquake2: Nintendo Switch port of the Yamagi Quake II client
    Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems. Yamagi Quake II ...
  68. [68]
    HeXen II on Steam
    Rating 3.5 (542) · 14-day returnsHexen II is a dark fantasy first-person shooter and RPG developed by Raven Software and published by id Software in 1997. ... Experience the Quake Engine's ...
  69. [69]
    Laser Arena - PCGamingWiki PCGW - bugs, fixes, crashes, mods ...
    Sep 4, 2025 · Laser Arena is an arena deathmatch FPS game developed by Trainwreck Studios, using the Quake engine, and released in September 2000.
  70. [70]
    WRATH: Aeon of Ruin on Steam
    Rating 3.5 (1,830) · 14-day returnsBlast, slice and shred through your enemies in this hardcore FPS inspired by the icons of the '90s, powered by the legendary Quake-1 Tech.
  71. [71]
    Nexuiz Classic - Alientrap
    Download Nexuiz Classic 2.5.2 on Sourceforge. Nexuiz was originally developed by Lee Vermeulen and Ashley Hale (Ladyhavoc), who started Alientrap in the ...
  72. [72]
    Nexuiz download | SourceForge.net
    Rating 4.7 (15) · Free · MultimediaDownload Nexuiz for free. Nexuiz is a multiplayer first-person shooter. It is distributed under the GNU General Public License (GPLv2).
  73. [73]
    Xonotic: The Free and Fast Arena Shooter - Xonotic
    Xonotic is an addictive arena-style first person shooter with crisp ... Classic Nexuiz maps are also supported, including those converted from Quake 3!Download Xonotic 0.8.6 · Team Xonotic · Xonotic Balance Council · Media
  74. [74]
    FreeCS: Aiming For An Open-Source Counter-Strike Implementation
    Nov 10, 2017 · FreeCS is re-implementing the original Counter-Strike using the FTE QuakeWorld engine. As with other open-source re-implementation projects ...Missing: Quake | Show results with:Quake
  75. [75]
    eukara/freecs: Clean-room Counter-Strike 1.5 in QuakeC ... - GitHub
    To run it, all you need is FTEQW, Rad-Therapy, and the latest release .pk3 file, which you save into Half-Life/valve/ and Half-Life/cstrike/ respectively.Missing: 2017 DarkPlaces
  76. [76]
    Brazilian Drug Dealer 3: I Opened a Portal to Hell in the Favela ...
    Rating 5.0 (2,303) · 14-day returnsA Brazilian boomer shooter game made using the ID Tech 2 engine! Shoot, jump, embark on a journey throughout the state of Rio de Janeiro, hell and even heaven!
  77. [77]
    New $3 Boomer Shooter Is A Wild Fever Dream You Should Play
    Sep 24, 2025 · Brazilian Drug Dealer 3 is best described as a heavily modded and twisted version of Quake. It uses that classic shooter's engine as its ...
  78. [78]
    lavenderdotpet/LibreQuake: A free and open source Quake ... - GitHub
    The *LibreQuake* project aims to create a complete, free content first-person shooter game, but *LibreQuake* by itself is just the raw material for a game.Missing: 2019 | Show results with:2019
  79. [79]
    LibreQuake aims to create a completely free Quake alternative ...
    Sep 17, 2024 · The LibreQuake project aims to create a complete, free content first-person shooter game, but LibreQuake by itself is just the raw material for a game.
  80. [80]
    Xonotic - Libregamewiki
    Jun 9, 2024 · Xonotic is a first-person arena shooter, forked from Nexuiz. The game runs on the Darkplaces engine, based on Quake 1's engine.