Quake

From Valve Developer Community
Revision as of 10:16, 12 July 2024 by Nesciuse (talk | contribs) (Nesciuse moved page Quake/en to Quake without leaving a redirect: Move en subpage to basepage)
Jump to navigation Jump to search
English (en)Tiếng Việt (vi)中文 (zh)Translate (Translate)
Info.png
This page needs to include the {{infobox game}} template.
Please follow the instructions in the documentation on the template's page for steps on how to properly add this template.
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