Source
| Warning! This article has yet to be cleaned up to a higher standard of quality, per our Cleanup Project. It may contain factual errors and nonsense, as well as spelling, grammar and structure issues, or simply structure problems. Reader's discretion is advised until fixing is done. | ||
|---|---|---|
You can help clean up this page by correcting spelling and grammar, removing factual errors and rewriting sections to ensure they are clear and concise, and moving some elements when appropriate. |
| Source | |
|---|---|
| Developer(s) | |
| Initial release |
2004 |
| Written in | |
| Operating system(s) | |
| Development status |
Active |
| License | |
Source, formally the Source Engine and sometimes referred to as Source 1,[1] is a game engine developed by Valve Corporation. It debuted on October 2004 with the release of Half-Life 2 and Counter-Strike: Source.[2]
Source's features include a large degree of modularity, flexibility, artist-driven shader-based rendering, industry-leading lip-sync and facial expression technology, along with a powerful completely network-enabled physics system. The engine supports both 32-bit and 64-bit environments and the Microsoft Windows, macOS, Linux, Android, Xbox, Xbox 360, and PlayStation 3 platforms. Since its debut, it has received numerous updates that help bring the engine to more modern standards.
Contents
- 1 History
- 2 Technology overview
- 3 Modularity and notable upgrades
- 4 Valve Developer Community
- 5 Selected list of Source games
- 6 References
- 7 External links
History[edit]
Source internally began as the experimental branch of its predecessor engine, Goldsrc, which was used in Half-Life. This was due to Valve not wanting to add code to the shipping version of the engine.[3] Source formally debuted with the release of Half-Life 2 and Counter-Strike: Source; this original version of Source would later be referred to as Source 2004.
The engine would see lots of upgrades, beginning with Source 2006 and the release of Half-Life 2: Episode One. This branch introduced the Source SDK, as well as developer commentaries and rendering improvements such as HDR, Phong shading and color correction. The latter four features were heavily showcased in Half-Life 2: Lost Coast a year prior.
Source's most notable branch is Source 2007, also known as the Orange Box branch due to it debuting with the titular game collection. Notable introduced features include an artist-driven particle system, alongside threading, native Xbox 360 controller support, hardware morph models for finer facial expressions, and other improvements to rendering. It was superseded by Source 2009 and Source Multiplayer, and all of these branches were further superseded by Source 2013, which integrated SteamPipe and remains the only actively maintained branch with the release of the 20th Anniversary Update for Half-Life 2 in 2024 and the Team Fortress 2 SDK in 2025.
Portal 2 uses its own self-titled Source branch, which, alongside numerous improvements since the Source 2007 branches, includes new blob particles and video playback on materials, used for the gels and the screens around the elevators, respectively.
Technology overview[edit]
- For a full overview, see Source Engine Features on the Valve Developer Community Wiki.
- Rendering
- Shader-based
- DirectX 9 with Shader Model 3.0, OpenGL, OpenGL ES
- 3D skybox; an area can be displayed as a skybox at a chosen scale (typically 16, but not limited to it) with full 3D parallax
- High dynamic range rendering
- Animation
- Seamless merging with any other animation at any time
- Inverse kinematics so characters' limbs react to environments.
- Networked physics
- Uses Havok 2 physics engine, highly-tuned by Valve
- Processor-efficient, software only
- Fully networked with low bandwidth requirements
- Vehicle physics including torque, power, gears, tire material, suspension and mode.
- Audio
- Full, software-only DSP system
- Full surround sound support
- Low and high frequency components merged depending on surrounding area and relative position of origin
- Scalability
- Supports DirectX 6 and upwards[4]
- Modularity allows for Source projects to scale back to DirectX 6 if they desire
- Facial expressions
- Full range of human and non-human facial movements, based on Professor Paul Ekman's Facial Action Coding System
- Over eighty-four "digital muscles"
- Lip-sync that works in tandem with facial expressions
- Auto-generated, but completely configurable
- Stored in sound file itself for localization
- Support for higher detail "hardware morph" models which are more expensive but add greater control
Modularity and notable upgrades[edit]
Source is designed from the ground up to be highly modular. This allows for the easy upgrade and modification of certain features without breaking other areas of the engine, or breaking engine continuity (that is to say, there need be no 'version jumps' from 1.0 to 2.0). When coupled with Steam, these updates can be distributed retroactively and automatically. For instance, if Source is upgraded to support hardware physics, every Source title on Steam will instantly benefit. Entirely new features such as High Dynamic Range (HDR) Rendering have been shown to require developer input, however.
High dynamic range rendering[edit]
First seen in Day of Defeat: Source, then shortly after in Half-Life 2: Lost Coast, HDR was the first major instance of Source's modularity in use. However, whilst in theory all Source engine games and mods were able to use HDR immediately after its release, the game code required to 'hook in' to the new system was not made available to modders until eleven months later, on August 4, 2006. Official licensees and Valve themselves have all made use of the technology since its release.
Facial animation 2[edit]
When Half-Life 2: Episode One was released on 1 June 2006, it introduced the second version of Valve's proprietary facial animation system. Ken Birdwell explains the upgrade's features in the game's commentary track:
"When we designed the Half-Life 2 facial system back in 2000, our goal was to get a natural-looking performance at a moderate distance. For Episode One, we wanted to extend the characters' facial systems to support more intense performances with a wider range of facial expressions, that would hold up better at close range. These facial improvements included increasing the detail around the eyes and mouth, increasing the number of facial shape targets – think of these as movements of muscle groups – by about 50%, rewriting the rules that control how these shapes blend, and increasing the intensity of many of our existing shapes."
Dynamic lighting and shadowing 2[edit]
A new dynamic lighting and shadow mapping system was released for Source, replacing the somewhat limp existing system.[5][6] It launched with the various other new Source features with Half-Life 2: Episode Two.
| Current Lighting and Shadowing System | Dynamic Lighting and Shadowing 2 |
|---|---|
| Dynamic shadows in a map always come from the same predetermined direction. | Dynamic shadows in a map always react dynamically to every light source. |
| Models do not self-shadow or cast shadows onto other objects. | Models can self-shadow and cast shadows onto the world and other objects. |
| Dynamic shadows do not blend with lightmapped shadows and cast through all objects except world geometry. | Dynamic shadows are more unified with static shadows and don't cast through models. |
| Every object is allowed only one dynamic shadow. | Any object can cast multiple dynamic soft shadows. |
| The player's flashlight merely illuminates an area. | The player's flashlight casts shadows from models and world geometry. |
Next-gen renderer[edit]
An upgraded rendering path is in development for future Source engine games on PC, Xbox 360,[7] and presumably PlayStation 3. For PC, the new renderer has been confirmed to support DirectX 10.[8]
Landscape and Flora Rendering[edit]
Large, open natural environments with heavy foliage, traditionally a weakness for the Source engine, have been supported as of Half-Life 2: Episode Two. The updates were also made available for MOD teams to use shortly after the release.
Soft-Particle system[edit]
During the July 2006 Electronic Arts Summer Showcase press conference, Gabe Newell mentioned that a new soft-particle system would be introduced into the Source Engine in the upcoming title Half-Life 2: Episode Two. It was first demonstrated in the July 19 Team Fortress 2 teaser, which showed a remarkably realistic flamethrower in its closing moments.
Cinematic physics[edit]
During the July 2006 Electronic Arts Summer Showcase press conference, it was revealed that former Weta Digital employee Gray Horsfield, special effects destruction lead on The Return of the King and King Kong among other roles, was building a "Cinematic Physics" system for Source. GameSpy described the new system in their conference report:
"The idea behind this is to give players the opportunity to experience in-game physics in action on a grander scale. As an example of Cinematic Physics in action, a clip from Half-Life 2: Episode Two was shown of a huge bridge collapsing across a vast ravine."
The system adds the following features to Source's physics simulator:
- Deforming objects — before, physics models could not be modified except through animation
- Dynamic crumbling of brush geometry — before, lines of separation had to be specified by the mapper
Cinematic Physics supports a keyframe system,[9] but its exact nature is currently unclear. It could be that an animator creates a largely complete but low-detail sequence which then sees details added by the physics system, or it could be that an animator creates a handful of single-frame states which are then used as motion targets for the ensuing simulation (in a manner not dissimilar to the Endorphin NaturalMotion technology).
Either method results in a drastic reduction of developer input, thus allowing the creation of far more complex scenes than before with the same budget. It is currently unclear both whether or not keyframes are strictly required, and what number are needed to create a scene as complex as the bridge collapse demonstration.
Multiprocessor optimizations[edit]
As a part of the Source engine's transition to next-generation consoles, multiprocessor optimizations have been added, resulting in faster processing on PC hardware with dual or quad core systems and the Xbox 360 and PlayStation 3 consoles.[6] Gabe Newell:
"Yes. We definitely think that content needs to move forward. For example, one of the things we're reacting to is the speed at which microprocessors are coming out. So, Intel has very aggressively moved up delivery of desktop processors with four different cores; we'll have support for that in Episode Two, and we'll definitely go back to affect, Episode One or Half-Life 2 or Counter-Strike Source, so they can take advantage of that. We'll definitely try to keep the existing games - especially the multiplayer games - current as technology evolves.[10]"
Valve has demonstrated the new multi core optimizations[11] which use a multi-threading style they dub "hybrid threading." A Source multi-threading update and benchmark are expected to be released before Half-Life 2: Episode Two, though a date for either and the content of the benchmark are currently unknown.[12]
Unconfirmed future technology[edit]
Cinematic effects[edit]
With color correction and film grain already released,[13] Valve intends to add other cinematic effects such as motion blur and depth of field to Source when hardware is able to render it to their satisfaction. The effects are accomplished with an accumulation buffer for quality, creating enormous overhead; for instance, twenty to thirty motion blur frames need to be rendered for every one frame that the user sees. For a constant frame rate of thirty frames per second, a video card is required to produce between six hundred and nine hundred frames per second. This causes late 2005-era hardware to require a full two seconds to render each frame.[14]
Motion blur and depth of field can be seen in several of Valve's promotional videos, including:
- The Day of Defeat: Source video Prelude to Victory
- The initial Portal trailer.
Image-Based Rendering[edit]
Image-Based Rendering is a technique in which 2D elements are manipulated to appear in a 3D world. In the context of a 3D game, it delivers a significant performance boost by replacing 3D geometry that is far enough away for the transition to be imperceptible with a 2D image. Implementation of the technology in this role can be found applied to Rome: Total War's soldiers, Far Cry's forests,[15] and various objects in Guild Wars' environments, such as buildings and flora.
The technology had been in development for Half-Life 2, as a 2003 interview with Driverheaven.net shows,[16] but was cut. It was mentioned again by Gabe Newell during 1UP's 'Valve week':[17]
"There's this technology that was really exciting that I’d like to see us get into production, which is a different approach to rendering complexity: Moving things into and out of an image domain and then seamlessly interpolating between those motions as the player moves around. So that everything close to the player is physical and geometry, and everything really far away from the player is an image, but the player has no way of telling that if the player does it properly and things can fly out and come back."
The June 2006 Day of Defeat: Source update included an "image-based texture blending shader",[18] and Half-Life 2: Episode Two's expansive environments seem ideally suited to the technology, but it has yet to be dated or even officially announced.
File streaming[edit]
One of the technologies developed for Half-Life 2's Xbox release was file streaming, wherein a map's resources could be loaded as the player moved around in it rather than in one operation before playability.[19] With the system in place, loading times were reduced to as little as fifteen seconds. The system expanded on the caching system already implemented. There is no time frame for its release, as implementing such a system on the potentially infinite variations of PC hardware setups in use poses serious performance problems (see Stutter section). The heavily modified version of Source that Respawn used for the Titanfall games and Apex Legends uses file streaming.
Valve Developer Community[edit]
On 28 June 2005, Valve opened the Valve Developer Community Wiki. The VDC replaced the previously available Source SDK documentation with a full MediaWiki-powered community site. Within a matter of days Valve reported that "the number of useful articles [had] nearly doubled". These new articles covered the previously undocumented Counter-Strike: Source bot (added by the bot's author, Mike Booth) and Half-Life 2 AI, source control for Source engine mods, and more.
Selected list of Source games[edit]
- Valve
- Half-Life 2
- Half-Life 2: Episode One and Episode Two (now bundled with main game)
- Half-Life: Source (unlisted)
- Half-Life 2: Deathmatch
- Half-Life Deathmatch: Source
- Half-Life 2: Lost Coast
- Portal
- Portal 2
- Third-party
References[edit]
- ↑ Source 1 Games GitHub repository
- ↑ Source Product Brochure
- ↑ Erik Johnson's message on Valve Developer Community
- ↑ DirectX Versions. Valve Developer Community. Retrieved on 9 July 2006.
- ↑ New technology for EP2. HL2World.com.
- ↑ 6.0 6.1 Half-Life 2: Episode Two Impressions. GameSpot (24 August 2006). Retrieved on 24 August 2006.
- ↑ Valve Half-Life 2: Episode One Interview. FiringSquad.com.
- ↑ Fortress 2 Hands-On Preview Game Informer (March 28, 2007) (archived)
- ↑ Half-Life 2: Episode Two Update. IGN.com (July 13, 2006). Retrieved on 22 July 2006.
- ↑ Interview: Gabe Newell. PC Zone (2006-09-11). Retrieved on 2006-09-20.
- ↑ Multi-Core in the Source Engine Core. Bit-tech (2006-11-2). Retrieved on 2006-11-2.
- ↑ Valve Loves Quad Core. ExtremeTech (2006-11-2). Retrieved on 2006-11-2.
- ↑ Day Of Defeat: Source Summer Update Coming June 28. Steam News.
- ↑ Cinematic Effects in Source. bit-tech.net (December 9, 2005). Retrieved on 19 July 2006.
- ↑ Eike Umlauf (24 August 2004) (PDF). Image-Based Rendering of Forests. VRVis. www.vrvis.at/publications/pdfs/VRVis_2005_11_14_16_06_19.pdf. Retrieved on 21 August 2006.
- ↑ Interview with Gabe Newell. DriverHeaven.net.
- ↑ Valve Week. 1UP.com. Retrieved on 14 July 2006.
- ↑ Day of Defeat: Source Update Released. Steam news. Retrieved on 14 July 2006.
- ↑ Info received from valve. ValveTime forums.
External links[edit]
- Valve's Source licensing site
Source Engine Features on the Valve Developer Community
Valve Developer Community Main Page on the Valve Developer Community- GameSpy: "Original Half-Life to be Released in Source Engine"
- Half-Life Fallout.net's comprehensive "Source: Belly of the Beast" article (archived)
- DevMaster.net Source Engine details
- Bit-tech.net's in depth look at Cinematic Effects in Source