Sourceis a 3Dgame enginedeveloped byValve.It debuted as the successor toGoldSrcin 2004 with the releases ofHalf-Life: Source,Counter-Strike: Source,andHalf-Life 2.Other notable third-party games using Source includeVampire: The Masquerade – Bloodlines,Dear Esther,andThe Stanley Parable.Valve released incremental updates to the engine during its lifetime. Source was succeeded in 2015 by the release ofSource 2.

Source
Developer(s)Valve
Initial releaseOctober 2004;20 years ago(2004-10)
Written inC++
MiddlewareHavok
PredecessorGoldSrc
SuccessorSource 2
LicenseProprietary

History

edit

Source distantly originates from theGoldSrcengine, itself a heavily modified version ofJohn Carmack'sQuake enginewith some code from theQuake II engine.Carmack commented on his blog in 2004 that "there are still bits of earlyQuakecode inHalf-Life 2".[1]Valve employee Erik Johnson explained the engine'snomenclatureon the Valve Developer Community:[2]

When we were getting very close to releasingHalf-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 weforkedoff the code inVSSto be both/$Goldsrcand/$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 showHalf-Life 2for the first time atE3,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[3]and, in part, explaining the reasons behind its unusually modular nature. Valve's development of Source since has been a mixture of licensedmiddlewareand in-house-developed code. Older versions of Source useBink Videofor video playback,[4]however more recent releases of the Source engine useWebMvideos for menu backgrounds,Full Motion Videos,and splash screens.[5] .

Modularity and notable updates

edit

Source was created to evolve incrementally with new technology, as opposed to thebackward compatibility-breaking "version jumps" of its competitors. Different systems within Source are represented by separate modules which can be updated independently. WithSteam,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 ofHalf-Life 2: Episode OneandThe Orange Boxboth introduced new versions of the engine that could not be used to run older games ormodswithout the developers performing upgrades to code and, in some cases, content.[6]Both cases required markedly less work to update its version than competing engines.

Source 2006

edit
A screenshot ofHalf-Life 2: Episode One.Thehigh-dynamic-range renderingandPhong shadingeffects are evident.

The Source 2006 branch was the term used for Valve's games using technology that culminated with the release ofHalf-Life 2: Episode One.HDR renderingandcolor correctionwere first implemented in 2005 usingDay of Defeat: Source,which required the engine's shaders to be rewritten.[7]The former, along with developer commentary tracks, were showcased inHalf-Life 2: Lost Coast.Episode OneintroducedPhong shadingand other smaller features.Image-based renderingtechnology had been in development forHalf-Life 2,[8]but was cut from the engine before its release. It was mentioned again byGabe Newellin 2006 as a piece of technology he would like to add to Source to implement support for much larger scenes that are impossible with strictlypolygonalobjects.[9]

Source 2007

edit

The Source 2007 branch represented a full upgrade of the Source engine for the release ofThe Orange Box.An artist-driven, threadedparticle systemreplaced previouslyhard-codedeffects for all of the games within.[citation needed]An in-processtools framework was created to support it, which also supported the initial builds ofSource Filmmaker.In addition, the facial animation system was made hardware-accelerated on modern video cards for "feature film and broadcast television" quality.[10]The release ofThe Orange Boxon multiple platforms allowed for a largecode refactoring,which let the Source engine take advantage of multiple CPU cores.[11]However, support on the PC was experimental and unstable[12]until the release ofLeft 4 Dead.[13]Multiprocessor support was later backported toTeam Fortress 2andDay of Defeat: Source.[14]Valve created theXbox 360release ofThe Orange Boxin-house, and support for the console is fully integrated into the main engine codeline. It includes asset converters, cross-platform play andXbox Liveintegration.[15]Program code can be ported from PC to Xbox 360 simply by recompiling it.[16]ThePlayStation 3release was outsourced toElectronic Arts,and was plagued with issues throughout the process.Gabe Newellcited these issues when criticizing the console during the release ofThe Orange Box.[17]

Left 4 Deadbranch

edit

The Left 4 Dead branch is an overhaul of many aspects of the Source engine through the development of theLeft 4 Deadseries.Multiprocessor support was further expanded, allowing for features like split screen multiplayer, additional post-processing effects, event scripting withSquirrel,and the highly-dynamicAI Director.The menu interface was re-implemented with a new layout designed to be more console-oriented. This branch later fueled the releases ofAlien SwarmandPortal 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 withSteamworksintegration creating what they called "the best console version of the game".[18]

OS X, Linux, and Android support

edit

In April 2010, Valve released all of their major Source games onOS X,coinciding with the release of the Steam client on the same platform. Valve announced that all their future games would be released simultaneously for Windows and Mac.[19][20]The first of Valve's games to support Linux wasTeam 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 ofOpenGLand are powered bySimple DirectMedia Layer.[21]During the process of porting, Valve rearranged most of the games released up toThe Orange Boxinto 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 theOculus Riftare included.[22]In May 2014,Nvidiareleased ports ofPortalandHalf-Life 2to theirTegra 4-based Androidhandheld game consoleNvidia Shield.[23]

Source 2

edit

Source 2 was announced by Valve as the successor to Source at theGame Developers Conferencein March 2015.[24]There, Valve stated that it would be free to use for developers, with support for theVulkan graphical API,as well as using a new in-housephysics enginecalled Rubikon.[25][26]In June 2015, Valve announced thatDota 2,originally made in the Source engine, would be ported over to Source 2 in an update calledDota 2 Reborn.[27][28]Rebornwas first released to the public as an opt-in beta update that same month before officially replacing the original client in September 2015, making it the first game to use the engine.[29][30]The engine had succeeded Source by the late 2010s.

Tools and resources

edit

Source SDK

edit

Source SDKis thesoftware development kitfor 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 ofLeft 4 Deadin late 2008, Valve began releasing "Authoring Tools" for individual games, which constitute the same programs adapted for each game's engine build. AfterTeam Fortress 2became 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.[citation needed]

There are three applications packaged in the Source SDK: Hammer Editor, Model Viewer, and Face Poser. 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 editfacial expressions,gestures and movements for characters,lip syncspeech, and sequence expressions and other acting cues and preview what the scene will look like in the game engine.[31]

Hammer Editor

edit

The Hammer Editor, the engine's officiallevel editor,uses rendering and compiling tools included in the SDK to create maps using thebinary space partitioning(BSP) method. Level geometry is created with 3D polygons calledbrushes;each face can be assigned atexturewhich also defines the properties of the surface such as the sounds used for footsteps.[32]Faces can also be converted into a displacement allowing for more natural shapes such as hills to be created.

Scenery objects or complex geometry can be imported as separate 3D models from the game directory. These models can also be used as physics objects or interactive props. The editor also features an in-depth logicI/Osystem that can be used to create complex interactive elements. Signals to trigger different responses or change the state of an entity can be sent between entities such as buttons,NPCs,intangible trigger brushes, and map props.

Source Dedicated Server

edit

TheSource Dedicated Server(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 runMetamod:Source and SourceMod, which together provide a framework on top of SRCDS for custom modification of gameplay on existing titles.[33][34]

Source Filmmaker

edit

Source Filmmaker (SFM) is a 3D animation application that was built from within the Source engine.[35]Developed by Valve, the tool was originally used to create movies forDay of Defeat: SourceandTeam Fortress 2.It was also used to create some trailers for Source Engine games. SFM was released to the public in 2012.

Destinations Workshop Tools

edit

In June 2016, Valve released the Destinations Workshop Tools, a set of freevirtual reality(VR) creation tools running using the Source 2 SDK.[36]

Valve Developer Community

edit

In June 2005, Valve opened the Valve Developer Communitywiki.It replaced Valve's static Source SDK documentation with a fullMediaWiki-powered community site.[37]

Academic papers

edit

Valve staff have occasionally produced professional and/or academic papers for various events and publications, includingSIGGRAPH,Game Developer MagazineandGame Developers Conference,explaining various aspects of Source engine's development.[38]

Notable games using Source

edit
List of notable games using Source
Year Title Developer(s) Publisher(s)
2004 Counter-Strike: Source Valve Valve
Half-Life 2
Vampire: The Masquerade – Bloodlines[39] Troika Games Activision
Half-Life 2: Deathmatch Valve Valve
Half-Life: Source
2005 Day of Defeat: Source Valve Valve
Half-Life 2: Lost Coast
2006 Half-Life Deathmatch: Source
Half-Life 2: Episode One
Garry's Mod Facepunch Studios
SiN Episodes Ritual Entertainment Ritual Entertainment
Dark Messiah of Might and Magic Arkane Studios Ubisoft
The Ship Outerlight Mindscape(EU), Merscom (NA)
2007 Half-Life 2: Episode Two Valve Valve
Team Fortress 2
Portal
Dystopia Team Dystopia, Puny Human Puny Human
Insurgency: Modern Infantry Combat Insurgency Development Team New World Interactive
2008 Left 4 Dead Valve Valve
2009 Left 4 Dead 2
Zeno Clash[40] ACE Team Iceberg Interactive,Tripwire Interactive
NeoTokyo Studio Radi-8 NEOTOKYO[41]
2010 Bloody Good Time Outerlight Ubisoft
Vindictus devCAT Nexon
E.Y.E.: Divine Cybermancy Streum On Studio Streum On Studio
Alien Swarm Valve Valve
2011 Portal 2
No More Room in Hell No More Room in Hell Team Lever Games
Nuclear Dawn InterWave Studios Iceberg Interactive
Postal III Trashmasters,Running with Scissors Akella
Dino D-Day 800 North, Digital Ranch 800 North, Digital Ranch
2012 Dear Esther The Chinese Room Curve Digital
Counter-Strike: Global Offensive Valve,Hidden Path Entertainment Valve
Hybrid 5th Cell Microsoft Studios
2013 Tactical Intervention FIX Korea OGPlanet
The Stanley Parable Galactic Cafe Galactic Cafe
Counter-Strike: Online 2 Nexon Nexon
Dota 2[a] Valve Valve
2014 Blade Symphony Puny Human Puny Human
Consortium Interdimensional Games Interdimensional Games
Contagion Monochrome Monochrome
Insurgency New World Interactive New World Interactive
Aperture Tag Aperture Tag Team Aperture Tag Team
Fistful of Frags Fistful of Frags Team Fistful of Frags Team
2015 Portal Stories: Mel Prism Studios Prism Studios
The Beginner's Guide Everything Unlimited Everything Unlimited
2016 Infra Loiste Interactive Loiste Interactive
2017 Day of Infamy New World Interactive New World Interactive
2018 Hunt Down the Freeman Royal Rudius Entertainment Royal Rudius Entertainment
2020 Black Mesa Crowbar Collective Crowbar Collective
G String Eyaura LunchHouse Software
2022 Entropy: Zero 2 Breadmen Breadmen

Titanfall,Titanfall 2,andApex Legendsare not included because their engines, while originally based on the Source SDK, were modified to the point that they are effectively different engines.[42]

See also

edit

Notes

edit
  1. ^Ported to Source 2 in 2015

References

edit
  1. ^"Welcome, Q3 source, Graphics".John Carmack's Blog.December 31, 2004. Archived fromthe originalon May 17, 2006.
  2. ^Johnson, Erik (September 1, 2005)."Talk:Erik Johnson".Valve Developer Community.Archivedfrom the original on May 30, 2012.RetrievedAugust 15,2007.
  3. ^Hodgson, David (2004).Half-Life 2: Raising the Bar.Prima Games.ISBN0-7615-4364-3.
  4. ^O'Donnell, Ryan (July 19, 2004)."Counter-Strike: Source - Full-Screen E3 2004 Presentation".GameSpy.Archivedfrom the original on March 4, 2016.RetrievedApril 20,2015.
  5. ^"CS:GO Update 7/24/2018".RetrievedJanuary 3,2023.
  6. ^"New Update Breaking New and Old Mods?".PlanetPhillip.Archivedfrom the original on October 21, 2014.RetrievedOctober 17,2014.
  7. ^Valve.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.
  8. ^"Interview with Gabe Newell".DriverHeaven.net.Archived fromthe originalon June 28, 2009.RetrievedNovember 21,2009.
  9. ^"Valve Week".1UP.Archived fromthe originalon July 13, 2006.RetrievedJuly 14,2006.
  10. ^"Face-to-Face with TF2's Heavy".Steam news.May 14, 2007.Archivedfrom the original on May 8, 2009.RetrievedApril 25,2010.
  11. ^"Interview: Gabe Newell".PC Zone.September 11, 2006.Archivedfrom the original on March 5, 2012.RetrievedSeptember 20,2006.
  12. ^"Dual Core Performance".October 11, 2008.Archivedfrom the original on March 14, 2012.RetrievedDecember 23,2008.
  13. ^Lombardi, Doug (May 13, 2008)."PCGH interview about Left 4 Dead, part 2".Interviewer: Frank Stöwer.RetrievedDecember 23,2008.[permanent dead link]
  14. ^Breckon, Nick (March 18, 2008)."Team Fortress 2 Update Adds Multicore Rendering".Archivedfrom the original on June 16, 2009.RetrievedAugust 19,2009.
  15. ^"Source - Console Support".Valve. Archived fromthe originalon August 13, 2009.RetrievedAugust 8,2009.
  16. ^"Joystiq interviews Doug Lombardi about Xbox 360 Source".Joystiq. October 17, 2006.Archivedfrom the original on September 22, 2009.RetrievedAugust 8,2009.
  17. ^Yoon, Andrew (October 11, 2007)."Gabe Newell calls PS3 'waste of everybody's time'".Engadget.Archivedfrom the original on July 3, 2015.RetrievedApril 20,2015.
  18. ^"Portal 2: Pretty Much Every PS3 Question Answered (And That Cake Thing, Too)".Sony Computer Entertainment America.April 14, 2011.Archivedfrom the original on September 2, 2011.
  19. ^"Valve to Deliver Steam & Source on the Mac".Valve. March 8, 2010.Archivedfrom the original on August 26, 2013.RetrievedMarch 8,2010.
  20. ^"Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April".Kotaku. March 8, 2010.Archivedfrom the original on December 18, 2011.RetrievedMarch 8,2010.
  21. ^"Simple DirectMedia Layer - Homepage".Archivedfrom the original on April 21, 2018.RetrievedApril 21,2015.
  22. ^"News - Source SDK 2013 Release".Steam.Archivedfrom the original on April 8, 2015.RetrievedApril 21,2015.
  23. ^"The Greatest PC Games of All-Time – 'Half-Life 2′ and 'Portal' – Now Available on SHIELD".Nvidia. May 12, 2014.Archivedfrom the original on May 13, 2014.RetrievedMay 12,2014.
  24. ^Kollar, Philip (March 3, 2015)."Valve announces Source 2 engine, free for developers".Polygon.Archivedfrom the original on March 5, 2015.RetrievedMarch 3,2015.
  25. ^Mahardy, Mike (March 3, 2015)."GDC 2015: Valve Announces Source 2 Engine".IGN.Archivedfrom the original on March 4, 2015.RetrievedMarch 3,2015.
  26. ^Migdalskiy, Sergiy (March 2015)."Physics for Game Developers: Physics Optimization Strategies"(PDF).Game Developers Conference.Archived(PDF)from the original on March 4, 2016.RetrievedOctober 2,2015.
  27. ^Martin, Michael (June 13, 2015)."Valve Announces Dota 2 Reborn".IGN.Archivedfrom the original on June 29, 2016.RetrievedJuly 10,2016.
  28. ^Macy, Seth (September 9, 2015)."Dota 2 Now Valve's First Ever Source 2 Game".IGN.Archivedfrom the original on September 10, 2015.RetrievedSeptember 9,2015.
  29. ^Livingston, Christopher (June 12, 2015)."Valve announces Dota 2 Reborn, new engine coming".PC Gamer.Archivedfrom the original on June 15, 2015.RetrievedJune 13,2015.
  30. ^Macy, Seth (September 9, 2015)."Dota 2 Now Valve's First Ever Source 2 Game".IGN.Archivedfrom the original on September 10, 2015.RetrievedSeptember 9,2015.
  31. ^"Source Engine Licensing - Information Sheet"(PDF).Valve Corporation. p. 6.RetrievedOctober 12,2021.
  32. ^"Building Crown, part two: layout design, textures, and the Hammer editor".PC Gamer.March 18, 2014.RetrievedSeptember 24,2021.
  33. ^"MetaMod:S".Archivedfrom the original on July 1, 2014.
  34. ^"SourceMod".Archivedfrom the original on June 1, 2014.
  35. ^"Source Filmmaker".Archivedfrom the original on April 2, 2013.RetrievedMarch 31,2013.
  36. ^Crecente, Brian (June 8, 2016)."Valve rolls out free VR creation tool for new destinations workshop".Polygon.Archivedfrom the original on June 9, 2016.RetrievedJune 9,2016.
  37. ^Maragos, Nich (June 29, 2005)."Valve Developer Community Wiki Opens".Game Developer.RetrievedJuly 30,2022.
  38. ^"Valve Publications".Archivedfrom the original on May 13, 2021.RetrievedJune 6,2021.
  39. ^"Vampire: The Masquerade - Bloodlines Designer Diary #3".GameSpot.December 16, 2003.Archivedfrom the original on May 18, 2016.RetrievedJanuary 4,2015.
  40. ^"Hieronymus: ACE Team Explain Zeno Clash II".Rock, Paper, Shotgun.June 7, 2012.Archivedfrom the original on April 5, 2015.RetrievedJanuary 4,2015.
  41. ^"NEOTOKYO on Steam".RetrievedMarch 7,2020.
  42. ^Dunsmore, Kevin (June 14, 2016)."E3 2016: Respawn Talks Content Variety, Reworked Engine in Titanfall 2".Hardcore Gamer.RetrievedNovember 24,2021.