Quake

From Valve Developer Community
Jump to: navigation, search
English (en)Tiếng Việt (vi)中文 (zh)Translate (Translate)
Quake
Software Cover - Quake.jpg
Developer(s)
id Software

Nightdive Studios (Enhanced)

More developer(s)
Hipnotic Interactive (Mission Pack 1)

Rogue Entertainment (Mission Pack 2)
Lion Entertainment Inc. (Classic Mac OS)
Dave Taylor (Linux)

Publisher(s)
GT Interactive
Series
Release date(s)
June 22, 1996

MS-DOS:
June 22, 1996 (shareware)
July 22, 1996 (full version)
Windows:
January 22, 1997 (GLQuake)
March 11, 1997 (WinQuake)
May 31, 2007 (Steam)
Linux:
July 5, 1996
Mac OS (Classic):
August 28, 1997
Saturn:
November 27, 1997
Nintendo 64:
March 24, 1998
Windows, Nintendo Switch, PlayStation 4, Xbox One (Enhanced):
August 19, 2021
PlayStation 5, Xbox Series X/S (Enhanced):
October 12, 2021

Engine
id Tech 2 id Tech 2
Slavedriver (Sega Saturn)
Kex Engine (Enhanced)
Steam AppID
Written in
C, Assembly (for software rendering & optimization)
Mod support
Yes
Distribution
Retail, GOG.com, Steam, other
Official website
Links
app/2310 Steam Store page
GOG.com page GOG.com page
(includes both original and Enhanced version)
Next game
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.
Documentation on this wiki focuses on that which relates to Valve's engines. For links to external resources focused on Quake modding, see Quake/For developers.

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

Note.pngNote:The original version (except Enhanced) of the game does not come with music due to various reasons:

- The GOG version originally ships the game soundtrack in .ogg format. It was removed due to legal reasons.
- The Steam version does not ship with the game soundtrack. However users can insert the original game disc in order to restore music playback.

Alternatively, users can use third-party source port(s) and download the soundtrack files to restore the music.
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, then later fixed again with HL's 25th anniversary update. 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).
Icon-Bug.pngBug:Fullbright texels are broken in GLQuake[Elaborate?].

See also

External links