GoldSrc

From Wikipedia, the free encyclopedia
GoldSrc engine
Developer(s) Valve Corporation
Written in
Platform Microsoft Windows
Macintosh
Linux
PlayStation 2
Xbox
Dreamcast
Type Game engine

GoldSrc, or Goldsource, is the retronym used internally by Valve Software to refer to the heavily modified Quake engine that powers their science fiction first-person shooter Half-Life (1998).

The successor of the GoldSrc engine is the Source engine, which powers games such as Half-Life 2.

Origins

Ken Birdwell explains it like this:

"It is fundamentally just a heavily modified Quake 1 engine. There are about 50 lines of code from the Quake 2 engine, mostly bugs fixes to hard problems that Carmack found and fixed before we ran into them."

At its core, it's a Quake 1 engine. You can tell this by comparing Half-life's map compiling tools with those shipped with Quake 1. You'll find very minor differences -- none of them are fundamental. The core rendering is architecturally identical to Quake1, the only "significant" change is removing the fixed palette, making map lighting RGB instead of 8 bit, and converting software rendering to be 16 bit color instead of 8 bit color, which was pretty easy and only required minor code changes. Our skeletal animation system is new, though it was heavily influenced by the existing model rendering code, as were a lot of our updated particle effects, though less so with our beam system. Decals are totally new, our audio system has some major additions to what already existed, and at ship time our networking was almost totally Quake1 / QuakeWorld networking but about a year later Yahn rewrote most of all of it to be very different in design. The most highly changed sections are the game logic; ours being written in C++ and Quake's being written in interpreted "Quake C". Our AI system is very very different from anything in Quake, and there's a lot of other significant architectural changes in the whole server and client implementations, though if you look hard enough you can find a few remnants of some nearly unmodified Quake 1 era entities buried in places.

—Chris Bokitch[1]

We also took PAS from QW and/or Q2 and a couple of other minor routines I can remember (no more than 100-200 lines of code there). There was some feature overlap (as Ken mentions) like game code DLLs and colored lighting, but we developed our own solutions to those independent of Q2.

—Jay Stelly[2]

We have the source code to the original DOS Quake, Win Quake, GL Quake, Quake World, Quake II, and all of the various patches. We pick and choose from that source base depending on what we are trying to do. However, we've been implementing a lot of our own sub-systems (animation, AI, GL and software renderer), so about 75% of the engine is our own code.

Gabe Newell[3]

History of the name

Prior to the creation of the Source engine, the GoldSrc engine had no real title. Once Source was created, Valve forked the code from the Half-Life engine to make the Source engine. This created two main engine branches, each used for different purposes. One titled "Goldsrc", the other titled "Src". Internally, any games using the first variant were referred to as "Goldsource" in order to differentiate the two branches. Eventually, it became something of a moniker for the engine and was dubbed the official title externally.[4]

Games using the GoldSrc engine

References

  1. Bokitch, Chris (1 Aug 2002). "Half-Life's Code Basis". Valve Software. Archived from the original on 1 March 2007. Retrieved 12 February 2011. 
  2. "Half-Life's Code Basis". TWHL. Retrieved 15 April 2013. 
  3. Newell, Gabe (1999). "Half Life: Interview With Gabe Newell". GameSpot UK. Archived from the original on 23 July 2002. Retrieved 22 March 2011. 
  4. Johnson, Erik (1 September 2005). "Talk:Erik Johnson". Valve Developer Community. Retrieved 12 February 2011. 
This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.