Quake engine#Speeding up the rendering.2C and rendering order

{{Short description|Video game engine developed by id Software}}

{{Use mdy dates|date=August 2021}}

{{multiple issues|

{{more citations needed|date=May 2016}}

{{original research|date=May 2016}}

}}

{{DISPLAYTITLE:Quake engine}}

{{Infobox software

| name = Quake engine

| logo =

| screenshot =

| caption = Quake (1996) powered by Quake engine.

| collapsible =

| developer = id Software (John Carmack, Michael Abrash, John Cash)

| replaces = Doom engine

| replaced_by = Quake II engine, GoldSrc

| latest release version = 1.09

| latest release date = {{Start date and age|1999|12|21}}

| discontinued = yes

| repo = [http://github.com/id-Software/Quake github.com/id-Software/Quake]

| programming language = C, Assembly (for software rendering & optimization)

| platform = DOS, AmigaOS, Microsoft Windows, macOS, Linux, Nintendo 64, Zeebo, Xbox One, Xbox Series X/S, PlayStation 4, PlayStation 5

| license = GNU GPL-2.0-or-later

}}

File:Nexuiz (screenshot 04).jpg, running on a modified Quake engine]]

The Quake engine (part of 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,{{cite web |title=Quake engine GPL release |url=https://github.com/id-Software/Quake |access-date=May 24, 2020 |website=GitHub}}{{cite web |title=id Tech 2 GPL release |url=https://github.com/id-Software/Quake-2 |access-date=May 24, 2020 |website=GitHub}} both engines are now considered variants of id Tech 2.{{cite web|url=http://www.idsoftware.com/business/idtech2/|title=id Tech 2 page|publisher=id Software|archive-url=https://web.archive.org/web/20080917045739/http://www.idsoftware.com/business/idtech2/|archive-date=2008-09-17}}

History

{{Further|Quake (video game)#Development}}

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.{{cite magazine|magazine=Next Generation|issue=30|date=June 1997|pages=9–12|title=Does John Romero Still Enjoy Shooting People?|url=https://archive.org/stream/NextGeneration30Jun1997/Next_Generation_30_Jun_1997#page/n9/mode/2up}}{{citation|title=Edge|issue=45|date=May 1997|quote=My original idea was to do something like Virtua Fighter in a 3D world, with full-contact fighting, but you'd also be able to run through a world, and do the same stuff you do in Quake, only when you got into these melees, the camera would pull out into a third-person perspective. It would've been great, but nobody else had faith in trying it. The project was taking too long, and everybody just wanted to fall back on the safe thing – the formula.}}

Image:QuakeMapTrim.PNG]]

Derivative engines

Image:Quake - family tree.svg illustrating derivations of Quake engines |alt=]]

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 and Source 2 engines. The Xash3D projects, as well as the FreeHL and FreeCS ports,{{Cite web |last=Larabel |first=Michael |date=2017-11-10 |title=FreeCS: Aiming For An Open-Source Counter-Strike Implementation |url=https://www.phoronix.com/news/FreeCS-Open-Counter-Strike |access-date=2024-07-14 |website=Phoronix}} use Quake source code in part to recreate this engine, even with a wrapper for running the game.{{cite web|url=https://www.gamingonlinux.com/2020/08/half-life-absolute-zero-mimics-half-lifes-original-vibe-run-it-on-linux-with-xash3d-fwg/|title=Half-Life: Absolute Zero mimics Half-Life's original vibe, run on Linux with Xash3D FWGS|author=BTRE|date=2020-08-03|access-date=2024-07-15|website=GamingOnLinux}}{{cite web|url=https://boingboing.net/2022/03/09/play-the-original-half-life-in-the-browser.html|title=Play the original Half-Life in the browser|first=Rob|last=Beschizza|date=2022-03-09|access-date=2024-07-16|website=Boing Boing}}
  • DarkPlaces – A significantly modified engine used in several standalone games and Quake mods.{{cite web|url=https://www.linuxlinks.com/darkplaces/|title=DarkPlaces – Quake modification|date=2023-10-29|access-date=2024-07-16|first=Steve|last=Emms|website=LinuxLinks}}{{cite web |url=https://icculus.org/twilight/darkplaces/ |title=DarkPlaces Homepage |website=icculus.org |access-date=November 6, 2017}} Although the last stable release was on May 13, 2014, it has received numerous updates through its SVN repository since then.{{cite web|url=http://svn.icculus.org/twilight/trunk/|title=Darkplaces subversion repository|website=svn.icculus.org|access-date=August 9, 2019}} Its home page was hosted on Icculus.org until 2021, when the engine switched to a Git repository hosted on GitHub.{{Citation|title=darkplacesengine/darkplaces|date=June 14, 2021|url=https://github.com/darkplacesengine/darkplaces|publisher=DarkPlaces Engine|access-date=June 21, 2021}} The developers of Xonotic provide mirrors of DarkPlaces source code on various social coding platforms{{cite web |url=https://gitlab.com/xonotic/darkplaces |title=DarkPlaces Quake Engine on Xonotic GitLab |access-date=February 3, 2020}}{{cite web |url=https://github.com/xonotic/darkplaces |title=DarkPlaces Quake Engine on Xonotic GitHub |website=GitHub |access-date=November 6, 2017}} since the game is built on and distributed with the development version of the engine.
  • QuakeForge - One of the earlier major community ports.{{Cite web |last=Stevenaaus |date=2010-03-01 |title=Game Engines |url=https://tldp.org/HOWTO/Quake-HOWTO-3.html#ss3.1 |access-date=2024-07-15 |website=Linux Quake HOWTO}}
  • NPRQuake - Fork of Quake featuring non-photorealistic rendering giving it a pencil drawn look.{{cite web|url=https://boingboing.net/2018/07/30/quake-but-every-frame-rendered.html|title=Quake on me: classic shooter rendered with pencil sketch filter|first=Rob|last=Beschizza|date=2018-07-30|access-date=2024-07-15|website=Boing Boing}}{{cite web|url=https://www.slideserve.com/parley/non-photorealistic-rendering-techniques-for-a-game-engine|title=Non-Photorealistic Rendering Techniques for a Game Engine|date=2014-09-11|access-date=2024-07-15|publisher=University of North Carolina at Chapel Hill|website=SlideServe|first=Adrian|last=Ille}}
  • Tenebrae - Custom Quake engine with real time lighting and bumpmapping among other features.{{cite web|url=https://www.shacknews.com/article/22796/new-tenebrae|title=New Tenebrae|first=Maarten|last=Goldstein|date=2002-09-25|access-date=2024-07-16|website=Shacknews}}{{cite web|url=https://lowendmac.com/2015/tenebraequake-enhanced-quake-front-end/|title=TenebraeQuake, an Enhanced Quake Front End|first=Simon|last=Royal|date=2015-10-10|access-date=2024-07-16|website=Low End Mac}}{{cite web|url=https://www.insidemacgames.com/historical/news/story.php%3FArticleID=8023.html|title=New Tenebrae Release for PC|date=2003-07-14|access-date=2024-07-16|first=Galen|last=Wiley|website=Inside Mac Games}}{{cite web|url=https://www.insidemacgames.com/historical/news/story.php%3FArticleID=6328.html|title=New PC Tenebrae Quake, Mac Update Soon|date=2002-10-27|access-date=2024-07-16|first=Andy|last=Largent|website=Inside Mac Games}}
  • TyrQuake - A conservative focused source port.
  • Fisheye Quake - Custom Quake engine with fisheye distortion by the author of PanQuake.{{cite web|url=https://www.shacknews.com/article/125425/cquake-how-to-run-classic-quake-maps-and-mods-on-modern-pcs?page=6|title=Part 5: Source Ports and Fisheye Quake|first=Patrick|last=Bosworth|date=2021-07-02|access-date=2024-07-16|website=Shacknews}}
  • Blinky - Fork of the fisheye view along with the TyrQuake software renderer.{{cite web|url=https://www.pcgamer.com/peripheral-vision-in-games-gets-ultrawide-boost-with-new-quake-mod/|title=Peripheral vision in games goes ultrawide with new Quake mod|first=Andy|last=Chalk|date=2015-10-10|access-date=2024-07-16|website=PC Gamer}}{{cite web|url=https://www.sportskeeda.com/esports/peripheral-vision-in-game-goes-ultrawide-thanks-to-the-new-quake-mod|title=Peripheral Vision in game goes Ultrawide thanks to the new Quake Mod|first=Aditya|last=Chakrabarty|date=2015-03-12|access-date=2024-07-16|website=sportskeeda}}
  • WinQuake
  • Engoo (Derivative of WinQuake) - Graphically enhanced software renderer based port.{{Cite web |last=Baxter |first=Joel |date=2015-05-03 |title=Quake Engines, Old and New |url=https://neogeographica.com/site/pages/guides/engines.html#04 |access-date=2024-07-16 |website=Neogeographica}}
  • Fruitz of Dojo - Source port aimed at Mac OS X.{{cite web|url=https://www.macobserver.com/tmo/article/Quake_Gets_Universal_Binary|title=Quake Gets Universal Binary|first=Brad|last=Cook|date=2006-03-19|access-date=2024-07-15|website=The Mac Observer}}{{cite web|url=https://www.mymac.com/2003/08/classic-games-quake/|title=Classic Games: Quake|date=2003-08-01|access-date=2024-07-15|first=Neale|last=Monks|website=MyMac.com}}{{cite web|url=http://quake.chaoticbox.com/|title=Frank's Craptacular House of Mac Quake Stuffs|date=2019-07-01|access-date=2024-07-15|website=pOx's Playhouse}}
  • NehQuake - Custom engine for the Nehara mod.{{cite web|url=https://tldp.org/HOWTO/Quake-HOWTO-4.html|title=Mods|website=Linux Quake HOWTO|author=Stevenaaus|date=2010-03-01|access-date=2024-07-15}}
  • GLQuake
  • FitzQuake (Derivative of GLQuake) - Seminal port whose SDL version was later forked into numerous others.{{cite web|url=https://slayersclub.bethesda.net/en-US/article/nods-to-mods-interview-rubicon-2-for-quake|title=Nods to Mods Interview: Rubicon 2 for Quake|date=2022-08-18|access-date=2024-07-15|first=Joshua|last=Boyle|website=Slayer's Club}}
  • MarkV (Derivative of FitzQuake, successor to DirectQ) - Came in both GLQuake and WinQuake derived versions.{{cite web|url=https://www.dsogaming.com/news/quake-xmas-jam-2018-adds-21-new-maps-to-id-softwares-classic-shooter-available-for-download/|title=Quake Xmas Jam 2018 adds 21 new maps to id Software's classic shooter, available for download|date=2018-12-11|access-date=2024-07-15|first=John|last=Papadopoulos|website=DOSGaming}}
  • Quakespasm (Derivative of FitzQuake) – Commonly used source port.{{cite web|url=https://www.rockpapershotgun.com/quake-renaissance-a-short-history-of-25-years-of-quake-modding|title=Quake Renaissance: a short history of 25 years of Quake modding|first=Robert|last=Yang|date=2021-08-23|access-date=2024-07-14|website=Rock Paper Shotgun}}
  • Quakespasm-Spiked (Derivative of Quakespasm) - Limit-removing fork. {{cite web|url=https://www.gamingonlinux.com/2022/04/block-quake-is-basically-quake-made-into-lego/|title=Block Quake is basically Quake made into LEGO|first=Liam|last=Dawe|date=2022-04-27|access-date=2024-07-14|website=GamingOnLinux}}
  • vkQuake – (Derivative of Quakespasm) – Uses Vulkan API for rendering programmed by id Software employee Axel Gneiting, released under the GPLv2.{{cite web | url = https://twitter.com/axelgneiting/status/755988244408381443 | title = My Vulkan Quake 1 Port running "In the Shadows" mod. Some stuff still missing. Code is here https://github.com/Novum/vkQuake | last = Gneiting | first = Axel | date = July 20, 2016 | website = Twitter |access-date=August 6, 2016}}{{cite web |url=https://github.com/Novum/vkQuake |title=Vulkan Quake port based on QuakeSpasm |website=github.com/Novum/vkQuake|access-date=August 6, 2016}}
  • Ironwail - (Derivative of Quakespasm) – An engine aiming at maximum performance.{{cite web|url=https://www.insideqc.com/ironwail-a-high-performance-quakespasm-fork/|title=Ironwail, a high-performance QuakeSpasm fork|date=2022-01-30|access-date=2024-07-14|author=Spirit|website=InsideQC}}
  • FTEQW (Derivative of QuakeWorld) - A modern client for online multiplayer.{{cite web|url=https://www.pcgamer.com/this-mod-turns-quake-into-a-top-down-shooter/|title=This mod turns Quake into a top-down shooter|first=Andy|last=Chalk|date=2021-02-17|access-date=2024-07-16|website=PC Gamer}}
  • FuhQuake
  • ezQuake (Derivative of FuhQuake) - Multiplayer focused port often paired with the nQuake launcher.{{cite web|url=https://www.pcgamer.com/were-running-a-quake-server-all-weekcome-play-with-us/|title=We're running a Quake server all week—come play with us!|first=Alex|last=Campbell|date=2016-05-20|access-date=2024-07-16|website=PC Gamer}}{{cite web|url=https://www.pcgamer.com/were-running-a-quake-multiplayer-server-all-week-for-the-25th-anniversary/|title=We're running a Quake multiplayer server all week for the 25th anniversary|first=Wes|last=Fenlon|date=2021-05-22|access-date=2024-07-16|website=PC Gamer}}
  • JoeQuake (Derivative of FuhQuake) - A port popular with speedrunners.{{cite web|url=https://www.slipseer.com/index.php?threads/quake-engines-source-ports-a-beginners-guide.11/|title=Quake Engines & Source Ports: A Beginners Guide|author=Fairweather|date=2022-02-19|access-date=2024-07-15|website=Slipgate Sightseer}}

Games using the ''Quake'' engine

=Games using a proprietary license=

class="wikitable sortable"
Year

! Title

! Developer(s)

! Publisher(s)

1996

| Quake

| id Software

| GT Interactive

rowspan="6" | 1997

| Quake Mission Pack No. 1: Scourge of Armagon

| Hipnotic Interactive

| 3D Realms

Quake Mission Pack No. 2: Dissolution of Eternity

| Rogue Entertainment

| 3D Realms

Hexen II

| Raven Software

| id Software, Activision

Malice

| Ratloop

| Quantum Axcess

Shrak

| Quantum Axcess

| Quantum Axcess

X-Men: The Ravages of Apocalypse

| Zero Gravity Entertainment

| WizardWorks

rowspan="2" | 1998

| Hexen II Mission Pack: Portal of Praevus

| Raven Software

| id Software
Activision

Abyss of Pandemonium - The Final Mission

| Impel Development Team

| Perfect Publishing

2000

| Laser Arena

| Trainwreck Studios

| ValuSoft

rowspan="2" | 2001

| CIA Operative: Solo Missions

| Trainwreck Studios

| ValuSoft

Urban Mercenary

| Moshpit Entertainment

| Moshpit Entertainment

=Games based on the GPL source release=

class="wikitable sortable"
Year

! Title

! Developer(s)

! Publisher(s)

2000

|OpenQuartz{{cite web|author=neozeed|title=Open Quartz|url=https://virtuallyfun.com/2018/06/24/open-quartz/|website=Virtually Fun|date=2018-06-24|access-date=2023-02-08}}

|OpenQuartz Team

|SourceForge

2001

|Transfusion{{cite web|url=http://www.gameindustry.com/interviews/int030320.asp|archive-url=https://web.archive.org/web/20030408231711/http://www.gameindustry.com/interviews/int030320.asp|website=Game Industry News|title=Devoted to the cause - Blood Transfusion to save aging game|first=Gareth|last=Von Kallenbach|date=2003|archive-date=2003-04-08}}

|Transfusion Project

|SourceForge

2002

| Eternal War: Shadows of Light

| Two Guys Software

| Two Guys Software

2005

| Nexuiz

| Alientrap

| Alientrap

2007

| The Hunted{{cite web|url=https://nixbit.com/software/the-hunted-chronicle-review/|title=The Hunted Chronicle 2 review | website=Nixbit | access-date=2023-04-23 }}

| Chris Page

| ModDB

rowspan="2" | 2011

| Xonotic

| Team Xonotic

| Team Xonotic

Steel Storm

| Kot-in-Action Creative Artel

| Kot-in-Action Creative Artel

rowspan="2" | 2012

| Forced: Leashed{{cite web|url=https://jayisgames.com/review/force-leashed.php|website=Jay Is Games|title=Force: Leashed|author=Tricky|date=2012-08-25|access-date=2023-04-24}}

| Kepuli Games

| Kepuli Games

RetroBlazer{{cite web|url=https://www.tigsource.com/2012/01/16/retroblazer-alpha/|website=TIG Source|title=RetroBlazer (Alpha)|first=Derek|last=Yu|date=2012-01-16|access-date=2023-04-24}}{{cite web|url=https://www.siliconera.com/retroblazer-has-the-fast-pace-bright-colors-of-1990s-fps/|title=

RetroBlazer Has The Fast Pace, Bright Colors Of 1990s FPS|first=Chris|last=Priestman|website=Siliconera|date=2015-01-21|accessdate=2024-07-14}}{{cite web|archive-url=https://web.archive.org/web/20120321034052/https://www.diygamer.com/2012/01/retroblazer-demo/|url=https://www.diygamer.com/2012/01/retroblazer-demo/|title=16-Bit Killer – RetroBlazer Demo Offers 2.5d FPS Nostlagia With A Twist|first=Dominic|last=Tarason|date=2012-01-12|access-date=2024-07-14|archive-date=2012-03-21|website=DIY Gamer}}

| Hydra Game Works

| Hydra Game Works

2013

|Chaos Esque Anthology{{cite web|url=https://fossgames.com/chaos-esque-anthology-fps-xonotic/|title=Chaos Esque Anthology Free 3D FPS, fork from Xonotic|date=2024-04-03|access-date=2024-07-15|website=FOSS Games}}

| Chaos Esque Team

| Chaos Esque Team

2015

|Rexuiz{{cite web|url=https://www.indiegamer.io/games/rexuiz_fps|title=Rexuiz FPS|website=Indie Gamer|access-date=2024-07-14}}

| Rexuiz Team

| Rexuiz Team

2017

|FreeCS

|FreeCS Team

|GitHub

rowspan="2" | 2018

| FortressOne{{cite web|url=https://www.gamingonlinux.com/2018/11/get-some-classic-fps-action-on-with-quakeworld-team-fortress/|title=Get some classic FPS action on with QuakeWorld Team Fortress|first=Liam|last=Dawe|date=2018-11-21|access-date=2024-07-29}}

| FortressOne Team

| FortressOne Team

The Wastes{{cite web|url=https://www.frag-net.com/game_wastes.html|title=The Wastes|access-date=2024-07-14|website=Frag-Net.con}}

| Vera Visions L.L.C

| Vera Visions L.L.C

2019 {{small|(Early access)}}

|LibreQuake{{cite web|first=Robert|last=Yang|title=Quake Renaissance: how to start playing the original Quake today|url=https://www.rockpapershotgun.com/quake-renaissance-how-to-start-playing-quake|website=Rock Paper Shotgun|date=2021-08-05|access-date=2023-02-08}}

|LibreQuake Team

|GitHub

2021 {{small|(Early access)}}

| Doombringer{{cite web|url=https://www.gamingonlinux.com/2021/06/doombringer-is-a-new-first-person-shooter-veterans-of-the-doom-and-quake-communities/|title=DOOMBRINGER is a new first-person shooter from veterans of the Doom and Quake communities|website=GamingOnLinux|first=Liam|last=Dawe|date=2021-06-05|access-date=2023-12-26}}

| Anomic Games

| Anomic Games

2024

| Wrath: Aeon of Ruin{{Cite web|url=https://www.gamerevolution.com/features/506351-wrath-aeon-of-ruin-3d-realms-frederik-schreiber-interview|title=3D Realms' VP Talks 'Exceeding' Quake with Wrath: Aeon of Ruin and 'Dumbed Down' Call of Duty|last=Russell|first=Bradley|date=March 7, 2019|website=Game Revolution|access-date=November 30, 2024}}

| Killpixel

| 3D Realms
1C Entertainment

See also

{{Portal|Free and open-source software|Video games}}

References

{{reflist}}