Source (game engine)


Source is a 3D video game engine developed by Valve Corporation as the successor of GoldSrc It debuted with Counter-Strike: Source in June 2004, followed shortly by Half-Life 2, and has been in active development since Source does not have a concise version numbering scheme; instead, it is designed in constant incremental updates[1] The successor, Source 2, was officially announced in March 2015 The first game to use it was Dota 2, being ported over from Source in September 2015[2][3][4]

Contents

  • 1 History
    • 11 Modularity and notable upgrades
      • 111 Source 2006
      • 112 Source 2007
      • 113 Left 4 Dead branch
      • 114 OS X, Linux, and Android support
    • 12 Source 2
  • 2 Tools and resources
    • 21 Source SDK
    • 22 Source Dedicated Server
    • 23 Source Filmmaker
    • 24 Destinations Workshop Tools
    • 25 Valve Developer Community
    • 26 Papers
  • 3 Notable features
  • 4 Reception
  • 5 Games using Source
    • 51 Valve games
    • 52 Games by other developers
  • 6 See also
  • 7 References
  • 8 External links

History

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"[5] Valve employee Erik Johnson explained the engine's nomenclature on the Valve Developer Community:[6]

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 /$Goldsrc and /$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[7] 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 Ipion technology bought out by Havok to drive its internal physics engine,[8][9] and Miles Sound System and Bink Video respectively for music and video playback[10]

Modularity and notable upgrades

Source was created to evolve incrementally with new technology, as opposed to the backwards 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[11] 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[12]

Since Source engine's release in 2004, the following major architectural changes have been made:

Source 2006

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 HDR rendering and color correction were first implemented in 2005 using Day of Defeat: Source, which required the engine's shaders to be rewritten[13] 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 backwards compatibility with older mods[14] Image-based rendering technology had been in development for Half-Life 2[15] 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[16]

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[17] 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[18] 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[19] However, support on the PC was experimental and unstable[20] until the release of Left 4 Dead[21] Multiprocessor support was later backported to Team Fortress 2 and Day of Defeat: Source[22] 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[23] Program code can be ported from PC to Xbox 360 simply by recompiling it[24] 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[25]

Left 4 Dead branch

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"[26]

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 will be released simultaneously for Windows and Mac[27][28] 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[29] 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[30] In May 2014, Nvidia released ports of Portal and Half-Life 2 to their Tegra 4-based Android handheld game console Nvidia Shield[31]

Source 2

As far back as May 2011, one of Valve's largest projects has been the development of new content authoring tools for Source[1] 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"[32]

On March 3, 2015, coinciding with the Game Developers Conference, Valve announced the Source 2 engine, and that it will be free for developers Valve also announced that the engine would receive a rendering path for the Vulkan API[33][34] In addition, Valve confirmed that it would be using a new in-house physics engine named Rubikon[35] On June 17, 2015, Valve released a beta update for Dota 2, titled "Reborn", becoming the first game using the Source 2 engine[36] The original Source client for the game was phased out in September 2015, with the Source 2 update becoming official[4]

Tools and resources

Source SDK

The launcher menu for Source SDK

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 2009, 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 compilation tools included in the SDK The tool was originally known as Worldcraft and was developed independently by Ben Morris before Valve acquired it[37] 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 Server

The Source Dedicated Server or SRCDS is a standalone launcher for the Source engine that runs multiplayer game sessions without requiring a client[38] 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[39][40]

Source Filmmaker

Main article: Source Filmmaker

The Source Filmmaker SFM is a video capture and editing application that works from within the Source engine[41] 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 Tools

In June 2016, Valve released the Destinations Workshop Tools, a set of free virtual reality VR creation tools running using the Source 2 SDK[42]

Valve Developer Community

On June 28, 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 added by the bot's author, Mike Booth, Valve's NPC AI, advice for mod teams on setting up source control, and other articles

Papers

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[43]

Notable features

  • Direct3D rendering on Microsoft Windows, Xbox and Xbox 360; OpenGL rendering on Linux including SteamOS and OS X; OpenGL ES rendering on Android
  • Steam integration on Windows, Linux, OS X, and PlayStation 3
  • High dynamic range HDR rendering
  • Lag-compensated client-server networking model[44]
  • Network-enabled and bandwidth-efficient physics engine derived from Havok in Source 1,[45] in-house in Source 2[35]
  • Scalable multiprocessor support[46]
  • Pre-computed radiosity lighting and dynamic shadow maps[17] Deferred lighting is supported on consoles
  • Facial animation system Lip-sync using the system is auto-generated and localizable[18]
  • Blended skeletal animation system,[47] including inverse kinematics[48]
  • Water flow effects[49]
  • 3D bump mapping[50]
  • Dynamic 3D wounds[51]
  • Alpha to coverage[52] edge smoothing for foliage etc[53]
  • Map-logic scripting with Squirrel programming language[54]
  • Significant source code access for mod teams[55]
  • Distributed VMPI map compiler[56]
  • Keyframed vertex animation introduced in Dota 2[57]

Reception

The Source SDK tools are criticised for being outdated and difficult to use[58][59][better source needed] For example, the interface and workflow of Valve's Hammer Editor has not changed significantly since its initial release for GoldSrc and the original Half-Life in 1998 A large number of the tools, including those for texture and model compilation, require varying levels of text-editor scripting from the user before they are executed at the command line; with sometimes lengthy console commands[60] This obtuseness was cited by the University of London when they moved their exploration of professional architectural visualisation in computer games to Bethesda Softworks' Gamebryo-based Oblivion engine after a brief period with Source[61] Third-party tools provide GUIs,[62] but are not officially supported by Valve

Games using Source

Valve games

  • 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
  • Dota 2 2013 ported over to Source 2 in 2015

Games by other developers

  • Vampire: The Masquerade – Bloodlines[63] 2004
  • Garry's Mod 2004
  • Empires 2006
  • SiN Episodes 2006
  • Dark Messiah of Might and Magic 2006
  • The Ship 2006
  • Dystopia 2007
  • Insurgency 2007
  • Zeno Clash[64] 2009
  • NeoTokyo 2009
  • Bloody Good Time 2010
  • Vindictus 2010
  • EYE: 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
  • Titanfall 2014
  • Portal Stories: Mel 2015
  • The Beginner's Guide 2015
  • Codename CURE 2015
  • Infra 2016
  • Titanfall 2 2016

See also

  • video games portal
  • First-person shooter engine
  • List of Source engine mods

References

  1. ^ a b Crossley, Rob May 12, 2011 "Valve on Source and studio culture" Develop Magazine 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 
  2. ^ Livingston, Christopher June 12, 2015 "Valve announces Dota 2 Reborn, new engine coming" PC Gamer Retrieved June 13, 2015 
  3. ^ "Coming Soon: The Reborn Update | Dota 2" blogdota2com Retrieved 2015-09-04 
  4. ^ a b Macy, Seth "Dota 2 Now Valve's First Ever Source 2 Game" IGN Retrieved 9 September 2015 
  5. ^ "Welcome, Q3 source, Graphics" John Carmack's Blog December 31, 2004 
  6. ^ Johnson, Erik September 1, 2005 "Talk:Erik Johnson" Valve Developer Community Retrieved August 15, 2007 
  7. ^ Hodgson, David 2004 Half-Life 2: Raising the Bar Prima Games ISBN 0-7615-4364-3 
  8. ^ "HL2 Source code leaked, all goes to hell - Page 7" Adventure Forums Retrieved April 21, 2015 
  9. ^ "Havok buy Ipion in consolidation of major physics players" Havok June 12, 2000 Archived from the original on September 1, 2000 Retrieved April 21, 2015  CS1 maint: Unfit url link
  10. ^ O'Donnell, Ryan Jul 19, 2004 "Counter-Strike: Source - Full-Screen E3 2004 Presentation" GameSpy Retrieved Apr 20, 2015 
  11. ^ "New Update Breaking New and Old Mods" PlanetPhillip Retrieved October 17, 2014 
  12. ^ "Source 2009" Valve Developer Community Retrieved September 17, 2010 
  13. ^ 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 
  14. ^ "Episode One engine branch" Valve Developer Community Retrieved April 21, 2015 
  15. ^ "Interview with Gabe Newell" DriverHeavennet Retrieved November 21, 2009 
  16. ^ "Valve Week" 1UPcom Retrieved July 14, 2006 
  17. ^ a b "Source - Rendering System" Source Engine Brochure Valve Corporation Retrieved August 15, 2011 
  18. ^ a b "Face-to-Face with TF2's Heavy" Steam news May 14, 2007 Retrieved April 25, 2010 
  19. ^ "Interview: Gabe Newell" PC Zone September 11, 2006 Retrieved September 20, 2006 
  20. ^ "Dual Core Performance" October 11, 2008 Retrieved December 23, 2008 
  21. ^ Lombardi, Doug May 13, 2008 "PCGH interview about Left 4 Dead, part 2" Interviewer: Frank Stöwer Retrieved December 23, 2008 
  22. ^ Nick, Breckon March 18, 2008 "Team Fortress 2 Update Adds Multicore Rendering" Retrieved August 19, 2009 
  23. ^ "Source - Console Support" Valve Retrieved August 8, 2009 
  24. ^ "Joystiq interviews Doug Lombardi about Xbox 360 Source" Joystiq October 17, 2006 Retrieved August 8, 2009 
  25. ^ Yoon, Andrew October 11, 2007 "Gabe Newell calls PS3 'waste of everybody's time'" Engadget Retrieved April 20, 2015 
  26. ^ "Portal 2: Pretty Much Every PS3 Question Answered And That Cake Thing, Too" Sony Computer Entertainment America April 14, 2011 
  27. ^ "Valve to Deliver Steam & Source on the Mac" Valve March 8, 2010 Retrieved March 8, 2010 
  28. ^ "Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April" Kotaku March 8, 2010 Retrieved March 8, 2010 
  29. ^ "Simple DirectMedia Layer - Homepage" Retrieved April 21, 2015 
  30. ^ "News - Source SDK 2013 Release" Steam Retrieved April 21, 2015 
  31. ^ "The Greatest PC Games of All-Time – 'Half-Life 2′ and 'Portal' – Now Available on SHIELD" Nvidia May 12, 2014 Retrieved May 12, 2014 
  32. ^ "Steamcast #47" Steamcast February 9, 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 
  33. ^ Philip Kollar March 3, 2015 "Valve announces Source 2 engine, free for developers" Retrieved March 3, 2015 
  34. ^ Mahardy, Mike March 3, 2015 "GDC 2015: Valve Announces Source 2 Engine" IGN Retrieved March 3, 2015 
  35. ^ a b Migdalskiy, Sergiy March 2015 "Physics for Game Developers: Physics Optimization Strategies" PDF Game Developers Conference Retrieved October 2, 2015 
  36. ^ "Dota 2 - Reborn - The beta begins" Dota 2 Blog June 17, 2015 Retrieved June 17, 2015 
  37. ^ "Valve Press Release" Valve Retrieved May 12, 2010 
  38. ^ Source Dedicated Server Valve Dev Wiki
  39. ^ MetaMod:S
  40. ^ SourceMod
  41. ^ "Source Filmmaker" Source Filmmaker Retrieved March 31, 2013 
  42. ^ Crecente, Brian "Valve rolls out free VR creation tool for new destinations workshop" Polygon Retrieved 9 June 2016 
  43. ^ "Valve Publications" Retrieved September 25, 2013 
  44. ^ "Source Multiplayer Networking" Valve Developer Community June 30, 2005 Retrieved July 20, 2008 
  45. ^ "VPhysics" Valve Developer Community Retrieved August 15, 2011 
  46. ^ "Multi-Core in the Source Engine Core" Bit-tech November 2, 2006 Retrieved November 2, 2006 
  47. ^ "$sequence" Valve Developer Community September 8, 2007 Retrieved July 20, 2008 
  48. ^ "$ikchain" Valve Developer Community September 8, 2007 Retrieved July 20, 2008 
  49. ^ Vlachos, Alex July 28, 2010 "Water flow in Portal 2" PDF Valve Corporation 
  50. ^ "Valve's Developers community page for Bump Mapping" Valve Corporation May 14, 2013 
  51. ^ Vlachos, Alex March 9, 2010 "Rendering Wounds in Left 4 Dead 2" PDF Valve Corporation 
  52. ^ "$distancealpha" Retrieved July 5, 2009 
  53. ^ "Improved Alpha-Tested Magnification for Vector Textures and Special Effects" PDF SIGGRAPH 2007 August 5, 2007 Retrieved May 20, 2008 
  54. ^ "L4D2 VScripts" Valve Developer Community Retrieved February 12, 2010 
  55. ^ "Mod wizard complete" Valve Developer Community February 24, 2008 Retrieved July 20, 2008 
  56. ^ "VMPI" Valve Developer Community Retrieved December 5, 2008 
  57. ^ "Vertex animation" Retrieved May 4, 2014 
  58. ^ Roberts, Neale November 15, 2006 "Stuck Valve" Dirigible Development Diary Archived from the original on December 27, 2007 Retrieved December 20, 2007 
  59. ^ Jedrzejewski, Neil July 23, 2009 "Re: whats happening with this engine" hlcoders official Valve mailing list Retrieved July 29, 2009 
  60. ^ "Vtex CLI use" Valve Developer Community August 28, 2007 Retrieved July 21, 2008 
  61. ^ "Half Life 0 Oblivion 1 - Half Life Update" Digital Urban September 28, 2006 Retrieved December 20, 2007 
  62. ^ "Category:Third Party Tools" Valve Developer Community Retrieved October 20, 2007 
  63. ^ "Vampire: The Masquerade - Bloodlines Designer Diary #3" GameSpot December 16, 2003 Retrieved January 4, 2015 
  64. ^ "Hieronymus: ACE Team Explain Zeno Clash II" Rock, Paper, Shotgun June 7, 2012 Retrieved January 4, 2015 

External links

  • Official Source licensing site


Source (game engine) Information about


Source (game engine)
Source (game engine)

Source (game engine) Information Video


Source (game engine) viewing the topic.
Source (game engine) what, Source (game engine) who, Source (game engine) explanation

There are excerpts from wikipedia on this article and video