Source engine
Encyclopedia
Source is a 3D game engine
Game engine
A game engine is a system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and personal computers...

 developed by Valve Corporation
Valve Corporation
Valve Corporation is an American video game development and digital distribution company based in Bellevue, Washington, United States...

. It debuted in June 2004 with Counter-Strike: Source
Counter-Strike: Source
Counter-Strike: Source is an FPS video game developed by Valve Corporation. It is a complete remake of Counter-Strike using the Source game engine. As in the original, Counter-Strike: Source pits a team of counter-terrorists against a team of terrorists in a series of rounds...

and shortly thereafter Half-Life 2
Half-Life 2
Half-Life 2 , the sequel to Half-Life, is a first-person shooter video game and a signature title in the Half-Life series. It is singleplayer, story-driven, science fiction, and linear...

, and has been in active development ever since. Unusually for a game engine, Source was designed to receive constant incremental updates and does not have a meaningful version numbering scheme.

Source was created to power first-person shooter
First-person shooter
First-person shooter is a video game genre that centers the gameplay on gun and projectile weapon-based combat through first-person perspective; i.e., the player experiences the action through the eyes of a protagonist. Generally speaking, the first-person shooter shares common traits with other...

s, but has also been used professionally to create role-playing
Role-playing video game
Role-playing video games are a video game genre with origins in pen-and-paper role-playing games such as Dungeons & Dragons, using much of the same terminology, settings and game mechanics. The player in RPGs controls one character, or several adventuring party members, fulfilling one or many quests...

, puzzle, MMORPG
MMORPG
Massively multiplayer online role-playing game is a genre of role-playing video games in which a very large number of players interact with one another within a virtual game world....

, top-down shooter and real-time strategy
Real-time strategy
Real-time strategy is a sub-genre of strategy video game which does not progress incrementally in turns. Brett Sperry is credited with coining the term to market Dune II....

 games.

Notable technology

For a more complete list, see Source Engine Features at the Valve Developer Community.

  • Direct3D
    Direct3D
    Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

     rendering on Microsoft Windows PCs, Xbox and Xbox 360, OpenGL
    OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

     rendering on Mac OS X and the PlayStation 3.
  • High dynamic range rendering
    High dynamic range rendering
    In 3D computer graphics, high dynamic range rendering , also known as high dynamic range lighting, is the rendering of computer graphics scenes by using lighting calculations done in a larger dynamic range. This allows preservation of details that may be lost due to limiting contrast ratios...

     (HDR).
  • Lag-compensated client-server
    Client-server
    The client–server model of computing is a distributed application that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both...

     networking model
  • Network
    Computer network
    A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

    -enabled and bandwidth
    Bandwidth (computing)
    In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

    -efficient physics engine
    Physics engine
    A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...

    .
  • Scalable multiprocessor
    Multiprocessor
    Computer system having two or more processing units each sharing main memory and peripherals, in order to simultaneously process programs.Sometimes the term Multiprocessor is confused with the term Multiprocessing....

     support
  • Pre-computed radiosity lighting and dynamic shadow maps. Deferred lighting is supported on consoles.
  • Facial animation system: A full range of human and non-human facial movements. Lip-synch using the system is auto-generated and localizable
    Dub localization
    Dub localization, also often simply referred to as localization, which is a form of a voice-over. It is the practice of voice-over translation altering a foreign language film, art film or television series by voice actors to further adapt the material for a "local" audience.Dub localization is a...

    .
  • Blended skeletal animation
    Skeletal animation
    Skeletal animation is a technique in computer animation in which a character is represented in two parts: a surface representation used to draw the character and a hierarchical set of interconnected bones used to animate the mesh...

     system, including inverse kinematics
    Inverse kinematics
    Inverse kinematics is a subdomain of kinematics, which is of particular interest in robotics and computer animation. In contrast to forward kinematics, which calculates the position of a body after a series of motions, inverse kinematics calculates the motions necessary to achieve a desired...

  • Water flow effects
  • Dynamic 3D wounds
  • Alpha to coverage
    Alpha to coverage
    Alpha to coverage is a multisampling computer graphics technique useful for situations where dense foliage or grass must be rendered in a video game.This technique uses the alpha channel of textures as a coverage mask for anti-aliasing....

     edge smoothing for foliage etc.
  • Map logic scripting with the Squirrel programming language.
  • Significant source code
    Source code
    In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

     access for mod
    Mod (computer gaming)
    Mod or modification is a term generally applied to personal computer games , especially first-person shooters, role-playing games and real-time strategy games. Mods are made by the general public or a developer, and can be entirely new games in themselves, but mods are not standalone software and...

     teams
  • Network-distributed (including the internet) map compiler
    Compiler
    A compiler is a computer program that transforms source code written in a programming language into another computer language...


Modularity and notable upgrades

Source was created to evolve incrementally as technology moves onwards, as opposed to the backwards compatibility-breaking "version jumps" of its competitors. With Steam, Valve can distribute automatic updates with new versions of the engine 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
Half-Life 2: Episode One
Half-Life 2: Episode One is the first in a series of episodes that serve as the sequel for the 2004 first-person shooter video game Half-Life 2. It was developed by Valve Corporation and released on June 1, 2006. Originally called Half-Life 2: Aftermath, the game was later renamed to Episode One...

and The Orange Box
The Orange Box
The Orange Box is a video game compilation for Microsoft Windows, Xbox 360, Mac OS X and PlayStation 3. The Windows and Xbox 360 versions were produced and published by Valve Corporation and released on October 10, 2007 as a boxed retail copy...

both introduced new versions of the engine that could not be used to run older games or mods
Mod (computer gaming)
Mod or modification is a term generally applied to personal computer games , especially first-person shooters, role-playing games and real-time strategy games. Mods are made by the general public or a developer, and can be entirely new games in themselves, but mods are not standalone software and...

 without the developers performing upgrades to code and, in some cases, content. But both times the work required to move from the older version to the newer was significantly less than what one might have come to expect from other engines. This was demonstrated in 2010 when Valve updated all of their core Source games to the very latest engine build.

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

High dynamic range rendering
High dynamic range rendering
In 3D computer graphics, high dynamic range rendering , also known as high dynamic range lighting, is the rendering of computer graphics scenes by using lighting calculations done in a larger dynamic range. This allows preservation of details that may be lost due to limiting contrast ratios...

 (2005, Day of Defeat: Source
Day of Defeat: Source
Day of Defeat: Source is a team-based first-person shooter multiplayer video game developed by Valve Corporation. Set in World War II, the game is an updated version of Day of Defeat, moving from the GoldSrc engine used by its predecessor to the Source engine...

)
Simulation of a camera aperture
Aperture
In optics, an aperture is a hole or an opening through which light travels. More specifically, the aperture of an optical system is the opening that determines the cone angle of a bundle of rays that come to a focus in the image plane. The aperture determines how collimated the admitted rays are,...

 and the ability to fake the effects of brightness values beyond computer monitors' actual range. Required all of the game's shaders to be rewritten.

"Soft" particles (2007, The Orange Box
The Orange Box
The Orange Box is a video game compilation for Microsoft Windows, Xbox 360, Mac OS X and PlayStation 3. The Windows and Xbox 360 versions were produced and published by Valve Corporation and released on October 10, 2007 as a boxed retail copy...

)
An artist-driven, threaded particle system
Particle system
The term particle system refers to a computer graphics technique to simulate certain fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques...

 replaced previously hard-coded effects.

Hardware facial animation (2007, The Orange Box
The Orange Box
The Orange Box is a video game compilation for Microsoft Windows, Xbox 360, Mac OS X and PlayStation 3. The Windows and Xbox 360 versions were produced and published by Valve Corporation and released on October 10, 2007 as a boxed retail copy...

)
Hardware accelerated on modern video cards for "feature film and broadcast television" quality.

Multiprocessor support (2007, The Orange Box
The Orange Box
The Orange Box is a video game compilation for Microsoft Windows, Xbox 360, Mac OS X and PlayStation 3. The Windows and Xbox 360 versions were produced and published by Valve Corporation and released on October 10, 2007 as a boxed retail copy...

)
A large code refactoring allowed the Source engine to take advantage of multiple CPU cores on the PC, Xbox 360 and Playstation 3. On the PC, support 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.

Xbox 360
Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

 support (2007, The Orange Box
The Orange Box
The Orange Box is a video game compilation for Microsoft Windows, Xbox 360, Mac OS X and PlayStation 3. The Windows and Xbox 360 versions were produced and published by Valve Corporation and released on October 10, 2007 as a boxed retail copy...

)
Valve created the Xbox 360 release of The Orange Box in-house, and support for the console, unlike support for the PlayStation 3, is fully integrated into the main engine codeline. It includes asset converters, cross-platform play and Xbox Live
Xbox Live
Xbox Live is an online multiplayer gaming and digital media delivery service created and operated by Microsoft Corporation. It is currently the only online gaming service on consoles that charges users a fee to play multiplayer gaming. It was first made available to the Xbox system in 2002...

 integration. Program code can be ported from PC to Xbox 360 simply by recompiling it.

Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 support (2010, multiple games)
In April 2010 Valve released all of their major Source games on Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

. All future Valve games will be released simultaneously for Windows and Mac. Games will only use Direct3D on Windows, and only OpenGL on the other platforms.

PlayStation 3
PlayStation 3
The is the third home video game console produced by Sony Computer Entertainment and the successor to the PlayStation 2 as part of the PlayStation series. The PlayStation 3 competes with Microsoft's Xbox 360 and Nintendo's Wii as part of the seventh generation of video game consoles...

 support (2011, Portal 2
Portal 2
Portal 2 is a first-person puzzle-platform video game developed and published by Valve Corporation. The sequel to the 2007 video game Portal, it was announced on March 5, 2010, following a week-long alternate reality game based on new patches to the original game...

)
Source first appeared on the PlayStation 3 in 2007, but with an engine port that was created externally and which was plagued with issues. Valve took the problem in-house for Portal 2, and in combination with Steamworks integration created what they called "the best console version of the game".

New authoring tools

As of May 2011, one of Valve's largest projects is developing new content authoring tools for Source. These will replace the engine's current set of aging tools, allowing content to be created faster and more efficiently. Studio head Gabe Newell has explained that the way in which content is made in the engine's current version as "very painful" and "sluggish".

An in-process tools framework was created in 2007, and is currently used by the engine's particle editor and by Source Filmmaker (see below).

Source Filmmaker

The tool used to create Team Fortress 2
Team Fortress 2
Team Fortress 2 is a free-to-play team-based first-person shooter multiplayer video game developed by Valve Corporation. A sequel to the original mod Team Fortress based on the Quake engine, it was first released as part of the video game compilation The Orange Box on October 10, 2007 for Windows...

s "Meet the Team" videos as well as Left 4 Dead
Left 4 Dead
Left 4 Dead is a cooperative first-person shooter video game. It was developed by Turtle Rock Studios, which was purchased by Valve Corporation during development. The game uses Valve's proprietary Source engine, and is available for Microsoft Windows, Xbox 360 and Mac OS X...

s introduction videos is the "Source Filmmaker", a video capture and editing application that works from inside the engine. It allows users to record themselves many times over in the same scene, creating the illusion of many participants, as well as supporting a wide range of cinematographic effects and techniques such as motion blur
Motion blur
Motion blur is the apparent streaking of rapidly moving objects in a still image or a sequence of images such as a movie or animation. It results when the image being recorded changes during the recording of a single frame, either due to rapid movement or long exposure.- Photography :When a camera...

, Tyndall effect
Tyndall effect
The Tyndall effect, also known as Tyndall scattering, is light scattering by particles in a colloid or particles in a fine suspension. It is named after the 19th century physicist John Tyndall. It is similar to Rayleigh scattering, in that the intensity of the scattered light depends on the fourth...

s, Dynamic Lighting, and depth of field
Depth of field
In optics, particularly as it relates to film and photography, depth of field is the distance between the nearest and farthest objects in a scene that appear acceptably sharp in an image...

. (Motion blur has now been added to the games themselves, though only when the view is moving at high speeds—not per-object as in the film-maker.) It also allows manual animation of bones and facial features, allowing the user to create scenes that can't happen in-game. This tool is expected to be released to the public upon release of "Meet the Pyro", the final "Meet the Team" video. Currently this tool can be found in the very first release of Team Fortress 2, but there is no official support for it. A limited version of this functionality is currently encapsulated in Team Fortress 2 as a Replay feature; it is limited to capturing the actual events occurring over the course of a player's life with no ability to modify actions, repeat segments, nor apply special effects beyond those already used in-game. However, arbitrary camera angles are possible, as is tracking the actions of any other player in action at the time. Replay incorporates the ability to upload completed videos to YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....

.

Image-Based Rendering

Image-based rendering
Image-Based Modeling And Rendering
In computer graphics and computer vision, image-based modeling and rendering methods rely on a set of two-dimensional images of a scene to generate a three-dimensional model and then render some novel views of this scene....

 technology had been in development for Half-Life 2
Half-Life 2
Half-Life 2 , the sequel to Half-Life, is a first-person shooter video game and a signature title in the Half-Life series. It is singleplayer, story-driven, science fiction, and linear...

but was cut from the engine before its release. It was mentioned again by Gabe Newell
Gabe Newell
Gabe Logan Newell is the co-founder and managing director of video game development and online distribution company Valve Corporation.-Work:...

 in 2006 as a piece of technology he would like to add to his company's engine in order for them to support far larger scenes than are possible with strictly polygonal
Polygon (computer graphics)
Polygons are used in computer graphics to compose images that are three-dimensional in appearance. Usually triangular, polygons arise when an object's surface is modeled, vertices are selected, and the object is rendered in a wire frame model. This is quicker to display than a shaded model; thus...

 objects.

Origins

Source distantly originates from the GoldSrc
GoldSrc
GoldSrc, or Goldsource, is the retronym used internally by Valve Software to refer to the heavily modified Quake engine that powers their science fiction first-person shooter Half-Life ....

 engine, itself a heavily modified version of John D. Carmack's Quake engine
Quake engine
The Quake engine is the game engine that was written to power 1996's Quake, written by id Software. It featured true 3D real-time rendering and is now licensed under the terms of the GNU General Public License ....

, as is explained by Valve employee Erik Johnson on the Valve Developer Community:
Source was developed part-by-part from this fork onwards, slowly replacing GoldSrc in Valve's internal projects and explaining in part the reasons behind its unusually modular nature. Valve's development of Source since has been a mixture of licensed middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

 (Havok Physics
Havok (software)
Havok Physics is a physics engine developed by Irish company Havok. It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

, albeit heavily modified, and MP3
MP3
MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...

 playback) and in-house-developed code.

John Carmack commented on his blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

 in 2004 that "there are still bits of early Quake code in Half-Life 2".

Toolset

Valve is currently creating a new set of tools.


The Source SDK
Source SDK
The Source SDK is a software development kit compiled by Valve Software that is used to create maps or mods for the Source engine, with the exception of Left 4 Dead, Left 4 Dead 2, Alien Swarm, and Portal 2...

 tools are criticised for being outdated and difficult to use. 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 quite lengthy console commands. This obtuseness was cited by the University of London
University of London
-20th century:Shortly after 6 Burlington Gardens was vacated, the University went through a period of rapid expansion. Bedford College, Royal Holloway and the London School of Economics all joined in 1900, Regent's Park College, which had affiliated in 1841 became an official divinity school of the...

 when they moved their exploration of professional architectural visualisation in computer games to Bethesda Softworks
Bethesda Softworks
Bethesda Softworks, LLC, is an American video game company. A subsidiary of ZeniMax Media, the company was originally based in Bethesda, Maryland and eventually moved to their current location in Rockville, Maryland...

' Gamebryo
Gamebryo
Gamebryo is a game engine, originally from Numerical Design Limited , and the successor to NDL's NetImmerse engine.Since the creation of Gamebryo, NDL merged into Emergent Game Technologies...

-based Oblivion engine after a brief period with Source. Third-party tools provide GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

s, but are not supported by Valve.

The interface of Valve's Hammer Editor
Valve Hammer Editor
Valve Hammer Editor, formerly known as Worldcraft and now commonly called Hammer, is Valve Software's map creation program for their game engine, Source. Old versions of Worldcraft also supported Quake and Quake II. Versions prior to 4 supported exclusively GoldSrc, Source's predecessor. The...

, the SDK's world-creation tool, has not changed significantly since its initial release for GoldSrc
GoldSrc
GoldSrc, or Goldsource, is the retronym used internally by Valve Software to refer to the heavily modified Quake engine that powers their science fiction first-person shooter Half-Life ....

 and the original Half-Life in 1998.

Valve Developer Community

On June 28, 2005, Valve opened the Valve Developer Community Wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

. VDC replaced Valve's static Source SDK documentation with a full MediaWiki
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

-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
Counter-Strike: Source
Counter-Strike: Source is an FPS video game developed by Valve Corporation. It is a complete remake of Counter-Strike using the Source game engine. As in the original, Counter-Strike: Source pits a team of counter-terrorists against a team of terrorists in a series of rounds...

bot (added by the bot's author, Mike Booth), Valve's NPC
Non-player character
A non-player character , sometimes known as a non-person character or non-playable character, in a game is any fictional character not controlled by a player. In electronic games, this usually means a character controlled by the computer through artificial intelligence...

 AI, advice for mod teams on setting up source control, and more.

Papers

Valve staff occasionally produce papers for various events and publications, including SIGGRAPH
SIGGRAPH
SIGGRAPH is the name of the annual conference on computer graphics convened by the ACM SIGGRAPH organization. The first SIGGRAPH conference was in 1974. The conference is attended by tens of thousands of computer professionals...

, Game Developer Magazine and Game Developers Conference
Game Developers Conference
The Game Developers Conference is the largest annual gathering of professional video game developers, focusing on learning, inspiration, and networking...

, explaining various aspects of Source's development. They are aimed at professional audiences and often discuss complex concepts. They are listed on Valve's corporate website.

See also

  • First-person shooter engine
    First-person shooter engine
    A first-person shooter engine is a video game engine specialized for simulating 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes of their characters...

  • Game engine
    Game engine
    A game engine is a system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and personal computers...

  • Source SDK
    Source SDK
    The Source SDK is a software development kit compiled by Valve Software that is used to create maps or mods for the Source engine, with the exception of Left 4 Dead, Left 4 Dead 2, Alien Swarm, and Portal 2...

  • List of Source engine mods

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK