This article has yet to be cleaned up to a higher standard of quality.
You can help by correcting spelling and grammar, removing factual errors and rewriting sections to ensure they are clear and concise. Visit our Cleanup Project for more details.
GoldSrc, or GoldSource, is the most common name for Valve Corporation's heavily modified version of id Software's Quake engine used to develop Half-Life (1998), Half-Life: Opposing Force (1999), and Half-Life: Blue Shift (2001) along with other Valve games such as Team Fortress Classic (1999), Counter-Strike (2000), Ricochet (2000), Day Of Defeat (2003) and Counter-Strike: Condition Zero (2004). The software was succeeded by Valve's own original engine, Source, which launched with Half-Life 2 in 2004.
GoldSrc is a heavily modified version of the QuakeWorld engine codebase, which in turn is a development of the Quake engine's codebase. Some minor fixes from the Quake II engine were incorporated as it was developed.
Originally, GoldSrc's netcode, the code that handles online multiplayer, was similar to that in the QuakeWorld engine. However, in 2001, Valve implemented new netcode that was designed to make it easier for players with high ping to play well via "lag compensation".
While officially abandoned in favor of the Source engine (except for minor maintenance updates), the GoldSrc engine is still used by third-party developers.
Similarities with the Quake Engine
- GoldSrc's map format, ".BSP", is very similar to Quake's map format, ".BSP" as well. The only major differences are with how it handles lighting storage and how the game loads textures. The .BSP versions of GoldSrc and Quake are so similar that early versions of Hammer could edit Quake and Quake II maps. With a few alterations, versions of Hammer not officially supporting Quake can be used to create Quake maps.
- Uncompiled GoldSrc maps use the .MAP format, which is also used by Quake's uncompiled maps.
- Both the GoldSrc and Quake engine use the .WAD format to store and load textures. The only differences between the two formats are that each texture in a GoldSrc .WAD file has its own palette, instead of sharing from one palette used by all of the textures, an ability to load multiple .WAD files in Half-Life; Quake uses only gfx.wad, and the file header; Quake uses WAD2, while GoldSrc uses WAD3. The WAD2 (and thus, WAD3) format itself is based on the WAD format used in the Doom engine. In addition, the Half-Life SDK includes a tool for making .WAD files called Qlumpy. Qlumpy is also used to create Quake .WAD files.
- The GoldSrc and Quake engines use .pak files to store data, such as levels and models.
Open Source Reimplementation
Unlike the source code of the Quake series from ID software, Valve never released GoldSrc as free software. Therefore fans did Game engine recreation attempts on their own. They try to stay binary compatible to play as many mods as possible, extend limits and add modern features such as improved lightning and water reflection effects. It also comes with built-in support for Nvidia PhysX.
- While the engine has no official name, in the months before the release of Half-Life, many computing magazines described the engine as being based upon "Quake Unified Technology".
- Erik Johnson explains the origin of the GoldSrc name in this quote from the Valve Developer Community:
"When we were getting very close to releasing Half-Life (less than a week or so), we found there were already some projects that we needed to start working on, but we couldn't risk checking in code to the shipping version of the game. At that point, we forked off the code in VSS to be both $/Goldsrc and /$Src. Over the next few years, we used these terms internally as "Goldsource" and "Source". At least initially, the Goldsrc branch of code referred to the codebase that was currently released, and Src referred to the next set of more risky technology that we were working on. When it came down to show Half-Life 2 for the first time at E3, it was part of our internal communication to refer to the "Source" engine vs. the "Goldsource" engine, and the name stuck."
- Half-Life (Valve, 1998)
- Half-Life: Opposing Force (Gearbox, 1999)
- Counter-Strike (Valve, 2000)
- Team Fortress Classic (Valve, 1999)
- Gunman Chronicles (Rewolf, 2000)
- Half-Life: Blue Shift (Gearbox, 2001)
- James Bond 007: Nightfire (Gearbox, 2002)
- Ricochet (Valve, 2000)
- Deathmatch Classic (Valve, 2002)
- Day of Defeat (Valve, 2003)
- Counter-Strike Neo (Valve, Namco, 2003)
- Counter-Strike: Condition Zero (Valve, Ritual, Gearbox, Turtle Rock Studios, 2004)
- Counter-Strike Online (Valve, NEXON, 2008)
- ↑ Quake Engine Hierarchy
- ↑ VERC Collective -Half-Life's Code Basis
- ↑ Half-Life / TFC / Counter-Strike Tweak Guide on TechSpot.com
- ↑ Half-Life .BSP Format on GameDev.net
- ↑ QuakeAdapter for Worldcraft 3.3
- ↑ Quake Specs v3.4 - Section 1: MAP Information
- ↑ Gimp-developer Quake / Half-Life texture wad support
- ↑ Quake Specs v3.4 - The format of WAD2 files
- ↑ Quake Misc. Utilities - "qlumpy"
- ↑ http://code.google.com/p/sing-engine/
- ↑ http://www.moddb.com/engines/xash3d-engine