Quake: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Removing some unnecessary stuff, other stuff moved to the bottom.)
(Cleaning up stuff that aren't useful when it comes to GoldSrc/Src, etc..., some links now goes to Wikipedia page.)
Line 1: Line 1:
{{langsp}}{{Non-valve engine|game}}
{{langsp}}{{Non-valve engine|game}}
{{Quake|4}} is a 3D first-person shooter released in 1996 by [[Wikipedia: id Software|id Software]]. [[w:Quake engine|Its engine]] was licensed out to many companies, including [[Valve]]. {{gldsrc|3.1}} is based off of Quake engine code, specifically, GLQuake and Quakeworld (with some {{quake2|1}} code), with it's successors {{source|3.1}} and {{source2|3.1}} both still retaining some residual Quake code.
{{Quake|4}} is a 3D first-person shooter released in 1996 by [[Wikipedia: id Software|id Software]]. [[w:Quake engine|Its engine]] was licensed out to many companies, including [[Valve]]. {{gldsrc|3.1}} is based off of Quake engine code, specifically, GLQuake and Quakeworld (with some {{quake2|1}} code), with it's successors {{source|3.1}} and {{source2|3.1}} both still retaining some residual Quake code.  


The {{quakeengine|4}} introduced many of the concepts still used in Source today, such as the modern variant of the [[BSP]], the use of a [[PVS]], [[lightmap|precomputated lightmaps]], [[visleaf|visleafs]] and [[brush|brush entities]]. Early GoldSrc multiplayer was based off the QuakeWorld multiplayer code (until 2001, when some {{quake3|3.1}}{{cn}} code was added).
The {{quakeengine|4}} introduced many of the concepts still used in Source today, such as the modern variant of the [[BSP]], the use of a [[PVS]], [[lightmap|precomputated lightmaps]], [[visleaf|visleafs]] and [[brush|brush entities]]. Early GoldSrc multiplayer was based off the QuakeWorld multiplayer code (until 2001, when some {{quake3|3.1}}{{cn}} code was added).


The {{quakeengine|3.1}} and its successor, the {{quake2engine|3.1}}, are now both retroactively referred to as {{idtech2|3.1}}. Both engines have been released as free and open source under the [[Wikipedia:GNU_General_Public_License#Version_2|GPLv2]] license, allowing for many [[#Source ports|source ports]] to be created, which add quality-of-life improvements and are now the preferred way of playing the game, including an [[#2021 Remaster|official source port released in 2021]].
The {{quakeengine|3.1}} and its successor, the {{quake2engine|3.1}}, are now both retroactively referred to as {{idtech2|3.1}}. Both engines have been released as free and open source under the [[Wikipedia:GNU_General_Public_License#Version_2|GPLv2]] license, allowing for many [[#Source ports|source ports]] to be created, which add quality-of-life improvements and are now the preferred way of playing the game, including an [[W:Quake_(video_game)#Enhanced_version_and_Dimension_of_the_Machine|remaster released in 2021]].


==Compilers==
==Compilers==
Line 23: Line 23:


[[ericw-tools]] uses the same nomenclature as the original Quake compilers.
[[ericw-tools]] uses the same nomenclature as the original Quake compilers.
== Expansions/DLC ==
*'''Mission Pack No. 1: Scourge of Armagon''' is a three-episode expansion pack by Hipnotic Interactive (now [[Ritual]]).
*'''Mission Pack No. 2: Dissolution of Eternity''' is a two-episode expansion pack by Rogue Entertainment.
*'''Dimension of the Past''' is an extra episode created by MachineGames and released for free as a gift for the game's 20th anniversary. This was also included in the [[#2021 Remaster|Quake Remaster (2021)]].
== 2021 Remaster ==<!-- DO NOT CHANGE THE TITLE HERE TO AVOID BREAKING LINKS.-->
In 2021, [https://doomwiki.org/wiki/Nightdive%20Studios Nightdive Studios] released an official source port with new remastered lighting and models, using the Kex Engine framework to connect the underlying Quake engine code to modern APIs. The remaster, officially titled "Quake Enhanced", but also colloquially known as "Quake EX" or simply "QEX", runs under [[Vulkan]] on Windows 10 and later, and can also run on Linux and the Steam Deck using [[Proton]]. It can also unofficially run on Windows 7-8.1, without multiplayer support, and can be forced to run under [[DirectX Versions|DirectX 11]] by using the {{code|+r_rhirenderfamily d3d11}} [[Command Line Options|command-line argument]].<!--OpenGL is not supported in this version of Kex-->
Although the engine code for the 2021 remaster is closed-source, the updated [[QuakeC]] game code has been released under the GPLv2 on [https://github.com/id-Software/quake-rerelease-qc id Software's GitHub]. This is the first time the game code for the mission packs has been released under this license, as they were previously only available under a less permissive license.{{clarify}}


== Source ports ==
== Source ports ==
Line 43: Line 33:


== Bugs/Limitations ==
== Bugs/Limitations ==
{{cleanup|Clean up some of the grammar and the overuse of ellipses ({{code|...}}).}}
{{Bug|Overbright lighting (as found in the original software renderer) was broken on GLQuake with no options to re-enabling it via any command, which makes the color less saturated and lighting much darker.<br>{{gldsrc|4}} originally fixed this in its [[OpenGL]] renderer (disableable with {{command|gl_overbright|0}}, but it was broken again in an update that added multitexturing support. Details for this bug on GoldSrc can be found on [[GoldSrc|it's page about the engine itself]]. <br>Modern source ports fix this, via a {{command|gl_overbright}} command, like GoldSrc.
{{Bug|Overbright lighting (as found in the original software renderer) was broken on GLQuake with no options to re-enabling it via any command, which makes the color less saturated and lighting much darker.<br>{{gldsrc|4}} originally fixed this in its [[OpenGL]] renderer (disableable with {{command|gl_overbright|0}}, but it was broken again in an update that added multitexturing support. Details for this bug on GoldSrc can be found on [[GoldSrc|it's page about the engine itself]]. <br>Modern source ports fix this, via a {{command|gl_overbright}} command, like GoldSrc.
{{modernConfirm|Does this discrepancy exist in Quake 2? It's probably fixed in IdTech 3, as that has r_overbrightbits (which works a bit differently than Quake and GoldSrc).}} }}
{{modernConfirm|Does this discrepancy exist in Quake 2? It's probably fixed in IdTech 3, as that has r_overbrightbits (which works a bit differently than Quake and GoldSrc).}} }}

Revision as of 22:18, 23 June 2024

English (en)Tiếng Việt (vi)中文 (zh)Translate (Translate)
Info icon
This page documents information about a third-party game running on a non-Valve engine. This information is documented here because it has technical and/or historical relevance to Valve's engines.

Quake Quake is a 3D first-person shooter released in 1996 by id Software. Its engine was licensed out to many companies, including Valve. GoldSrc is based off of Quake engine code, specifically, GLQuake and Quakeworld (with some Quake II code), with it's successors Source and Source 2 both still retaining some residual Quake code.

The Quake Engine Quake Engine introduced many of the concepts still used in Source today, such as the modern variant of the BSP, the use of a PVS, precomputated lightmaps, visleafs and brush entities. Early GoldSrc multiplayer was based off the QuakeWorld multiplayer code (until 2001, when some Quake III[citation needed] code was added).

The Quake Engine and its successor, the Quake II Engine, are now both retroactively referred to as id Tech 2. Both engines have been released as free and open source under the GPLv2 license, allowing for many source ports to be created, which add quality-of-life improvements and are now the preferred way of playing the game, including an remaster released in 2021.

Compilers

Quake also uses three compiler tools in compiling a map: QBSP, VIS, and LIGHT. The code for these was used as the basis of the compiling tools used by the compilers used by the Valve engine map compilers, as seen below:

Original Quake Quake compilers Original GoldSrc GoldSrc compilers GoldSrc ZHLT, VHLT, and derivatives Source Source compilers Source 2 Source 2 compilers
CSG part of QBSP QCSG HLCSG part of VBSP resourcecompiler
BSP QBSP (Source code) QBSP2 HLBSP VBSP
VIS VIS (Source code) VIS HLVIS VVIS
RAD LIGHT, no radiosity lighting (Source code) QRAD HLRAD VRAD VRAD2 (Half-Life: Alyx and earlier)
VRAD3 (in all games since Counter-Strike 2)

ericw-tools uses the same nomenclature as the original Quake compilers.

Source ports

Since the release of the Quake source code, there are various source ports available:

  • Quakespasm - Limit-breaking source port focused on vanilla accuracy. Fork of the long-deprecated FitzQuake. Actively maintained.
    • Quakespasm-Spiked (QSS) - Fork of Quakespasm that can run at higher frame rates than 72FPS without breaking physics.
      • vkQuake - Fork of QSS running on Vulkan, with additional features. No longer maintained as of 9 May 2023.
  • TASQuake - a port which allows to record inputs for tool assisted speedrunning (TAS) as .qtas files.
  • FTE FTEQW - Source port focused on standalone game development. Notably includes clean-room implementations of GoldSrc file formats (BSP, MDL, WAD3, HLSPR), being used for clean-room reverse-engineered ports of Counter-Strike Counter-Strike 1.5 (as FreeCS FreeCS) and Half-Life Half-Life Deathmatch (as FreeHL). Actively maintained.

Bugs/Limitations

Icon-Bug.pngBug:Overbright lighting (as found in the original software renderer) was broken on GLQuake with no options to re-enabling it via any command, which makes the color less saturated and lighting much darker.
GoldSrc GoldSrc originally fixed this in its OpenGL renderer (disableable with gl_overbright 0, but it was broken again in an update that added multitexturing support. Details for this bug on GoldSrc can be found on it's page about the engine itself.
Modern source ports fix this, via a gl_overbright command, like GoldSrc.
Confirm:Does this discrepancy exist in Quake 2? It's probably fixed in IdTech 3, as that has r_overbrightbits (which works a bit differently than Quake and GoldSrc).
  [todo tested in ?]
Icon-Bug.pngBug:Fullbright texels are broken in GLQuake[Elaborate?].  [todo tested in ?]

See also

External links