This article relates to the game "Counter-Strike: Global Offensive". Click here for more information.
This article's documentation is for anything that uses the Source engine. Click here for more information.

Counter-Strike: Global Offensive engine branch

From Valve Developer Community
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)

CS:GO engine branch
Screenshot in-game of Counter-Strike: Global Offensive, using CS:GO engine branch. CS:GO introduces Cascaded Shadow Maps (seen on this image), which provides highly detailed dynamic shadows cast from the skybox.
Screenshot in-game of Counter-Strike: Global Offensive, using CS:GO engine branch. CS:GO introduces Cascaded Shadow Maps (seen on this image), which provides highly detailed dynamic shadows cast from the skybox.
Developer(s)
Release date(s)
August 21, 2012
Latest release(s)
August 24, 2023
Status
Discontinued
Successor
Dota 2 engine branch Dota 2 engine branch (pre-Reborn)

The CS:GO engine branch Counter-Strike: Global Offensive engine branch was introduced in 2012 with the release of Counter-Strike: Global Offensive, branching off from the Left 4 Dead engine branch Left 4 Dead engine branch (with some Portal 2 and Counter-Strike: Source additions and features). It succeeds the Portal 2 engine branch Portal 2 engine branch, and was later succeeded by Dota 2 engine branch, but remains maintained side-by side. After Dota 2 was upgraded to Source 2 in 2015, CS:GO engine branch became the latest Source engine branch to be maintained by Valve, and receiving many new features (engine, graphics, etc.) exclusive to CS:GO branch, until the release of Counter-Strike 2 and Team Fortress 2 branch (derived from Orange Box).

After Counter-Strike 2 Counter-Strike 2 was released (which replaced CS:GO), CS:GO branch and the game continued to be officially maintained until support ends in Jan 1, 2024. As of 2025, the CS:GO branch are now being maintained only for third-party games that use the CS:GO branch, including Strata Source, while Portal 2 engine branch became the latest (post-Orange Box) engine branch that continued to be maintained by Valve, along with Team Fortress 2 branch (a Orange Box-derived branch). It is still unknown whether CS:GO branch is still available for licensing.

Like other Source engine branches since Left 4 Dead (except Alien Swarm), the source code was not publicly available. However in 2020, the source code for this branch (dated 2017-2018), alongside the full source code of Team Fortress 2's Source 2013, was leaked.

Note.pngNote:Later updates to this engine branch has introduced more new features, so some games or mods on this engine branch may not have all of these features due to being built on older version of CS:GO branch. Many features are exclusive to Counter-Strike: Global Offensive Counter-Strike: Global Offensive.

Features

New since the Portal 2 engine branch is:

FXAA anti-aliasing
Simple post-processing effect aimed to remove jaggies on geometry and other objects at the cost of image quality, but are much faster than other anti-aliasing method, such as MSAA.
FXAA can be also used with MSAA (such as 2X) at the same time. This benefits most lower-end PC that struggles to run MSAA 4X or higher, it also benefits models, transparent textures (especially those without alpha to coverage), and other objects that MSAA was unable to remove jaggies or staircase effect on them.
Real-time dynamic shadows from skybox (Cascaded Shadow Maps)
env_cascade_light provides dynamic, high-resolution cascade shadow mapping for the outdoor light of light_environment.
Lightmapped Ambient Occlusion
VRAD can now bake ambient occlusion into the lightmaps for a map, leading to enhanced realism.
Bump mapped decals
LightmappedGeneric decals now support bump maps.
Scaleform (officially called Scaleform GFx)
A vector graphics rendering engine used to display Adobe Flash-based UI and HUD for games. CS:GO uses Scaleform for the in-game HUDs and the main menu (until 2018).
VPK version 2
New version of VPK file format. Later backported to all Source 2013 games.

Newer Features

Features introduced with later updates to the branch. Some third-party titles may or may not have all of these features as certain third-party games are built on older version of CS:GO branch which lack those features.

Phong reflections on Lightmapped materials
LightmappedGeneric and WorldVertexTransition now support diffuse Phong reflections.
Texture streaming
Reduce system RAM and graphics card VRAM by streaming textures.
Vertex lighting for bumpmapped static props
Static props with bump maps can now receive vertex lighting, better blending them into the environment. All static props also now receive better lighting.
Anisotropic reflection emulation
Brush shaders can now emulate anisotropic specular reflections using new parameters.
Bump map blending for LightmappedGeneric
Two bump maps can now be blended together for high-frequency and low-frequency bumpmap variation on the LightmappedGeneric shader.
Lightmapped_4WayBlend
A displacement shader that can blend four different materials together by luminance.
Prop combination
VBSP now supports combining selected static props during map compilation, increasing performance and lowering draw calls.
Increased engine and compiler limits
The engine now supports more entities, more models and more displacements.
Note.pngNote:Document all of the increased limits.
New first-person weapon lighting.
First-person weapon view now support more detailed lighting.
Static prop scaling
Steam Datagram Relay
Introduced in October 18, 2016.
Todo: description
64-bit binaries (only in macOS, Linux)
After Half-Life 2 was ported to 64-bit decades ago, then the 64-bit build was quickly discontinued due to instability and other issues at the time, the Source engine now natively supported 64-bit again, when Counter-Strike: Global Offensive received an update in May 25, 2016 for Mac and Linux (replacing 32-bit clients for those platforms). 64-bit allows the game to access more than 4GB RAM and have slightly better performance. The 64-bit update was not available for Windows however.
HRTF (Head-Related Transfer Function) audio
In December 7, 2016, HRTF audio processing was added to the CS:GO, which greatly improving 360-degree vertical and horizontal sound positioning—especially for headphone users. HRTF audio was powered by Steam Audio (previously known as Phonon3D).
Audio System (DirectSound to XAudio2) (also in Team Fortress 2 branch)
In July 7, 2017, CS:GO quietly switched from DirectSound to XAudio2, when Valve implemented a option to switch audio devices. This also means that when the game freezes or stutters, it no longer loops the first .125 seconds of a sound repeatedly, instead sound effects will be paused abruptly, and (after Panorama update) the ambient sound along with music (in loading screen) will continue to play without any interruption. As DirectSound has been replaced with XAudio2, the snd_legacy_surround command was also been removed.
Panorama UI
Introduced in 2018, replacing Scaleform, 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.
Direct3D 9Ex / Windows Aero DirectX Extensions (also in Source Multiplayer, Source 2013)
Introduced in April 2019 update, D3D9Ex improves performance depending on GPU hardware and drivers.
Other improvements
Todo: Document these, this is just the tip of the iceberg.
Todo: Celisej: soon add more.

Removed features

Deprecated shadow_control
This entity is made non-functional in favor of env_cascade_light. The downside with this entity being non-functional is that the shadows won't be casted in interiors, but can be workaround with SSAO.
Scaleform (officially called Scaleform GFx)
Removed in later updates of CS:GO, in favor of Panorama.
Dropped support for Shader Model 2 GPUs
CS:GO branch drops support for all DX9 GPUs without Shader Model 3.0.

[Todo]

Availability and usage

  • 2012Counter-Strike: Global Offensive Counter-Strike: Global Offensive (discontinued)
    • Discontinued since Jan 1, 2024 and stop receiving updates after Counter-Strike 2 Counter-Strike 2 was released. The game remains playable, however, any features that rely on the game coordinator such as the Inventory will eventually become broken or non-functional. As mentioned above, the branch itself is still continued to be maintained for third-party games. CS:GO can still be obtained in two ways:
      • First method: Select the csgo_legacy branch on Counter-Strike 2 in Steam Library. Counter-Strike 2 will be installed alongside CS:GO (and this will requires 70GB+ disk space). Additionally the Dec 2012's demo_viewer branch (for viewing pre 2013/1/9 demos) can be only obtained via this method.
      • Second method: Simply visit the new CS:GO Steam page and download the game there. You don't need to have Counter-Strike 2 installed. Community server browser will not work in this method likely due to different Steam AppIDs (the game expects "730" and not "4465480").
    • On macOS macOS (OS X), aswell as all systems running on 32-bit OS or with DX9 only GPU, which does not support Counter-Strike 2, will automatically have the CS:GO automatically downloaded instead.
  • 2014Insurgency Insurgency (earlier version)
  • 2014Blade Symphony Blade Symphony - Previously running on the Portal 2 engine branch Portal 2 engine branch.
  • 2016Day of Infamy Day of Infamy (earlier version)
  • 2022Jabroni Brawl: Episode 3 Jabroni Brawl: Episode 3 (customized version, colloquially known as "JBGO")
  • 2025 Military Conflict: Vietnam Military Conflict: Vietnam
    • Planned to be released in 2025. Early access since 2022.
  • TBA Portal 2: Desolation Portal 2: Desolation (unreleased)
  • TBAOperation: Black Mesa Operation: Black Mesa (unreleased)
  • TBAHalf-Life 2: Remastered Half-Life 2: Remastered (unreleased)
Confirm:While this game is currently unreleased, and not announced yet, it's most likely based off a heavily modified CS:GO branch (according to SteamDB when viewing the Review_Build depot files) to include support for HL2 entities as it contains some features that can be only found on the L4D engine branch and later (EKV files, replacing the old DirectX Versions system), Panorama/Qt UI, more...

A third-party, heavily modified version of this engine, called Strata Source Strata Source, is also available, and it is used in the following games:

Source code and SDK Base for these branches is not available. However, authoring tools exist for custom content.

Navigation