Template:Short description Template:Use American English Template:Use mdy dates {{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other Source is a 3D game engine developed by Valve. It debuted as the successor to GoldSrc in 2004 with the releases of Half-Life: Source, Counter-Strike: Source, and Half-Life 2. Valve used Source in many of their games in the following years, including Team Fortress 2, Counter-Strike: Global Offensive, Dota 2, and the Portal and Left 4 Dead franchises. Other notable third-party games using Source include most games in the Titanfall franchise, Vampire: The Masquerade – Bloodlines, Dear Esther, The Stanley Parable and Garry’s Mod. Valve released incremental updates to Source before it was succeeded by Source 2 in 2015.

HistoryEdit

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>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Valve employee Erik Johnson explained the engine's nomenclature on the Valve Developer Community:<ref name="goldsrc-src-quote">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

<templatestyles src="Template:Blockquote/styles.css" />

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.{{#if:|{{#if:|}}

}}

{{#invoke:Check for unknown parameters|check|unknown=Template:Main other|preview=Page using Template:Blockquote with unknown parameter "_VALUE_"|ignoreblank=y| 1 | 2 | 3 | 4 | 5 | author | by | char | character | cite | class | content | multiline | personquoted | publication | quote | quotesource | quotetext | sign | source | style | text | title | ts }}

Source was developed part-by-part from this fork onwards, slowly replacing GoldSrc in Valve's internal projects<ref>Template:Cite book</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>Template:Cite news</ref> however more recent releases of the Source engine use WebM videos for menu backgrounds, Full Motion Videos, and splash screens.<ref>Template:Cite news</ref> .

Modularity and notable updatesEdit

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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Both cases required markedly less work to update its version than competing engines.

Source 2006Edit

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.<ref name="hdr_shaders">Template:Cite video game</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 rendering technology had been in development for Half-Life 2,<ref name="driverheaven-2003">{{#invoke:citation/CS1|citation |CitationClass=web }}</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 polygonal objects.<ref name="1up-valveweek">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Source 2007Edit

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.Template:Citation needed 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.<ref name="steamnews_meetheavy">{{#invoke:citation/CS1|citation |CitationClass=web }}</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">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> However, support on the PC was experimental and unstable<ref name="steam-forum-mat_queue_mode">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> until the release of Left 4 Dead.<ref name="left-4-dead-multicore">{{#invoke:citation/CS1|citation |CitationClass=web }}Template:Dead link</ref> Multiprocessor support was later backported to Team Fortress 2 and Day of Defeat: Source.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</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">{{#invoke:citation/CS1|citation |CitationClass=web }}</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>Template:Cite news</ref>

Left 4 Dead branchEdit

The Left 4 Dead branch is an overhaul of many aspects 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".<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

OS X, Linux, and Android supportEdit

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>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</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>{{#invoke:citation/CS1|citation |CitationClass=web }}</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>{{#invoke:citation/CS1|citation |CitationClass=web }}</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>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Source 2Edit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Source 2 was announced by Valve as the successor to Source at the Game Developers Conference in March 2015.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> There, Valve stated that it would be free to use for developers, with support for the Vulkan graphical API, as well as using a new in-house physics engine called Rubikon.<ref>Template:Cite news</ref><ref name=":0">{{#invoke:citation/CS1|citation |CitationClass=web }}</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>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</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>Template:Cite magazine</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The engine had succeeded Source by the late 2010s.

Tools and resourcesEdit

Source SDKEdit

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.Template: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 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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Hammer EditorEdit

Template:Redirect

The 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. Level geometry is created with 3D polygons called brushes; each face can be assigned a texture which also defines the properties of the surface such as the sounds used for footsteps.<ref>Template:Cite magazine</ref> 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 logic I/O system 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 ServerEdit

The Source 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 run Metamod:Source and SourceMod, which together provide a framework on top of SRCDS for custom modification of gameplay on existing titles.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Source FilmmakerEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Source Filmmaker (SFM) is a 3D animation application that was built from within the Source engine.<ref name=sfm_home>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Developed by Valve, the tool was originally used to create movies for Day of Defeat: Source and Team Fortress 2. It was also used to create some trailers for Source Engine games. SFM was released to the public in 2012.

Destinations Workshop ToolsEdit

In June 2016, Valve released the Destinations Workshop Tools, a set of free virtual reality (VR) creation tools running using the Source 2 SDK.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Valve Developer CommunityEdit

In June 2005, Valve opened the Valve Developer Community wiki. It replaced Valve's static Source SDK documentation with a full MediaWiki-powered community site.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Academic papersEdit

Valve staff have occasionally produced 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.<ref name="Valve Publications">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Notable games using SourceEdit

Template:See also

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<ref>{{#invoke:citation/CS1|citation CitationClass=web

}}</ref>

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<ref>{{#invoke:citation/CS1|citation CitationClass=web

}}</ref>

ACE Team Iceberg Interactive, Tripwire Interactive
NeoTokyo Studio Radi-8 citation CitationClass=web

}}</ref>

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 2Template:Efn 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

Titanfall, Titanfall 2, and Apex Legends are not included because their engines, while originally based on the Source SDK, were modified to the point that they are effectively different engines.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

See alsoEdit

Template:Portal

NotesEdit

Template:Notelist

ReferencesEdit

Template:Reflist

Template:Sister project

Template:Valve Template:Video game engines