Source (game engine)
This article relies too much on references to primary sources. (June 2017) (Learn how and when to remove this template message)
Some of this article's listed sources may not be reliable. (June 2017) (Learn how and when to remove this template message)
Source is a 3D video game engine developed by Valve Corporation. It debuted as the successor to GoldSrc, with the first game being Counter-Strike: Source in June 2004, followed shortly by Half-Life 2 in November, and it has been in active development since. Source does not have a concise version numbering scheme; instead, it is designed in constant incremental updates. Its successor, Source 2, was officially announced in March 2015, with the first game to use it being Dota 2, which was ported over from Source later that year.
- 1 History
- 2 Tools and resources
- 3 Games
- 4 See also
- 5 References
Source distantly originates from the GoldSrc engine, itself a heavily modified version of John Carmack's Quake engine. Carmack commented on his blog in 2004 that "there are still bits of early Quake code in Half-Life 2". Valve employee Erik Johnson explained the engine's nomenclature on 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
/$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.
Source was developed part-by-part from this fork onwards, slowly replacing GoldSrc in Valve's internal projects and, in part, explaining the reasons behind its unusually modular nature. Valve's development of Source since has been a mixture of licensed middleware and in-house-developed code. Among others, Source uses Bink Video for video playback.
Modularity and notable upgradesEdit
Source was created to evolve incrementally with new technology, as opposed to the backward compatibility-breaking "version jumps" of its competitors. Different systems within Source are represented by separate modules which can be updated independently. With Steam, Valve can distribute these updates automatically among its many users. In practice, however, there have been occasional breaks in this chain of compatibility. The release of Half-Life 2: Episode One and The Orange Box both introduced new versions of the engine that could not be used to run older games or mods without the developers performing upgrades to code and, in some cases, content. Both cases required markedly less work to update its version than competing engines. This was demonstrated in 2010, when Valve updated all of their core Source games to the latest engine build.
Since Source engine's release in 2004, the following major architectural changes have been made:
The Source 2006 branch was the term used for Valve's games using technology that culminated with the release of Half-Life 2: Episode One. HDR rendering and color correction were first implemented in 2005 using Day of Defeat: Source, which required the engine's shaders to be rewritten. The former, along with developer commentary tracks, were showcased in Half-Life 2: Lost Coast. Episode One introduced Phong shading and other smaller features. Since the transition to Steam Pipe, this branch was made deprecated and is now used for backward compatibility with older mods. Image-based rendering technology had been in development for Half-Life 2, but was cut from the engine before its release. It was mentioned again by Gabe Newell in 2006 as a piece of technology he would like to add to Source to implement support for much larger scenes that are impossible with strictly polygonal objects.
The Source 2007 branch represented a full upgrade of the Source engine for the release of The Orange Box. An artist-driven, threaded particle system replaced previously hard-coded effects for all of the games within. An in-process tools framework was created to support it, which also supported the initial builds of Source Filmmaker. In addition, the facial animation system was made hardware-accelerated on modern video cards for "feature film and broadcast television" quality. The release of The Orange Box on multiple platforms allowed for a large code refactoring, which let the Source engine take advantage of multiple CPU cores. However, support on the PC was experimental and unstable until the release of Left 4 Dead. Multiprocessor support was later backported to Team Fortress 2 and Day of Defeat: Source. Valve created the Xbox 360 release of The Orange Box in-house, and support for the console is fully integrated into the main engine codeline. It includes asset converters, cross-platform play and Xbox Live integration. Program code can be ported from PC to Xbox 360 simply by recompiling it. The PlayStation 3 release was outsourced to Electronic Arts, and was plagued with issues throughout the process. Gabe Newell cited these issues when criticizing the console during the release of The Orange Box.
Left 4 Dead branchEdit
The Left 4 Dead branch was a complete overhaul of the Source engine through the development of the Left 4 Dead series. Multiprocessor support was further expanded, allowing for features like split screen multiplayer, additional post-processing effects, event scripting with Squirrel, and the highly-dynamic AI Director. The menu interface was re-implemented with a new layout designed to be more console-oriented. This branch later fueled the releases of Alien Swarm and Portal 2, the former released with source code outlining many of the changes made since the branch began. Portal 2, in addition, served as the result of Valve taking the problem of porting to PlayStation 3 in-house, and in combination with Steamworks integration creating what they called "the best console version of the game".
In April 2010, Valve released all of their major Source games on OS X, coinciding with the release of the Steam client on the same platform. Valve announced that all their future games will be released simultaneously for Windows and Mac. The first of Valve's games to support Linux was Team Fortress 2, the port released in October 2012 along with the closed beta of the Linux version of Steam. Both the OS X and Linux ports of the engine take advantage of OpenGL and are powered by SDL. During the process of porting, Valve rearranged most of the games released up to The Orange Box into separate, but parallel "singleplayer" and "multiplayer" branches. The game code to these branches was made public to mod developers in 2013, and they serve as the current stable release of Source designated for mods. Support for Valve's internal Steam Pipe distribution system as well as the Oculus Rift are included. In May 2014, Nvidia released ports of Portal and Half-Life 2 to their Tegra 4-based Android handheld game console Nvidia Shield.
As far back as May 2011, one of Valve's largest projects has been the development of new content authoring tools for Source. These would replace the current outdated tools, allowing content to be created faster and more efficiently. Newell has described the creation of content with the engine's current toolset as "very painful" and "sluggish". Valve officially announced the engine at the Game Developers Conference in March 2015, also stating that it would be free to use for developers, with support for the Vulkan graphical API. In addition, Valve confirmed that it would be using a new in-house physics engine named Rubikon. In 2015, Dota 2 was ported over to Source 2 in an update called Dota 2 Reborn, making it the first game to use the engine. The engine has since been used for Artifact and Dota Underlords, with a version of the engine that runs on Android and iOS devices.
Tools and resourcesEdit
Source SDK is the software development kit for the Source engine, and contains many of the tools used by Valve to develop assets for their games. It comes with several command-line programs designed for special functions within the asset pipeline, as well as a few GUI-based programs designed for handling more complex functions. Source SDK was launched as a free standalone toolset through Steam, and required a Source game to be purchased on the same account. Since the release of Left 4 Dead in late 2008, Valve began releasing "Authoring Tools" for individual games, which constitute the same programs adapted for each game's engine build. After Team Fortress 2 became free-to-play, Source SDK was effectively made open to all Steam users. When some Source games were updated to Source 2013, the older Source SDKs were phased out. The three applications mentioned below are now included in the install of each game.
There are three applications packaged in the Source SDK: Hammer Editor, Model Viewer, and Face Poser. Hammer Editor, the engine's official level editor, uses rendering and compiling tools included in the SDK to create maps using the binary space partitioning (BSP) method. The tool was originally known as Worldcraft and was developed independently by Ben Morris before Valve acquired it. The Model Viewer is a program that allows users to view models and can be used for a variety of different purposes, including development. Developers may use the program to view models and their corresponding animations, attachment points, bones, and so on. Face Poser is the tool used to access facial animations and choreography systems. This tool allows one to edit facial expressions, gestures and movements for characters, lip sync speech, and sequence expressions and other acting cues and preview what the scene will look like in the game engine.
Source Dedicated ServerEdit
The Source Dedicated Server or SRCDS is a standalone launcher for the Source engine that runs multiplayer game sessions without requiring a client. It can be launched through Windows or Linux, and can allow for custom levels and assets. Most third-party servers additionally run Metamod:Source and SourceMod, which together provide a framework on top of SRCDS for custom modification of gameplay on existing titles.
The Source Filmmaker (SFM) is a video capture and editing application that works from within the Source engine. Developed by Valve, the tool was originally used to create movies for Day of Defeat: Source, but is more associated with Team Fortress 2. Today, it is open for public use and downloadable via the Steam client.
Destinations Workshop ToolsEdit
Valve Developer CommunityEdit
In June 2005, Valve opened the Valve Developer Community (VDC) wiki. VDC replaced Valve's static Source SDK documentation with a full MediaWiki-powered community site; within a matter of days Valve reported that "the number of useful articles nearly doubled". These new articles covered the previously undocumented Counter-Strike: Source bot, Valve's non-player character AI, advice for mod teams on setting up source control, and other articles.
Valve staff occasionally produce professional and/or academic papers for various events and publications, including SIGGRAPH, Game Developer Magazine and Game Developers Conference, explaining various aspects of Source engine's development.
- Half-Life 2 (2004)
- Half-Life 2: Deathmatch (2004)
- Half-Life: Source (2004)
- Counter-Strike: Source (2004)
- Day of Defeat: Source (2005)
- Half-Life 2: Lost Coast (2005)
- Half-Life Deathmatch: Source (2006)
- Half-Life 2: Episode One (2006)
- Half-Life 2: Episode Two (2007)
- Team Fortress 2 (2007)
- Portal (2007)
- Left 4 Dead (2008)
- Left 4 Dead 2 (2009)
- Alien Swarm (2010)
- Portal 2 (2011)
- Counter-Strike: Global Offensive (2012)
Games by other developersEdit
- Vampire: The Masquerade – Bloodlines (2004)
- Garry's Mod (2006)
- SiN Episodes (2006)
- Dark Messiah of Might and Magic (2006)
- The Ship (2006)
- Kuma\War (2006)
- Dystopia (2007)
- Insurgency: Modern Infantry Combat (2007)
- Zombie Panic! Source (2007)
- Zeno Clash (2009)
- NeoTokyo (2009)
- Bloody Good Time (2010)
- Vindictus (2010)
- Pirates, Vikings and Knights II (2010)
- E.Y.E.: Divine Cybermancy (2011)
- No More Room in Hell (2011)
- Nuclear Dawn (2011)
- Postal III (2011)
- Dino D-Day (2011)
- Dear Esther (2012)
- Black Mesa (2012)
- Tactical Intervention (2013)
- The Stanley Parable (2013)
- Blade Symphony (2014)
- Consortium (2014)
- Contagion (2014)
- Insurgency (2014)
- Titanfall (2014)
- Fistful of Frags (2014)
- Portal Stories: Mel (2015)
- The Beginner's Guide (2015)
- Infra (2016)
- Titanfall 2 (2016, modified)
- Day of Infamy (2017)
- Apex Legends (2019, modified)
- Crossley, Rob (May 12, 2011). "Valve on Source and studio culture". Develop Magazine. Archived from the original on August 13, 2011. Retrieved August 14, 2011.
We have as many people working on our tools as we have working on a single project. So, about twenty to thirty core people.Cite uses deprecated parameter
- "Welcome, Q3 source, Graphics". John Carmack's Blog. December 31, 2004. Archived from the original on May 17, 2006. Cite uses deprecated parameter
- Johnson, Erik (September 1, 2005). "Talk:Erik Johnson". Valve Developer Community. Archived from the original on February 13, 2012. Retrieved August 15, 2007. Cite uses deprecated parameter
- Hodgson, David (2004). Half-Life 2: Raising the Bar. Prima Games. ISBN 0-7615-4364-3.
- O'Donnell, Ryan (July 19, 2004). "Counter-Strike: Source - Full-Screen E3 2004 Presentation". GameSpy. Archived from the original on March 4, 2016. Retrieved April 20, 2015. Cite uses deprecated parameter
- "New Update Breaking New and Old Mods?". PlanetPhillip. Archived from the original on October 21, 2014. Retrieved October 17, 2014. Cite uses deprecated parameter
- Valve Corporation. Half-Life 2: Lost Coast. PC.
Chris Green: The Source engine supports a wide variety of shaders. The refraction shader on the window here requires us to copy the scene to a texture, refract it, and then apply it the window surface. To fully support HDR, every shader in the engine needed to be updated, so this refraction shader was improved to the support the full range of contrast.
- "Interview with Gabe Newell". DriverHeaven.net. Archived from the original on June 28, 2009. Retrieved November 21, 2009. Cite uses deprecated parameter
- "Valve Week". 1UP.com. Archived from the original on July 13, 2006. Retrieved July 14, 2006. Cite uses deprecated parameter
- "Face-to-Face with TF2's Heavy". Steam news. May 14, 2007. Archived from the original on May 8, 2009. Retrieved April 25, 2010. Cite uses deprecated parameter
- "Interview: Gabe Newell". PC Zone. September 11, 2006. Archived from the original on March 5, 2012. Retrieved September 20, 2006. Cite uses deprecated parameter
- "Dual Core Performance". October 11, 2008. Archived from the original on March 14, 2012. Retrieved December 23, 2008. Cite uses deprecated parameter
- Lombardi, Doug (May 13, 2008). "PCGH interview about Left 4 Dead, part 2". Interviewer: Frank Stöwer. Retrieved December 23, 2008.
- Nick, Breckon (March 18, 2008). "Team Fortress 2 Update Adds Multicore Rendering". Archived from the original on June 16, 2009. Retrieved August 19, 2009. Cite uses deprecated parameter
- "Source - Console Support". Valve. Archived from the original on August 13, 2009. Retrieved August 8, 2009. Cite uses deprecated parameter
- "Joystiq interviews Doug Lombardi about Xbox 360 Source". Joystiq. October 17, 2006. Archived from the original on September 22, 2009. Retrieved August 8, 2009. Cite uses deprecated parameter
- Yoon, Andrew (October 11, 2007). "Gabe Newell calls PS3 'waste of everybody's time'". Engadget. Archived from the original on July 3, 2015. Retrieved April 20, 2015. Cite uses deprecated parameter
- "Portal 2: Pretty Much Every PS3 Question Answered (And That Cake Thing, Too)". Sony Computer Entertainment America. April 14, 2011. Archived from the original on September 2, 2011. Cite uses deprecated parameter
- "Valve to Deliver Steam & Source on the Mac". Valve. March 8, 2010. Archived from the original on August 26, 2013. Retrieved March 8, 2010. Cite uses deprecated parameter
- "Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April". Kotaku. March 8, 2010. Archived from the original on December 18, 2011. Retrieved March 8, 2010. Cite uses deprecated parameter
- "Simple DirectMedia Layer - Homepage". Archived from the original on April 21, 2018. Retrieved April 21, 2015. Cite uses deprecated parameter
- "News - Source SDK 2013 Release". Steam. Archived from the original on April 8, 2015. Retrieved April 21, 2015. Cite uses deprecated parameter
- "The Greatest PC Games of All-Time – 'Half-Life 2′ and 'Portal' – Now Available on SHIELD". Nvidia. May 12, 2014. Archived from the original on May 13, 2014. Retrieved May 12, 2014. Cite uses deprecated parameter
- "Steamcast #47". Steamcast. February 9, 2011. Archived from the original on August 18, 2011. Retrieved August 14, 2011.
Oh yeah, we're spending a tremendous amount of time on tools right now. So, our current tools are... very painful, so we probably are spending more time on tools development now than anything else and when we’re ready to ship those I think everybody's life will get a lot better. Just way too hard to develop content right now, both for ourselves and for third parties so we’re going to make enormously easier and simplify that process a lot.Cite uses deprecated parameter
- Kollar, Philip (March 3, 2015). "Valve announces Source 2 engine, free for developers". Archived from the original on March 5, 2015. Retrieved March 3, 2015. Cite uses deprecated parameter
- Mahardy, Mike (March 3, 2015). "GDC 2015: Valve Announces Source 2 Engine". IGN. Archived from the original on March 4, 2015. Retrieved March 3, 2015. Cite uses deprecated parameter
- Migdalskiy, Sergiy (March 2015). "Physics for Game Developers: Physics Optimization Strategies" (PDF). Game Developers Conference. Archived (PDF) from the original on March 4, 2016. Retrieved October 2, 2015. Cite uses deprecated parameter
- Macy, Seth. "Dota 2 Now Valve's First Ever Source 2 Game". IGN. Archived from the original on September 10, 2015. Retrieved September 9, 2015. Cite uses deprecated parameter
- Livingston, Christopher (June 12, 2015). "Valve announces Dota 2 Reborn, new engine coming". PC Gamer. Archived from the original on June 15, 2015. Retrieved June 13, 2015. Cite uses deprecated parameter
- Martin, Michael. "Valve Announces Dota 2 Reborn". IGN. Archived from the original on June 29, 2016. Retrieved July 10, 2016. Cite uses deprecated parameter
- Bailey, Dustin (March 8, 2018). "Artifact will use Source 2, bringing the engine to iOS and Android". PCGamesN. Archived from the original on March 9, 2018. Retrieved March 8, 2018. Cite uses deprecated parameter
- "Valve Press Release". Valve. Archived from the original on June 10, 2011. Retrieved May 12, 2010. Cite uses deprecated parameter
- "MetaMod:S". Archived from the original on July 1, 2014. Cite uses deprecated parameter
- "SourceMod". Archived from the original on June 1, 2014. Cite uses deprecated parameter
- "Source Filmmaker". Source Filmmaker. Archived from the original on April 2, 2013. Retrieved March 31, 2013. Cite uses deprecated parameter
- Crecente, Brian. "Valve rolls out free VR creation tool for new destinations workshop". Polygon. Archived from the original on June 9, 2016. Retrieved June 9, 2016. Cite uses deprecated parameter
- "Valve Publications". Archived from the original on September 21, 2013. Retrieved September 25, 2013. Cite uses deprecated parameter
- "Vampire: The Masquerade - Bloodlines Designer Diary #3". GameSpot. December 16, 2003. Archived from the original on May 18, 2016. Retrieved January 4, 2015. Cite uses deprecated parameter
- "Hieronymus: ACE Team Explain Zeno Clash II". Rock, Paper, Shotgun. June 7, 2012. Archived from the original on April 5, 2015. Retrieved January 4, 2015. Cite uses deprecated parameter
- "E3 2016: Respawn Talks Content Variety, Reworked Engine in Titanfall 2".
- "Apex Legends: the Titanfall 2 engine evolved?".
|Wikimedia Commons has media related to Source (game engine).|