The Source engine got off to a rocky start, running on Valve time, the victim of a hacker uploading Half-Life 2 content to the internet and just being good old fashioned late, it arrived more than a whole year after it was intended. Counter-Strike: Source was the first game to be released having received the Source engine treatment, this gave gamers a taste of what was to come in one of the most (if not the most) anticipated games in gaming history.
Half-Life 2 is eventually released with the Source SDK following in suit, the official toolkit for the engine which will be used by thousands to create mods, maps, models, weapons… Because of Valve’s dedication to its community by providing an SDK to play with they gained a special place in many modders hearts.
Many argue that the engine is old, clunky and not even worth developing for when you have shiny toolsets like Unity, CryEngine and Unreal Engine. Granted Source may not be as up to date as these engines in terms of rendering, physics, AI and effects it still can throw its weight around. The engine has been constantly updated by Valve throughout the years as they developed on new titles and new IP’s such as DOTA 2, Portal 2, Left4Dead 2 and Counter-Strike:Global Offensive.
Both DOTA 2 and CS:GO have huge user bases on a daily basis. This proves that the engine can be used to create enjoyable games that run fast and are highly stable. The toolset remains relevant to this day until we see a potential updates to the toolset and underlying engine.
Whats under the hood of Source?
Since Source was originally forked from Goldsrc it should come as no surprise that Source retained many of Goldsrc’s Features and toolsets.
Source uses .BSP as its compiled map format however it is a newer version and is not backwards compatible.
Source no longer uses .WAD for texture loading and storage but rather opted for an easier Materials folder system. They also introduced their own texture format based on Targa called .VTF (Valve texture file) which is typically accompanied by a .vmt (Valve material file) which is a text file describing how a Texture is to be rendered.
Source no longer uses .MAP but opted to create its own format .VMF (Valve map file) which is a text based format and is similar to its spiritual successor.
Assets used to be stored as .GCF which made the loading of many small files easier to manage. Since the introduction of steampipe their new content distribution system files are downloaded to a common folder directly and a .VPK (introduced with L4D) is used to store the files for some games with many small files.
Hammer continues to be used to develop maps.
.MDL is still used as the complied model format and has some small differences.
Rendering: through both Direct3D and OpenGL which allows it to function on most platforms.
HDR: High Dynamic Range rendering was added in Half-Life: Loast coast.
Networking: Uses a Lag compensated client-server architecture for fluid online gameplay
Physics: Derived from Havok Physics, A CPU only physics model that is network-enabled and bandwidth-effiecient.
Water Effects: flowing water visualized through normals and flow maps
Mutli Core: Increase to overall performance using Valve’s hybrid multi-core architecture providing the resources where needed, when needed.
Lighting and Shadows: Pre-computed radiosity through vrad.exe as well as dynamic shadow maps. Lighting is deferred on consoles.
Facial animation: advanced lip-syncing technology to convey expression with more realism and with greater ease.
Animation: Inverse Kinematics a strong feature as well as the overall blended skeletal system.
Normal Mapping: used to bounce light correctly and to give geometry a sense of depth and belonging in the 3D world.
Dynamic Wounds: As seen in Left 4 Dead when attacking a zombie body parts seem to detach in a random and dynamic manner that obeys the laws of physics.
VScript: Virtual scripting machine that currently supports Squirrel and Lua. [CSS]
Source SDK: includes many tools and access to signifcant source code for heavy game modification.
VMPI: Distributed map compilation on a network.
Vertex Animation: Keyframed vertex animation came with an update to DOTA 2.
Particle Effects: Includes its own ingame editor for particle creation and tweaking.
Crossplatform: Windows, Mac, Linux, XBOX 360 , Playstation and Android (Half-life 2 and Portal so far)
SFM: The Source Film Maker is a sandbox movie editing, creation tool built inside the Source engine allowing one to create complex scenes using the power and flexibility of the Source engine.