The ''Quake'' engine (part of
id Tech 2
id Tech is a series of successive game engines designed and developed by id Software. Prior to the presentation of the id Tech 5-based game ''Rage'' in 2011, the engines lacked official designation and as such were simply referred to by the name ...
) is the
game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
developed by
id Software
id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
to power their 1996 video game ''
Quake''. It featured
true 3D
3D computer graphics, sometimes called CGI, 3D-CGI or three-dimensional computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of perfor ...
real-time rendering
Real-time computer graphics or real-time rendering is the sub-field of computer graphics focused on producing and analyzing images in real time. The term can refer to anything from rendering an application's graphical user interface ( GUI) to ...
. 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
fork
In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
ed. Much of the engine remained in ''
Quake II
''Quake II'' is a 1997 first-person shooter, first-person shooter game developed by id Software and published by Activision. It is the second installment of the Quake (series), ''Quake'' series, following ''Quake (video game), Quake''.
Develope ...
'' and ''
Quake III Arena
''Quake III Arena'' is a 1999 first-person shooter game developed by id Software. The third installment of the ''Quake'' series, ''Arena'' differs from previous games by excluding a story-based single-player mode and focusing primarily on mult ...
''. The ''Quake'' engine, like the
''Doom'' engine, used
binary space partitioning
In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a representa ...
(BSP) to optimise the world rendering. The ''Quake'' engine also used
Gouraud shading
Gouraud shading ( ), named after Henri Gouraud (computer scientist), Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by Polygon mesh, polygon meshes. In practice, Gouraud ...
for moving objects, and a static
lightmap
A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
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
John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Do ...
did most of the programming of the engine, with help from
Michael Abrash
Michael Abrash is an American programmer and technical writer. He has written dozens of magazine articles and multiple books on code optimization and software-rendered graphics for IBM PC compatibles. He worked at id Software in the mid-1990s on ...
in
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s and
assembly optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
. The
Quake II engine
The ''Quake II'' engine (part of id Tech 2) is a game engine developed by id Software for use in their 1997 first-person shooter ''Quake II''. It is the successor to the ''Quake'' engine. Since its release, the ''Quake II'' engine has been lic ...
(id Tech 2.5) was based on it.
John Romero
Alfonso John Romero (born October 28, 1967) is an American video game developer. He co-founded id Software and designed their early games, including ''Wolfenstein 3D'' (1992), ''Doom (1993 video game), Doom'' (1993), ''Doom II'' (1994), ''Hexen ...
initially conceived of ''Quake'' as an
action game
An action game is a video game genre that emphasizes physical challenges, including hand–eye coordination and reaction time. The genre includes a large variety of sub-genres, such as fighting games, beat 'em ups, shooter games, rhythm games and ...
taking place in a fully
3D polygon world, inspired by
Sega AM2
previously known as is a video game development team within the Japanese multinational video game developer Sega. Yu Suzuki, who had previously developed arcade games for Sega including ''Hang-On'' and ''Out Run'', was the first manager of th ...
's 3D
fighting game
The fighting game video game genre, genre involves combat between multiple characters, often (but not limited to) one-on-one battles. Fighting game combat often features mechanics such as Blocking (martial arts), blocking, grappling, counter- ...
''
Virtua Fighter
is a series of fighting games created by Sega AM2 and designer Yu Suzuki. The original ''Virtua Fighter (video game), Virtua Fighter'' was released in December 1993 and has received four main sequels and several spin-offs. The highly influential ...
''. ''Quake'' was also intended to feature ''Virtua Fighter''-influenced third-person
melee combat
A melee ( or ) is a confused hand-to-hand fight among several people. The English term ''melee'' originated circa 1648 from the French word ' (), derived from the Old French ''mesler'', from which ''medley'' and ''meddle'' were also derived.
Th ...
. 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.
Derivative engines
On December 21, 1999, John Carmack of id Software released the ''Quake'' engine
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
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
GoldSrc (pronounced "Gold Source"), sometimes called the ''Half-Life'' engine, is a proprietary game engine developed by Valve. At its core, GoldSrc is a heavily modified version of id Software's ''Quake'' engine. It made its debut in 1998 with ...
– The first engine to be created by
Valve
A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
. It was used in the
''Half-Life'' series, and gave rise to the
Source
Source may refer to:
Research
* Historical document
* Historical source
* Source (intelligence) or sub source, typically a confidential provider of non open-source intelligence
* Source (journalism), a person, publication, publishing institute ...
and
Source 2 engines. 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
Ryan C. Gordon (also known as icculus) is an American computer programmer and former Loki Software employee responsible for ''icculus.org'', which hosts many Loki Software projects as well as others. Gordon's site hosts projects with the :Commerc ...
until 2021, when the engine switched to a
Git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
repository hosted on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. The developers of ''
Xonotic
''Xonotic'' () is a free and open-source first-person shooter video game. It was developed as a fork of'' Nexuiz'', following controversy surrounding the game's development. The game runs on a heavily modified version of the Quake engine known as ...
'' 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
In signal processing, distortion is the alteration of the original shape (or other characteristic) of a signal. In communications and electronics it means the alteration of the waveform of an information-bearing signal, such as an audio signal ...
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
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
.
* NehQuake - Custom engine for the ''
Nehara'' mod.
* GLQuake
** FitzQuake (Derivative of
GLQuake
''Quake'' is a 1996 first-person shooter game developed by id Software and published by GT Interactive. The first game in the ''Quake'' series, it was originally released for MS-DOS and Microsoft Windows, followed by Mac OS, Linux and Sega ...
) - Seminal port whose
SDL version was later forked into numerous others.
*** MarkV (Derivative of FitzQuake, successor to DirectQ) - Came in both
GLQuake
''Quake'' is a 1996 first-person shooter game developed by id Software and published by GT Interactive. The first game in the ''Quake'' series, it was originally released for MS-DOS and Microsoft Windows, followed by Mac OS, Linux and Sega ...
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
Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
API for rendering programmed by id Software employee Axel Gneiting, released under the
GPLv2
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or copyleft, ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was th ...
.
**** Ironwail - (Derivative of Quakespasm) – An engine aiming at maximum performance.
* FTEQW (Derivative of
QuakeWorld
''Quake'' is a 1996 first-person shooter game developed by id Software and published by GT Interactive. The first game in the ''Quake'' series, it was originally released for MS-DOS and Microsoft Windows, followed by Mac OS, Linux and Sega S ...
) - 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
*
List of game engines
Game engines are tools available to implement video games without building everything from the ground up. Whether they are 2D or 3D based, they offer tools to aid in asset creation and placement.
Engines
The following list is not exhaustive. A ...
*
First person shooter engine
A first-person shooter engine is a video game engine specialized for simulating 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes of their characters. Shoo ...
*
id Tech
id Tech is a series of successive game engines designed and developed by id Software. Prior to the presentation of the id Tech 5-based game '' Rage'' in 2011, the engines lacked official designation and as such were simply referred to by the nam ...
*
Quake II engine
The ''Quake II'' engine (part of id Tech 2) is a game engine developed by id Software for use in their 1997 first-person shooter ''Quake II''. It is the successor to the ''Quake'' engine. Since its release, the ''Quake II'' engine has been lic ...
*
Quake modding
Based on id Software's open stance towards game modifications, their ''Quake'' series became a popular subject for player mods beginning with '' Quake'' in 1996. Spurred by user-created hacked content on their previous games and the company's ...
References
External links
Quake's Lighting Model Surface caching by
Michael Abrash
Michael Abrash is an American programmer and technical writer. He has written dozens of magazine articles and multiple books on code optimization and software-rendered graphics for IBM PC compatibles. He worked at id Software in the mid-1990s on ...
Quake engine code analysisby Fabien Sanglard
Source code for winquake, glquake, quakeworld, and glquakeworld
{{DEFAULTSORT:Quake Engine
1996 software
Free game engines
Game engines for Linux
Id Tech
Quake (series)
Video game engines