Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Source (game engine)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == Source distantly originates from the [[GoldSrc]] engine, itself a heavily modified version of [[John Carmack]]'s [[Quake engine]] with some code from the [[Quake II engine]]. Carmack commented on his blog in 2004 that "there are still bits of early ''Quake'' code in ''Half-Life 2''".<ref>{{cite web |url=http://www.armadilloaerospace.com/n.x/johnc/recent%20updates/archive?news_id=290 |date=December 31, 2004 |work=John Carmack's Blog |title=Welcome, Q3 source, Graphics |url-status=dead |archive-url=https://web.archive.org/web/20060517235354/http://www.armadilloaerospace.com/n.x/johnc/recent%20updates/archive?news_id=290 |archive-date=May 17, 2006}}</ref> Valve employee Erik Johnson explained the engine's [[nomenclature]] on the Valve Developer Community:<ref name="goldsrc-src-quote">{{cite web |url=https://developer.valvesoftware.com/w/index.php?title=User_talk:Erik_Johnson&oldid=10088#GoldSource |title=Talk:Erik Johnson |work=Valve Developer Community |last=Johnson |first=Erik |date=September 1, 2005 |access-date=August 15, 2007 |url-status=live |archive-url=https://archive.today/20120530162830/http://developer.valvesoftware.com/w/index.php?title=User_talk:Erik_Johnson&oldid=10088%23GoldSource |archive-date=May 30, 2012}}</ref> {{Blockquote|When we were getting very close to releasing ''[[Half-Life (video game)|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 [[Fork (software development)|forked]] off the code in [[Microsoft Visual SourceSafe|VSS]] to be both <code>/$Goldsrc</code> and <code>/$Src</code>. 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<ref>{{cite book |last=Hodgson |first=David |year=2004 |title=Half-Life 2: Raising the Bar |publisher=[[Prima Games]] |isbn=0-7615-4364-3}}</ref> 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. Older versions of Source use [[Bink Video]] for video playback,<ref>{{Cite news |url=http://pc.gamespy.com/pc/counter-strike-remake-source-engine-powered/531716p1.html |title=Counter-Strike: Source - Full-Screen E3 2004 Presentation |last=O'Donnell |first=Ryan |date=July 19, 2004 |work=GameSpy |access-date=April 20, 2015 |url-status=live |archive-url=https://web.archive.org/web/20160304113927/http://pc.gamespy.com/pc/counter-strike-remake-source-engine-powered/531716p1.html |archive-date=March 4, 2016 }}</ref> however more recent releases of the Source engine use [[WebM]] videos for menu backgrounds, [[Full-motion video|Full Motion Videos]], and splash screens.<ref>{{Cite news|url=https://www.gameconnect.net/content/70655/csgo-update-7-24-2018/ |title=CS:GO Update 7/24/2018|access-date=January 3, 2023}}</ref> . === Modularity and notable updates === 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 (service)|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 [[Mod (video gaming)|mods]] without the developers performing upgrades to code and, in some cases, content.<ref>{{Cite web |url=http://www.planetphillip.com/posts/new-update-breaking-new-and-old-mods/ |title=New Update Breaking New and Old Mods? |publisher=PlanetPhillip |access-date=October 17, 2014 |url-status=live |archive-url=https://web.archive.org/web/20141021132929/http://www.planetphillip.com/posts/new-update-breaking-new-and-old-mods/ |archive-date=October 21, 2014}}</ref> Both cases required markedly less work to update its version than competing engines. ==== Source 2006 ==== [[File:Half-Life 2 Episode One Citadel Base.jpg|thumb|upright=1.2|A screenshot of ''[[Half-Life 2: Episode One]]''. The [[high-dynamic-range rendering]] and [[Phong shading]] effects are evident.]] 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''. [[High-dynamic-range rendering|HDR rendering]] and [[color correction]] were first implemented in 2005 using ''[[Day of Defeat: Source]]'', which required the engine's shaders to be rewritten.<ref name="hdr_shaders">{{cite video game |title=[[Half-Life 2: Lost Coast]] |developer=[[Valve Corporation|Valve]] |year=2005 |platform=PC |quote='''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.}}</ref> The former, along with developer commentary tracks, were showcased in ''[[Half-Life 2: Lost Coast]]''. ''Episode One'' introduced [[Phong shading]] and other smaller features. [[Image-based modeling and rendering|Image-based rendering]] technology had been in development for ''[[Half-Life 2]]'',<ref name="driverheaven-2003">{{cite web |url=http://www.driverheaven.net/dhinterviews/gabenewell/ |title=Interview with Gabe Newell |work=DriverHeaven.net |access-date=November 21, 2009 |url-status=dead |archive-url=https://web.archive.org/web/20090628171827/http://www.driverheaven.net/dhinterviews/gabenewell/ |archive-date=June 28, 2009 }}</ref> 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 [[Polygon (computer graphics)|polygonal]] objects.<ref name="1up-valveweek">{{cite web |url=http://valve.1up.com/ |work=[[1UP.com]] |title=Valve Week |access-date=July 14, 2006 |url-status=dead |archive-url=https://web.archive.org/web/20060713230939/http://valve.1up.com/ |archive-date=July 13, 2006}}</ref> ==== Source 2007 ==== 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.{{citation needed|date=May 2018}} An in-[[Process (computing)|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.<ref name="steamnews_meetheavy">{{cite web |url=http://store.steampowered.com/news/1039/ |title=Face-to-Face with TF2's Heavy |work=Steam news |date=May 14, 2007 |access-date=April 25, 2010 |url-status=live |archive-url=https://web.archive.org/web/20090508071620/http://store.steampowered.com/news/1039/ |archive-date=May 8, 2009}}</ref> 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.<ref name="PCZone">{{cite web |url=http://www.computerandvideogames.com/article.php?id=145846 |title=Interview: Gabe Newell |access-date=September 20, 2006 |publisher=[[PC Zone]] |date=September 11, 2006 |url-status=live |archive-url=https://web.archive.org/web/20120305153907/http://www.computerandvideogames.com/145846/interviews/gabe-newell/ |archive-date=March 5, 2012}}</ref> However, support on the PC was experimental and unstable<ref name="steam-forum-mat_queue_mode">{{cite web |url=http://forums.steampowered.com/forums/showpost.php?p=8413873&postcount=92 |title=Dual Core Performance |date=October 11, 2008 |access-date=December 23, 2008 |url-status=live |archive-url=https://web.archive.org/web/20120314103803/http://forums.steampowered.com/forums/showpost.php?p=8413873&postcount=92 |archive-date=March 14, 2012}}</ref> until the release of ''Left 4 Dead''.<ref name="left-4-dead-multicore">{{cite web |url=http://www.pcgameshardware.de/aid,643448/Interview/PCGH_interview_about_Left_4_Dead_part_2/?page=2 |title=PCGH interview about Left 4 Dead, part 2 |first=Doug |last=Lombardi |others=Interviewer: Frank Stöwer |date=May 13, 2008 |access-date=December 23, 2008}}{{Dead link|date=November 2019 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Multiprocessor support was later backported to ''[[Team Fortress 2]]'' and ''[[Day of Defeat: Source]]''.<ref>{{cite web |url=http://www.shacknews.com/onearticle.x/57728 |title=Team Fortress 2 Update Adds Multicore Rendering |last=Breckon |first=Nick |date=March 18, 2008 |access-date=August 19, 2009 |url-status=live |archive-url=https://web.archive.org/web/20090616033113/http://www.shacknews.com/onearticle.x/57728 |archive-date=June 16, 2009}}</ref> 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.<ref name="official_consoles">{{cite web |url=http://source.valvesoftware.com/console.php |title=Source - Console Support |publisher=Valve |access-date=August 8, 2009 |url-status=dead |archive-url=https://web.archive.org/web/20090813213319/http://source.valvesoftware.com/console.php |archive-date=August 13, 2009}}</ref> 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''.<ref>{{Cite news |url=https://www.engadget.com/2007/10/11/gabe-newell-calls-ps3-waste-of-everybodys-time/ |title=Gabe Newell calls PS3 'waste of everybody's time' |last=Yoon |first=Andrew |date=October 11, 2007 |work=Engadget |access-date=April 20, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150703175918/http://www.engadget.com/2007/10/11/gabe-newell-calls-ps3-waste-of-everybodys-time/ |archive-date=July 3, 2015 }}</ref> ==== ''Left 4 Dead'' branch ==== The Left 4 Dead branch is an overhaul of many aspects of the Source engine through the development of the [[Left 4 Dead (series)|''Left 4 Dead'' series]]. Multiprocessor support was further expanded, allowing for features like split screen multiplayer, additional post-processing effects, event scripting with [[Squirrel (programming language)|Squirrel]], and the highly-dynamic [[Left 4 Dead#AI Director|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 [[Steam (service)#Developer features|Steamworks]] integration creating what they called "the best console version of the game".<ref>{{cite web |title=Portal 2: Pretty Much Every PS3 Question Answered (And That Cake Thing, Too) |url=http://blog.eu.playstation.com/2011/04/14/portal-2-pretty-much-every-ps3-question-answered-and-that-cake-thing-too/ |publisher=[[Sony Computer Entertainment America]] |date=April 14, 2011 |url-status=live |archive-url=http://archive.wikiwix.com/cache/20110902205417/http://blog.eu.playstation.com/2011/04/14/portal-2-pretty-much-every-ps3-question-answered-and-that-cake-thing-too/ |archive-date=September 2, 2011}}</ref> ==== OS X, Linux, and Android support ==== 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 would be released simultaneously for Windows and Mac.<ref>{{cite web |url=http://store.steampowered.com/news/3569/ |title=Valve to Deliver Steam & Source on the Mac |publisher=Valve |date=March 8, 2010 |access-date=March 8, 2010 |url-status=live |archive-url=https://web.archive.org/web/20130826011221/http://store.steampowered.com/news/3569/ |archive-date=August 26, 2013}}</ref><ref>{{cite web |url=http://kotaku.com/5488375/left-4-dead-2-team-fortress-2-portal-and-steam-coming-to-mac-in-april |title=Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April |publisher=Kotaku |date=March 8, 2010 |access-date=March 8, 2010 |url-status=live |archive-url=https://web.archive.org/web/20111218172810/http://kotaku.com/5488375/left-4-dead-2-team-fortress-2-portal-and-steam-coming-to-mac-in-april |archive-date=December 18, 2011}}</ref> 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 [[Simple DirectMedia Layer]].<ref>{{Cite web |title=Simple DirectMedia Layer - Homepage |url=https://www.libsdl.org/ |access-date=April 21, 2015 |url-status=live |archive-url=https://web.archive.org/web/20180421220935/http://libsdl.org/ |archive-date=April 21, 2018 }}</ref> 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.<ref>{{Cite web |title=News - Source SDK 2013 Release |url=http://store.steampowered.com/news/10962/ |website=Steam |access-date=April 21, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150408214515/http://store.steampowered.com/news/10962/ |archive-date=April 8, 2015 }}</ref> In May 2014, [[Nvidia]] released ports of ''Portal'' and ''Half-Life 2'' to their [[Tegra 4]]-based Android [[handheld game console]] [[Nvidia Shield]].<ref>{{cite web |url=http://blogs.nvidia.com/blog/2014/05/12/half-life-2-portal-shield/ |title=The Greatest PC Games of All-Time – 'Half-Life 2′ and 'Portal' – Now Available on SHIELD |publisher=Nvidia |date=May 12, 2014 |access-date=May 12, 2014 |url-status=live |archive-url=http://archive.wikiwix.com/cache/20140513215833/http://blogs.nvidia.com/blog/2014/05/12/half-life-2-portal-shield/ |archive-date=May 13, 2014}}</ref> === Source 2 === {{main|Source 2}} Source 2 was announced by Valve as the successor to Source at the [[Game Developers Conference]] in March 2015.<ref>{{cite web |last=Kollar |first=Philip |date=March 3, 2015 |title=Valve announces Source 2 engine, free for developers |website=[[Polygon (website)|Polygon]] |url=http://www.polygon.com/2015/3/3/8145273/valve-source-2-announcement-free-developers |url-status=live |archive-url=https://web.archive.org/web/20150305093315/http://www.polygon.com/2015/3/3/8145273/valve-source-2-announcement-free-developers |archive-date=March 5, 2015 |access-date=March 3, 2015}}</ref> There, Valve stated that it would be free to use for developers, with support for the [[Vulkan (API)|Vulkan graphical API]], as well as using a new in-house [[physics engine]] called Rubikon.<ref>{{cite news |last1=Mahardy |first1=Mike |title=GDC 2015: Valve Announces Source 2 Engine |url=http://www.ign.com/articles/2015/03/04/gdc-2015-valve-announces-source-2-engine |access-date=March 3, 2015 |publisher=[[IGN]] |date=March 3, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150304021002/http://www.ign.com/articles/2015/03/04/gdc-2015-valve-announces-source-2-engine |archive-date=March 4, 2015}}</ref><ref name=":0">{{Cite web |url=http://media.steampowered.com/apps/valve/2015/Migdalskiy_Sergiy_Physics_Optimization_Strategies.pdf |title=Physics for Game Developers: Physics Optimization Strategies |date=March 2015 |access-date=October 2, 2015 |publisher=[[Game Developers Conference]] |last=Migdalskiy |first=Sergiy |url-status=live |archive-url=https://web.archive.org/web/20160304061355/http://media.steampowered.com/apps/valve/2015/Migdalskiy_Sergiy_Physics_Optimization_Strategies.pdf |archive-date=March 4, 2016 }}</ref> In June 2015, Valve announced that ''[[Dota 2]]'', originally developed with Source, would be ported over to Source 2 in an update called ''[[Dota 2 Reborn]]''.<ref>{{cite web |last1=Martin |first1=Michael |title=Valve Announces Dota 2 Reborn |url=http://www.ign.com/articles/2015/06/13/valve-announces-dota-2-reborn-open-beta-coming-next-week |url-status=live |archive-url=https://web.archive.org/web/20160629144536/http://www.ign.com/articles/2015/06/13/valve-announces-dota-2-reborn-open-beta-coming-next-week |archive-date=June 29, 2016 |access-date=July 10, 2016 |website=[[IGN]]|date=June 13, 2015 }}</ref><ref>{{cite web |last1=Macy |first1=Seth |title=Dota 2 Now Valve's First Ever Source 2 Game |date=September 9, 2015 |url=http://www.ign.com/articles/2015/09/09/dota-2-now-valves-first-ever-source-2-game |url-status=live |archive-url=https://web.archive.org/web/20150910075128/http://www.ign.com/articles/2015/09/09/dota-2-now-valves-first-ever-source-2-game |archive-date=September 10, 2015 |access-date=September 9, 2015 |publisher=[[IGN]]}}</ref> ''Reborn'' was 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.<ref>{{cite magazine |last=Livingston |first=Christopher |url=http://www.pcgamer.com/valve-announces-dota-2-reborn-new-engine-coming/ |title=Valve announces Dota 2 Reborn, new engine coming |date=June 12, 2015 |magazine=[[PC Gamer]] |access-date=June 13, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150615040444/http://www.pcgamer.com/valve-announces-dota-2-reborn-new-engine-coming/ |archive-date=June 15, 2015}}</ref><ref>{{cite web |last1=Macy |first1=Seth |title=Dota 2 Now Valve's First Ever Source 2 Game |date=September 9, 2015 |url=http://www.ign.com/articles/2015/09/09/dota-2-now-valves-first-ever-source-2-game |url-status=live |archive-url=https://web.archive.org/web/20150910075128/http://www.ign.com/articles/2015/09/09/dota-2-now-valves-first-ever-source-2-game |archive-date=September 10, 2015 |access-date=September 9, 2015 |publisher=[[IGN]]}}</ref> The engine had succeeded Source by the late 2010s.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)