Difference between revisions of "Source"
Utopic Tahu (talk | contribs) |
Utopic Tahu (talk | contribs) |
||
Line 26: | Line 26: | ||
| platform 3 = Linux | | platform 3 = Linux | ||
| platform 4 = Android | | platform 4 = Android | ||
− | | platform 5 = Xbox | + | | platform 5 = Xbox 360 |
| platform 6 = PS3 | | platform 6 = PS3 | ||
| platform 7 = Switch | | platform 7 = Switch |
Latest revision as of 10:25, 11 April 2024
Source is a 3D game engine created by Valve in 2004, and is the successor to GoldSrc. The Source engine is well-known for its advancements in physics, AI, and graphics which made the game realistic for it's time, while being scalable on older, less powerful hardware. One game, Half-Life 2, earned several awards for it's graphics, which were made possible with Source. Source has been used by Valve, third-party companies, and (much like GoldSrc) countless community mods by people around the globe, with at least 100 games developed on Source. Despite the Source engine being almost 20 years old, and has been superseded by the Source 2 engine for first-party usage since 2015, it's still being commonly used today by modders and some third-party companies due to the lack of some Source 2 documentation and was rarely licensed to third-party developers compared to Source, and it's still regularly being maintained with engine and security updates.
Contents
Renderer
- Version 3.0 (and below) shaders
- Anti-aliasing support
- Source is the first Valve engine to support anti-aliasing, prior to MSAA (4X) being added to GoldSrc in 2013.
- MSAA is the traditional anti-aliasing method, works by samples (renders) each pixel multiple times at different locations within the frame and averages the samples to produce the final pixel value. It is commonly used in most older video games, including almost all Source engine games (except Black Mesa (since the Xen update), Apex Legends, etc...). Up to 8x MSAA (or 6x MSAA in Source 2004) is supported. Older GPUs (such as pre-Maxwell Nvidia cards) also support CSAA.
- FXAA is also supported in CS:GO engine branch. Unlike MSAA, FXAA has less performance hit than most other AA methods due to it being a post-processing effect, which meant that it can be unofficially added to older Source engine games (or even other video games, other engines and other applications in general), using software such as ReShade, or even built-in via the graphics driver settings, and unlike MSAA, FXAA and other post-processing method will affect transparent textures, however, due to it's nature, this makes FXAA looks worse than many other AA methods as it's appear to blur the image, plus it does not reconstruct the pixel which was missing due to lack of an traditional anti-aliasing.
- TAA is a modern AA method commonly used in most modern games, superseded the MSAA method for anti-aliasing, it works by combining information from past frames and the current frame to remove jaggies in the current frame. However, as mentioned, TAA combines information from past and current frames can cause blurring and ghosting effect while in motion, more noticeable with low FPS. In Source engine case, it is only available in few games such as Apex Legends.Tip:If the game is running in 4K resolution or above, or by downscaling 4K to 1080p or lower, the need for anti-aliasing is greatly reduced.
- More anisotropic and texture filtering options
- Anisotropic filtering allow textures on far distance to look sharper and less blurry.
- Compared to GoldSrc (prior to 2013) featuring only Bilinear or Trilinear texture filtering, Source features more texture filtering options, ranging from Bilinear, Trilinear, 2x Anisotropic to 16x.
- Bump mapping and Normal mapping on models and the world
- Author shaders with HLSL
- Cube and environment mapping
- Phong shading for models
- 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 )
- Advanced particle systems that can emit sprites or models
- Render-to-texture shadows allow for a large number of characters per scene (in all games since ) (also in )
- 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.)
- Swaying trees (in all games since ) (also in )
- Subdivision surfaces, diffuse & specular bump maps
- Real-time radiosity lighting
- Real-time Cascaded Shadow Mapping that comes from the skybox (in all games since ) (also in )
- Effects include but are not limited to: particles, beams, volumetric smoke, sparks, blood, & environmental effects like fog and rain
- Scalability
- Widescreen display support
- Source is one of the earliest game engines to support Widescreen monitors natively (16:9 and 16:10 aspect ratio) without stretching the image, while most games from that era are usually designed for 4:3/5:4 displays only. Games such as Half-Life 2 support widescreen display at launch back in 2004, with horizontal FOV (field of view), allow you to see more details.
- Physically Based Rendering (only in )
- Parallax Occlusion Mapping(only in )
- DirectX (Direct3D) Levels
- Note:Most Source engine games are usually runs on Direct3D 9 (or 11/12 in some third-party games), but some features (such as shaders) may not be available on older cards that was designed for previous DirectX versions.
- DX6(only in )(not in and later)
- DX7(only in )(not in and later)
- DX8 (only in /)(not in and later)
- DX8.1 (only in /)(not in and later)
- DX9(only in /)(not in and later)
- DX9c(in all games since )
- DX9Ex(in all games since ) which is only on the Xbox 360
- DX10(only in SFM)
- DX11(only in )
- DX12(only in )
-dx9
, if it was forced by commands such as -gamepadui
, which enables both the Gamepad UI and Vulkan renderer unless combined with -dx9
-eac_launcher_settings SettingsDX12.json
- OpenGL(in all games since /) which is a graphics API that replaces DirectX for macOS and Linux.
- Vulkan which is a graphics API that replaces DirectX or OpenGL (only in )
-vulkan
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
- Bug:On system running Windows Vista and later, due to the game engine using DirectSound and older version of Miles Sound System, the game may output only 5.1 surround despite 7.1 selected or 7.1 audio may not work properly without custom
dsound.dll
(such as Creative Alchemy, DSOAL or IndirectSound). This issue is not affected by some third-party games, such as Titanfall 2, Apex Legends. - 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 in. Players can filter and sort server lists 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:
- Dynamic in-game HUD display
- Many widgets/controls (e.g., buttons, treeview, html control…)
- Themes/custom visualization allowed
- Platform independent
- Localized text (Unicode compliant)
- Gamepad UI ( Source 2013 version) — Since the release of Half-Life 2 (and its episodes) as well as Portal updates in 2022, Valve have added a modern UI which is designed for consoles and handhelds like Steam Deck. With the new Gamepad UI, it was more scalable across any resolution (including 4K and higher), unlike the regular VGUI (which, the higher the resolution, the text and UI will become smaller). This UI can be also enabled manually by using
-gamepadui
command line argument (which will also enable Vulkan renderer that may not work on some older GPUs unless-dx9
is used in combination of-gamepadui
).
- Scaleform (officially called Scaleform GFx) — Introduced with CS:GO engine branch at launch until 2018, this is a vector graphics rendering engine used to display Adobe Flash-based UI and HUD for games.
- Panorama (in all games since ) — 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.
Programming
- Source natively support various CPU architectures, such as x86 (PC and 8th, 9th-gen Consoles), ARM ( Nintendo Switch), PowerPC ( Xbox 360, PlayStation 3), and more, with both 32 and 64-bit.
- Support for 64-bit architecture will allow Source to handle more than 2-4GB of RAM limit.
- Historically, Half-Life 2 had a 64-bit update in 2005, but it was later removed for unknown reasons. CS:GO later received an 64-bit update in 2016 for Mac and Linux systems. On April 19, 2024, Team Fortress 2 was upgraded to 64-bit on Windows and Linux.
- 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
Products using Source
This is the list of games that uses the Source engine.
Products made by Valve
Year | Title | Co-developed with | Engine branch | Platforms | Notes |
---|---|---|---|---|---|
2004 |
Counter-Strike: Source | Turtle Rock Studios Hidden Path Entertainment (2010 update) |
Source 2004 (launch) Source 2013 Multiplayer (currently) |
PC: Windows, Mac, Linux | First game to use the Source engine. Remake of Counter-Strike. Hidden Path Entertainment alongside Valve worked on the May 7, 2010 update, which upgraded the game's engine from Source 2006 to 2009, and added 144 (now 146) achievements, a new domination and revenge system similar to Team Fortress 2, player stats and more. Hidden Path Entertainment also worked on the unreleased Xbox 360 port of CS:S, which would later become Counter-Strike: Global Offensive after Valve saw the opportunity during it's development to turn the port into a new game. Mac version of the game was later release in June 2010, and Linux in 2013. |
2004 |
Half-Life: Source | Source 2004 (launch) Source 2013 Singleplayer (currently) |
PC: Windows, Mac, Linux | Remaster of Half-Life. It is critically panned by most gamers since 2013 due to the huge amount of bugs that was introduced when the game was updated to Source 2013. Prior to the 2013 update, it was generally positively received by critics and most gamers, but some are disappointed over the game graphics (especially the textures) that are largely unchanged, while also having a realistic 3D Skybox and water effects. A unofficial fan remake of Half-Life, called Black Mesa was later started development in response of those criticism, which was first released in 2012 without any Xen chapters and was much shorter, and later in 2020, a full release with contains the Xen chapters. | |
2004 |
Half-Life 2 | Source 2004 (launch, ) Source 2007 (only in ) Source 2013 Singleplayer (currently) |
PC: Windows, Mac, Linux Consoles: Original Xbox, Xbox 360, PlayStation 3 |
Sequel to Half-Life, and later Half-Life: Alyx. Included on The Orange Box. The game was set 20 years after the event of Half-Life, takes place in the City 17, which is under Combine control. Prior to it's release, it was infamously leaked in Oct 2003, and Valve had to delay the game until Nov 2004. It is also the first game to require the installation of Steam in order to play. Half-Life 2's engine branch has been updated multiple times, first in 2006 with the release of Episode One, upgrading it to Source 2006, in 2007, upgraded to Source 2007 on consoles, and in 2010, upgraded to Source 2009 on PC, finally, Half-Life 2 was upgraded to the Source 2013 Singleplayer branch. |
|
2004 |
Half-Life 2: Deathmatch | Source 2004 (launch) Source 2013 Multiplayer (currently, earlier version) |
PC: Windows, Mac, Linux | Multiplayer component of Half-Life 2. | |
2005 |
Day of Defeat: Source | Source 2006 (launch) Source 2013 Multiplayer (currently) |
PC: Windows, Mac, Linux | Remake of Day of Defeat. | |
2005 |
Half-Life 2: Lost Coast | Source 2006 (launch) Source 2013 Singleplayer (currently) |
PC: Windows, Mac, Linux | Originally as part of Half-Life 2, which was cut at some point before it was released, and was developed after the leak happened but was ultimately cut, then later released in 2005 as a HDR lighting technology demo. It runs on a much newer engine which would soon later be called Source 2006, which was released with the next game, Half-Life 2: Episode One and Half-Life Deathmatch: Source. As of 2024, it runs on Source 2013. |
|
2006 |
Half-Life Deathmatch: Source | Source 2006 (launch) Source 2013 Multiplayer (currently) |
PC: Windows, Mac, Linux | Multiplayer component of Half-Life: Source. | |
2006 |
Half-Life 2: Episode One | Source 2006 (launch) Source 2007 ((only in )) Source 2013 Singleplayer (currently |
PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3 |
The game is the sequel to Half-Life 2, and the story begins after the Citadel reactor core was destroyed, Gordon and Alyx both survived the explosion. When it's come to technical, it uses Source 2006 engine branch at launch, and it is the last Valve game to be released on the Old Engine branch. Included on The Orange Box. |
|
2007 |
Half-Life 2: Episode Two | Source 2007 (launch, currently used on & ) Source 2013 Singleplayer (currently) |
PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3 |
A sequel to Half-Life 2: Episode One. The City 17 has been destroyed, and the Citadel was partially collapsed, Gordon and Alyx has survived the train crash. The game largely take places in White Forest. Story aside, when it's come to technical, it uses the Source 2007 at launch, originally called as The Orange Box engine branch and it is the first iteration of the New Engine branch. Included on The Orange Box. | |
2007 |
Portal | PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3, Nintendo Switch |
A completely new game and IP from Valve, set in the Half-Life universe, and take places in Aperture Laboratories. It is a puzzle-based shooter game, allowing you to create portals, that link to one another on any flat and large enough surface. In 2023, a unofficially remastered version of the game, Portal with RTX, was released, which takes advantage of hardware that support ray-tracing, and adds PBR textures, high polygon models in order to improve the game graphics. Like the other two new games in The Orange Box package, it uses the Source 2007 engine at launch. |
||
2007 |
Team Fortress 2 | Source 2007 (launch, currently used on & ) Source 2013 Multiplayer (currently) |
PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3 |
Sequel to Team Fortress Classic, focusing on cartoon graphics unlike the pre-release footage/screenshots, which aimed to be more realistic. This is the last game, along with 2 other games as part of The Orange Box pack to use the engine branch that requires Half-Life 2 assets to operate. The console version of the game is no longer updated, as opposed to PC version of the game, which is frequently updated. |
|
2008 |
Left 4 Dead | Turtle Rock Studios (under Valve South) |
Left 4 Dead engine branch (earlier version) | PC: Windows, Mac Consoles: Xbox 360, PlayStation 3 |
A new multiplayer co-op game, with horror zombie theme. It use a new engine branch which does not requires Half-Life 2 assets in order to work, it also add many new features and introduced VPK. |
2009 |
Left 4 Dead 2 | Left 4 Dead engine branch | PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3 |
Originally was planned to be an update for Left 4 Dead, it was later released as standalone game. Like Left 4 Dead, it also runs on the same L4D branch, but much newer. Like TF2, the console version () of the game is no longer updated, as opposed to PC version of the game. This game is also ported to the Source 2 back in 2014, but this version remain unreleased to this day, and one of its map has been remake in Source 2 as a tech demo back in 2010, which its image was leaked in 2014. |
|
2010 |
Alien Swarm | Alien Swarm engine branch | PC: Windows | A new multiplayer co-op game, with horror zombie theme. It use a new engine branch which does not requires Half-Life 2 assets in order to work, it also add many new features and introduced VPK. A co-op alien shooter, which was a remake of the Unreal Tournament 2004 mod with the same name. It succeeded the Left 4 Dead engine branch and adds new features on it's branch. | |
2011 |
Portal 2 | Portal 2 engine branch | PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3, Nintendo Switch (part of Portal Companion Collection) |
Has it's own engine branch, and once again, introduced new features and succeeded Alien Swarm engine branch. Sequel of Portal. PS3 has been supported again for the first time, after Valve have previously drop support for the PS3 with the release of Left 4 Dead (and it's branch). | |
2012 |
Counter-Strike: Global Offensive | Hidden Path Entertainment | CS:GO engine branch | PC: Windows, Mac, Linux Consoles: Xbox 360, PlayStation 3 |
Sequel to Counter-Strike: Source, originally developed as a Xbox 360 port of Counter-Strike: Source before Valve eventually turned it into a new Counter-Strike game. Used the Source 1 engine until 2023, now uses the new Source 2 engine under the name Counter-Strike 2, replacing CS:GO (except the console version). Console version is no longer updated since 2013, but remains purchasable. Prior to being delisted, it was Free to Play on PC since 2018. |
2013 |
Dota 2 | Dota 2 engine branch (formerly) | PC: Windows, Mac, Linux | Formerly, now using Source 2 since 2015, as part of Dota 2's Reborn update. | |
Year | Title | Co-developed with | Engine branch | Platforms | Notes |
Third-Party
Games, tool and mods made by third-party companies and mod teams.
Released
|
|
|
In development (Unreleased)
This section are for unreleased third-party games and tools that have been announced, and it is currently in development, not publicly released, is in Beta/Early Access, or planned to be released.
|
More Third-party Source Engine games
See also
- Wikipedia:Source (game engine)
- Source Engine Features
- Source SDK
- Source SDK Documentation
- Source SDK 2013
External links
- 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
- GitHub Issues page - for engine bug reports.