Friday 19 February 2016

The Source Engine: a brief history, Part 1

In the summer of 2014, Valve publicly announced  a successor to their renowned Source Engine.. At that time, 2014 could already be seen as a special year for the Source family, as the original Source engine was released to the public in 2004, after itself being the spiritual successor to Valve's GoldSrc Engine (Half Life 1). The Source engine gave birth to world famous titles like;

  • Counter Strike: Source (2004), 
  • Half-Life 2 (2004), 
  • HL2 Episode 1 (2006)
  • HL2 Episode 2 (2007),
  • The Orange Box (including all the forementioned + Portal & Team Fortress 2, 2007),
  • Left4Dead 1 & 2 (2009).
  • Portal 2 (2011)  
Despite the excellent reputation of these in-house Valve Titles, Third Party interest in the engine has always been sparse. Most of the non-Valve titles started out their lifes as (free) mods, generally using the Half Life 2 SDK. As modularity has always been the Engine's strong suit, many of these Mods released since 2006, were made by gamers who had no previous experience in modding whatsoever, using the limited hardware of the day. (more about that later). Some of the Third Party titles that are still successful today were once simple Half Life 2 mods; 
  • Dark Messiah of Might and Magic (no mod, Ubisoft, 2006),
  • Garry's Mod (mod, Garry, Valve, 2006),
  • Nuclear Dawn (mod, 2011
  • The Stanley Parabel (mod, Galactic Café, 2013), 
  • No More Room in Hell (mod, 2013)
  • Titanfall (no mod, Respawn Entertainment, 2014).

(Gold)Source's Origins

Some may wonder how it is that only now, more than 12 years after its original release, a successor  to the engine is in the making. The answer is simple, Source is modular and it came to be so almost by an accumulation of circumstances. As mentioned before, Source is a successor to the (also quite famous) GoldSrc Engine, which in turn was a modified version of the original Quake Engine. Before the development and release of Source, GoldSrc was simply known as "the Half Life Engine".

Valve started development on Source during the final check-ups in the weeks before the release of Half Life (1998). During that time, new projects were being hauled in and new challenges were presenting itself to the GoldSrc engine (and the development team).

Valve employees and programmers tackled these quasi Force Majeurs by implementing new bits of code into GoldSrc. Risky and experimental, as the new lines of code envisioned a higher level of programming (C++) and targeted a standard of hardware that was not readily available to the general public. To prevent this new codebase from contaminating the release versions of Half Life and its episodic content, a fork was launched.
 From that point, internal communication referred to GoldSrc, used in commercial releases, and Src, used internally for experimentation and future projects. 
The GldSrc and Src branch of the engine, existed side by side. As time evolved the gap betweem them, would grow ever wider.

From Fork to Engine.

Over the next years, as time passed and technology evolved, Valve continued to implement experimental features in the Src-branch, replacing bits and pieces with newer standards while ensuring compatibility to the original codebase. Over the years there would be less and less of Gold in Source. So it came to be that Valve, unwittingly, gave birth to the modular nature of Source. From pet-project to a unique and fully standardized gaming engine.

As Valve continued work on the engine, and its first release-titles (CS: Source & Half Life 2), GoldSrc was used for the development of new titles, most of them in relation to Half Life. Third Party interest in GldSrc remained, despite the development of Source, as new titles using the engine were released up into the second half of the 2000's

Valve discontinued the use of the engine in new titles, but continued to optimize it for compatibility on newer OS's and hardware. Second Party titles (developped with the supervision of Valve) in the Counter Strike Series, still use GldSrc.

Valve's original vision on Source and how the engine changed gaming.

Source came into existence as an engine that was intended to evolve incrementally, as technology and even the concept of gaming itself evolved. As changes and needs presented themselves, Valve answered by implementing new code, develope in-house and/or using external Middleware. Miles Sound System and Havok Physics are two examples of Middleware which have been around since the origins of the engine, as they were key to Half Life 2's gameplay. (This may sound as a fait divers but back into the 90's and early 2000's, most gaming engines were mostly a strictly in-house thing).

Essentially, this means that games developped in the old days, grow along with the engine, quality-wise. Along the years Shaders were introduced, HDR, dynamic lighting effects, advanced physics, optimised rendering, volumetric particle effects... Games developped and released in Source, years ago, have survived long past their predicted expiring date and almost always look far better than their colleagues of a similar age, developped in another engine.

As Valve gradually updated and improved elements of Source, there has never been any real need for version numbers. There have never been any grand-scale release events involving a new edition of the Engine (like Unreal 1, 2, 3, 4...).  The Source that's around today is officially still the same Source that was released in 2004.
Valve Envisioned that each title or project that was once released in the Source Engine, should still work in the newest version of the software, without developers having to rewrite their code or update their project. They kept true to that promise, mostly.





No comments:

Post a Comment