Source
Jump to navigation
Jump to search

Screenshot in-game of
Counter-Strike: Source, using the Source Engine.


Screenshot in-game of
Counter-Strike: Global Offensive, using Valve's latest branch of the Source Engine.

Source is a 3D game engine created by
Valve in 2004, and is the successor to
GoldSrc. Source has been used by Valve, third-party companies, and (much like GoldSrc) countless community mods by people around the globe. Today, it has largely been replaced by the
Source 2 engine for first-party usage, but it's still being commonly used today by modders and some third-party companies, and it's still regularly being maintained with engine and security updates.
Clarify: not all
Source games have
Valve Anti-Cheat. See
Apex Legends.



Renderer
- Version 3.0 (and below) shaders

- Bump mapping and Normal mapping on models and the world
- Author shaders with HLSL
- Cube and environment mapping
- Cubemapping also supports Anisotropy (in all games since
)
- Cubemapping also supports Anisotropy (in all games since
- Phong shading for models
- Phong is also supported on world brushes (in all games since
)
- Phong is also supported on world brushes (in all games since
- Dynamic lights, vertex lighting and lightmaps, many light types including flickering, pulsing etc.
- HDR (in all games since
) and SDR/LDR (not in
and later) lighting
- Water with refraction, real-time world reflections and fresnel effects
- Water also supports flow mapping (in all games since
)
- Water also supports flow mapping (in all games since
- Advanced particle systems that can emit sprites or models
- Render-to-texture shadows allow for a large number of characters per scene
- Occluder entities for visibility blocking
- Indoor/Outdoor environments
- Deformable terrain
- 3D Skyboxes extend the horizon and add parallax on distant objects
- Dynamically rendered organics (grass, trees, etc.)
- Subdivision surfaces, diffuse & specular bump maps
- Real-time radiosity lighting
- Real-time cascaded shadow mapping that comes from the skybox (in all games since
)
- Effects include but are not limited to: particles, beams, volumetric smoke, sparks, blood, & environmental effects like fog and rain
- Scalability
- DX8-DX9 hardware supported (DX6-DX9 with modifications and fixed-function shaders)







Materials System
- Instead of traditional textures, Source defines sets of materials that specify what the object is made from and the texture used for that object. A material specifies how an object will fracture when broken, what it will sound like when broken or dragged across another surface, and what that object's mass and buoyancy are. This system is much more flexible than other texture-only systems
- Materials can interact with objects or NPCs, such as mud or ice for vehicles to slide/lose traction on
Multiplayer Network Code
- Time- and gamer-tested by millions of gamers around the world
- Support for both LAN-based multiplayer and Internet-based multiplayer games
- Prediction analysis for interpolating collision/hit detection
- Optimizations for high-latency, high-packet-loss 56k connections
Advanced Characters
- Detailed and believable characters
- Realistic eyes
- Focus on player/object, not simply parallel views
- Proper eye bulge for realistic eye reflections
- Simulated musculature provides outstanding emotions, speech, and body language
- Language independent speech, characters can speak naturally in many languages
- Skeletal/bone system for animation
- Layered animation system can synthesize complex animations out of several pieces
Physics
- Uses Havok physics engine, licensed from Havok Group (now acquired by Microsoft)
- More responsive world with realistic interactions
- Sounds & graphics follow from physics
- AI characters can interact with physically simulated objects
- Ropes/cables, machines, constraint systems, ragdoll physics
- Can be controlled by level design
- Kinematic animated bone followers
- Custom procedural physics controllers
- Vehicles
- Wheels slip and skid
- Realistic suspensions with springs on each wheel
- Realistic leaning during acceleration/deceleration and turning
- Individually tunable parameters such as horsepower, gearing, max speed, shift speed, tire material, tire friction, spring tension/dampening, etc.
- Multiple players in a vehicle in multiplayer
- Hovercraft support for cheaper simulation
Advanced AI
- I/O system allows level designers to control AI
- Sophisticated navigation: characters that run, fly, jump, crouch, climb stairs and ladders, and burrow underground
- AI senses things using sight, sound, and smell
- AI relationships determine friend/foe status of other entities
- Battle AI allows squads of AI characters to operate together, know when to advance, retreat, lay cover fire, etc.
Sound System
- 7.1, 5.1 surround sound, 4 speaker surround
- Template:ModernBug
Note:Some Source games (such as
Alien Swarm,
Portal 2 and
Counter-Strike: Global Offensive) may not include options to enable 7.1 surround sound without using console commands.
- High-quality 3D spatialization
- Custom software DSP
- Automatic DSP based on environmental geometry
- Microsoft ADPCM-compressed WAV files
- 16-bit 44.1 KHz (CD Quality), stereo wave data with all features
Warning:48 KHz audio (DVD Quality) is not supported by default. Not to be confused with 44.1 KHz, which is the CD Quality audio.
- MP3 decompression (requires Miles license)
- Support for audio streaming on any wave [Clarify]
- Real-time wave file stitching [Clarify]
- Pre-authored Doppler effect encoded waves
- Pre-authored distance variant encoded waves
- Commentary system
UI
- Server browser — Displays all active game servers and allows a player to choose which one to participate on. Players can filter and sort server lists in order to speed up the display and selection of a server.
- VGUI — Valve's custom GUI interface mimics most of the Windows controls but is rendered using the Source engine for both in game and out of game uniform UI display. Some features:
- Panorama (in all games since
) — Valve's new Custom GUI interface that resembles modern web design and authoring (HTML5/CSS/JS). Using
.XML
and JavaScript files, developers can create dynamic and clean huds and menus and even high-quality in-game intractable panels.
Programming
- All code written in C/C++ using Visual Studio .NET 2003 and later. Easily and quickly derive new entities from existing base classes
- Internal context sensitive performance monitoring system
- Graphics performance measurement tools built into the engine
- Modular code design (via DLLs) allows swapping out of core components for easy upgrading or code replacement
- VScript scripting system allows using external coding languages, such as Squirrel and Lua, in maps to create more complex systems (in all games since
) (also in
)
Tools
HLFaceposer
- Facial expression tool used to craft speech and emotions
Valve Hammer Editor
- WYSIWYG World editor
- Create world brushes
- Terrain editor
- Place detailed world models and AI NPCs
- Set navigation points/paths for NPCs
- Place triggers, clip brushes, logic, etc.
- Allows level designer to hook up I/O between entities to control AI within the game
Half-Life Model Viewer
- Full model previewer
- Rotate models in any direction
- Set up hit boxes
- View physics hull
- View normals
- Wireframe, shaded or textured view modes
- Studiomdl
- Model compiler
- VBSP, VRAD, VVIS, VMPI
- Map compilation tools (bsp, lighting and visibility)
- VMPI — distributed compilation tool allowing level compiles to be spread across many PCs greatly reducing compile times
- Exporters
- XSI, Max and Maya
.smd
exporters for exporting 3D models
- XSI, Max and Maya
Games on Source
Games made by Valve
- 2004
Counter-Strike: Source
- 2004
Half-Life 2: Deathmatch
- 2004
Half-Life 2
- 2004
Half-Life: Source
- 2005
Day of Defeat: Source
- 2005
Half-Life 2: Lost Coast
- 2006
Half-Life Deathmatch: Source
- 2006
Half-Life 2: Episode One
- 2007
Half-Life 2: Episode Two
- 2007
Portal
- 2007
Team Fortress 2
- 2008
Left 4 Dead
- 2009
Left 4 Dead 2
- 2010
Alien Swarm
- 2011
Portal 2
- 2012
Counter-Strike: Global Offensive
- 2013
Dota 2 -

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
===

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
===

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
====

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
==
- 2004
Vampire: The Masquerade – Bloodlines
- 2005
Synergy
- 2005
Dystopia
- 2006
SiN Episodes
- 2006
The Ship: Murder Party
- 2006
Dark Messiah of Might and Magic
- 2006
Garry's Mod
- 2006
Age of Chivalry
- 2006
Zombie Panic! Source
- 2007
Fortress Forever
- 2007
Zeno Clash
- 2009
D.I.P.R.I.P.
- 2009
Vindictus
- 2010
Bloody Good Time
- 2010
Blue Portals
- 2011
Dino D-Day
- 2011
E.Y.E: Divine Cybermancy
- 2011
Nuclear Dawn
- 2011
No More Room in Hell
- 2011
Postal III (delisted, digitally)
- 2012
Dear Esther
- 2012
Revelations 2012
- 2013
Tactical Intervention (delisted)
- 2013
The Stanley Parable
- 2013 Consortium
- 2013 Counter-Strike Online 2
- 2014
Insurgency
- 2014
Titanfall (delisted)
- 2014
Contagion
- 2014
NEOTOKYO°
- 2014
Lambda Wars
- 2015
Portal Stories: Mel
- 2015 Codename Cure
- 2015 Blade Symphony
- 2015
Fistful of Frags
- 2015 Double Action
- 2015
The Beginner's Guide
- 2016
INFRA
- 2016
BrainBread 2
- 2016
Titanfall 2
- 2016
Day of Infamy
- 2017
Alien Swarm: Reactive Drop
- 2017
Entropy : Zero
- 2018
Hunt Down the Freeman
- 2019
Apex Legends
- 2020
Black Mesa

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
- 2020 G-String
- 2021
Portal Reloaded
- 2022
Divinia Chronicles: Relics of Gan-Ti
- 2022
They Hunger: Source
- 2022
Entropy : Zero 2
- 2022
JBMod
- 2022
Jabroni Brawl: Episode 3
- 2023
Mistake: Source
- 2023
Military Conflict: Vietnam
- 2023
Swelter
====

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
====

This template (and its redirect) is
Deprecated. Its use is not recommended and its functionality may be compromised.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example

You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Additional notes:
Use #switch parser function instead. Example
{{#switch: {{language}}
| #default = English
| ja = 日本語
| zh-tw = 中文(台灣)
}}
- 2023 (Upcoming)
Portal: Revolution
- TBA
Director's Cut
- TBA infestus
- TBA
Momentum Mod
- TBA
Half-Life 2: Remastered
- TBA
Portal 2: Community Edition
- TBA
PUNT
More Third-party Source Engine games
See Also
External links
Todo: How relevant and current these guides are? Keep links to current manuals instead of all at appropriate places. Use Special:LinkSearch for this.
- Source Engine Tutorials https://www.sourcemodding.com/tutorials/source
- Tutorials for Source Engine https://gamebanana.com/tuts/games/35
- Tutorials - Source - Mod DB https://www.moddb.com/engines/source/tutorials