This article relates to the game "Black Mesa". Click here for more information.

XenEngine: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
(70 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{langsp}}
{{LanguageBar}}
{{Xe|4}} (also known as {{xe|1|nt=1}}) is a third-party {{Source|4|nt=1}} branch using licenced code. It is a modified version of the {{src13mp|4}} engine branch with {{tf2|4}} additions, whose development was influenced by the limitations of the {{src|1|nt=1}}. Although initially only [[CSM]] was planned, the Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of a completely new lighting system, and {{wiki|deferred lighting|icon=hide}}. Besides using {{tf2|3.1}} engine version as a base, this engine version is also a hybrid of {{portal2|4}} and {{l4d|4}} engine versions.
{{Bms topicon}}
 
{{Xe|4}} (also known as {{xe|1|nt=1}}) is a third-party {{Source|4|nt=1}} branch using licenced code, created by the Crowbar Collective for {{bms|3.1}}. It is a modified version of {{src13mp|4}} with additions from {{tf2|4}}, whose development was influenced by the limitations of {{src|1}}. Although initially only [[CSM|Cascade Shadow Mapping]] was planned, Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of {{wiki|deferred lighting|icon=hide}}. Besides using {{tf2|3.1}}'s engine version as a base, this engine version is also a hybrid of the {{portal2branch|1}} and {{l4dbranch|1}}.
{{note|Although it uses {{tf2|3.1}} engine as a base, this engine does not provide [[VScript]] system, and additional features introduced in later versions of {{src13mp|1}} and {{tf2branch|1}}, since these features came out in the game much later than first [[Xengine]] versions were released.}}


== Features ==
== Features ==
* '''Engine'''
* '''Engine'''
** Entity and Displacement Limit upgraded from 4k to 8k.
** Entity and Displacement Limit upgraded from 4k to 8k.
** Backported a lot of optimizations and some entities from {{l4d|4}} and {{portal2|4}} that {{tf2|4}} doesn't have.
** Backported a lot of optimizations from {{l4d|4}} and {{portal2|4}}.
** Improved AI, whose behavior depends on the current difficulty level (some [[NPC|NPCs]] also support Main and Assault Behavior Trees from the {{Code|ai}} folder).
** Backported some entities from {{l4d|4}} and {{portal2|4}}.
** Temp lights were swapped with new deferred lights.
** Improved AI, whose behavior depends on the current difficulty level (some [[NPC]]s also support Main and Assault Behavior Trees from the {{Code|ai}} folder).
** [https://en.wikipedia.org/wiki/Deferred_shading Gbuffer] that allowed the addition of some modern, difficult-to-make effects.
** [[Light dynamic|Dynamic lights]] on a [[lightmap]] were swapped with new deferred lights, which have better performance.
** Made from scratch [[Qt]] UI with the ability to be customized and add new stuff with no limitations ([[VGUI]] can be reenabled with <code>-oldgameui</code> launch parameter).
** [[wikipedia:Deferred shading|Gbuffer]] that allows the addition of some modern, difficult-to-make effects.
** Using {{w|Fast_approximate_anti-aliasing|'''F'''ast '''A'''pproximate '''A'''nti-'''A'''liasing}} (FXAA for short) instead of {{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) for [[anti-aliasing]], which reduces performance and does not work correctly on Xengine's deferred lighting (unlike FXAA).
** Made from scratch [[Qt]] UI with the ability to be customized and add new stuff without limitations ([[VGUI]] can be reenabled with <code>-oldgameui</code> launch parameter).
** Uses {{w|Fast_approximate_anti-aliasing|'''F'''ast Appro'''X'''imate '''A'''nti-'''A'''liasing}} (FXAA) instead of {{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) for [[anti-aliasing]].
** New and extended Post Processor.
** New and extended Post Processor.
** Native {{linux|4}} support.
** Native {{linux|4}} support.
** Improved DirectX 9.0c shaders
<!-- **[[Vulkan]] graphics API {{hl2|also|addtext={{portal}}{{rr}}{{l4d2}}{{portal2}}{{csgo}}}} A successor to OpenGL. -->
** Enhanced multiplayer with fixes for the client and server.
** Enhanced multiplayer with fixes for the client and server.
** [[Music track|Dynamic music system]].
** [[Music track|Dynamic music system]].
** Most of source's existing shaders have been rewritten in SM3, in order to be displayed properly with deferred rendering.


*'''Visuals'''
*'''Visuals'''
** [[Lightmapped_4WayBlend|4Way blends]] with support for 4 bumpmaps and tri-planar mapping, enabling all the options from other material shaders.
** [[Lightmapped_4WayBlend|4Way blends]] with support for 4 bumpmaps and tri-planar mapping, enabling all the options from other material shaders.
** [[Cascaded Shadow Mapping]] with PCF-based soft shadows and [[viewmodel]] self-shadowing.
** [[Cascaded Shadow Mapping]] with [[viewmodel]] self-shadowing.
** [[Parallax mapping|Parallax Occlusion Mapping]].
** [[Parallax mapping|Parallax Occlusion Mapping]].
** [[$moss_enable|Procedural Moss]].
** [[$moss_enable|Procedural Moss]].
** [[Deferred lighting]].
** [[Deferred lighting]] - A technique that allows lights to be rendered with [[cheap|little]] performance loss.
** Dynamic lighting system with [[Physically Based Rendering|PBR]]-based lighting and [[New Specular|speculars]].
** Dynamic lighting system with [[Physically Based Rendering|PBR]]-based lighting and [[New Specular|speculars]].
** PCCS-based soft shadows.
** Light cookies for both new [[newLight_Point|point light]] and new [[newLight_Spot|spot light]], the last can be animated.
** Light cookies for both new [[newLight_Point|point light]] and new [[newLight_Spot|spot light]], the last can be animated.
** Support for up to 2K dynamic lights per scene and all rendering features on secondary render targets (reflection/refraction, monitors, TV screens, etc.)
** Support for up to 2K dynamic lights per scene and all rendering features on secondary render targets (reflection/refraction, monitors, TV screens, etc.)
Line 28: Line 36:
** Godrays with disk for both the [[newLight_Dir|sun]] and local lights (which also support the "Fancy" godrays type).
** Godrays with disk for both the [[newLight_Dir|sun]] and local lights (which also support the "Fancy" godrays type).
** [[newxog_global|Screenspace Fog ("Xog")]], that can be applied globally or locally using cuboid/ellipsoid volumes.
** [[newxog_global|Screenspace Fog ("Xog")]], that can be applied globally or locally using cuboid/ellipsoid volumes.
** Soft particles.
** [[Water (shader)#Flowing water|Flowing water]].
** [[Water_(shader)#Flowing_water|Flowing water]].
**[[$treeSway|Swaying trees]].
** Cinematic [[env_lensflare|lens flares]].
** Cinematic [[env_lensflare|lens flares]].
** Upgraded tonemapping with bloom which uses a modified version of the Reinhard filter.
** [[$web_shader|Web shader]].
** Upgraded [[Env tonemap controller|tonemapping]] with bloom which uses a modified version of the Reinhard filter.
** Optimized shaders for faster compilation and better runtime performance.
** Optimized shaders for faster compilation and better runtime performance.
** [[VRAD#Effects|Real sky ambient light]].
** [[Vulkan]] renderer, using DXVK to convert Direct3D to Vulkan (since Necro Patch).
* '''Tools'''
* '''Tools'''
** In-game [[New Lights Editor|new lights]] and xog editors.
** In-game [[New Lights Editor|new lights editor]] and [[Xog Editor|xog editor]].
** Multiple [[VRAD]] upgrades, such as support for Alpha-Tested textures, 4-way blends, baked Ambient Occlusion, and more.
** Multiple [[VRAD]] upgrades, such as support for Alpha-Tested textures, 4-way blends, baked [[VRAD#Effects|Ambient Occlusion]], [[VRAD#Effects|Real Sky Ambient Light]], and more.
** 64-bit shader compiler.
** 64-bit shader compiler.
=== Removed ===
*; [[DirectX]] compatibility levels support lower than 9.0 ({{code|dxlevel 90}})
: Support for DirectX [[DirectX Versions#DirectX 8.1|8.1]] and [[DirectX Versions#DirectX 8|8]] GPUs has been dropped, and never supported anyway due to [[deferred lighting]] only support DirectX 9 and many players already have DirectX 9 capable graphics card.
*; [[env_projectedtexture|Projected textures]]
: The entity was removed because it renders scene twice, making it very expensive.
*; [[Anti-aliasing#MSAA|MSAA anti-aliasing]]
: While MSAA technically produce sharper results than any post-processing based methods like FXAA and TAA, due to MSAA being complex to implement on deferred renderer (also includes deferred lighting), which also makes it more [[expensive]] than forward renderer, and because of Xengine implementation of deferred lighting causing MSAA to have [https://steamcommunity.com/sharedfiles/filedetails/?id=1960023856 haloing/outline effect], this anti-aliasing method was replaced with [[Anti-aliasing#FXAA|FXAA]].
*; Reflections from {{ent|func_reflective_glass}}
: The entity is still available, but the shader is not ported, it shows [[wireframe]] instead of reflection.
*; [[WorldVertexTransition]]
: The shader is not ported. All the features is available in [[LightmappedGeneric]].
== System Requirements ==
{{Sysreq
|OSfamily = Windows
|minOS    = {{win10|1|nt=10}}
|minCPU  = 2.6GHz Dual Core Processor or Greater
|minRAM  = 6 GB RAM
|minHD    = 30 GB
|minGPU  = DirectX 9.0 Shader Model 3 capable<br>2 GB VRAM
|minother =
|recOS    = {{blank}}
|recCPU  = 3.2GHz Quad Core Processor or Greater
|recRAM  = 8 GB
|recHD    = {{blank}}
|recGPU  = DirectX 9.0 Shader Model 3 capable<br>4 GB VRAM or greater
}}
{{Sysreq
|OSfamily = Linux
|minOS    = Ubuntu 14.0+ or other Linux distros
|minCPU  = 2.6GHz Dual Core Processor or Greater
|minRAM  = 4 GB RAM
|minHD    = 30 GB
|minGPU  = Vulkan 1.3 capable<br>2 GB VRAM
|minother = NVIDIA - Does not support the {{w|nouveau (software)|Nouveau display driver}}
|recOS    = {{blank}}
|recCPU  = 3.2GHz Quad Core Processor or Greater
|recRAM  = 6 GB
|recHD    = {{blank}}
|recGPU  = Vulkan 1.3 capable<br>3 GB VRAM or greater
|recother = NVIDIA - Does not support the {{w|nouveau (software)|Nouveau display driver}}
}}


== Media ==
== Media ==
Line 46: Line 101:
|[[File:GodraysInWater 1.jpg|500px|center]]
|[[File:GodraysInWater 1.jpg|500px|center]]
|[[File:Asheep - Screenshot 7.jpg|500px|center]]
|[[File:Asheep - Screenshot 7.jpg|500px|center]]
|[[File:BMS - Screenshot_3.jpg|500px|center]]
|[[File:BMS - Screenshot 3.jpg|500px|center]]
|[[File:BMBO - Screenshot 2.jpg|500px|center]]
|[[File:BMBO - Screenshot 2.jpg|500px|center]]
|[[File:BMS - Screenshot_10.jpg|500px|center]]
|[[File:BMS - Screenshot 10.jpg|500px|center]]
|}
|}
</div>
</div>


==Availability==
==Availability and usage==
{{tip|The authoring tools for this branch have been released and are available directly from {{path|Black Mesa\bin\}}.}}
{{tip|The authoring tools for this branch have been released and are available directly from {{path|Black Mesa\bin\}}.}}
{{note|There is no [[Source SDK]] for this branch. However, you still can heavily modify the [[Qt]] UI via {{wiki|QML}} programming language.}}
{{note|There is no source code for this branch. However, you still can heavily modify the [[Qt]] UI via {{wiki|QML}} programming language.}}
{{note|All the shaders (including new lighting, etc) are stored in {{path|Black Mesa\hl2\hl2_misc_dir.vpk}}.}}
* {{Code|2020}} {{bms|4}}
* {{Code|2020}} {{bms|4}}
** {{Code|2017}} {{bmsbo|4}} <small>(earlier version)<big>
** {{Code|2017}} {{bmsbo|4}} <small>(restored version)<big>
** {{Code|2020}} {{bmsas|4}}
** {{Code|2020}} {{bmsas|4}}
** {{Code|TBA}} {{bmsbs|4}}
** {{Code|2025}} {{bmsbs|4}}
** {{Code|TBA}} {{bmv|4}}
** {{Code|TBA}} {{esctd|4}}


== See also ==
== See also ==
Line 71: Line 125:
== External links ==
== External links ==
*[https://chetanjags.wordpress.com/category/blackmesa-source-engine/ Chetan Jag's Blog] about XenEngine
*[https://chetanjags.wordpress.com/category/blackmesa-source-engine/ Chetan Jag's Blog] about XenEngine
*[https://doc.qt.io/archives/qt-5.9/modules-qml.html Modules QML] - half of the documentation for Qt UI. You'll need it if you want to edit Qt UI for your {{bms|4}} mods.
*[https://doc.qt.io/qt-6/qtqml-index.html Qt Qml 6.8.1]- half of the documentation for Qt UI. You'll need it if you want to edit Qt UI for your {{bms|4}} mods.
{{branch-navbox}}
[[Category:Third-Party Engine Branches]]

Latest revision as of 00:40, 21 August 2025

English (en)Español (es)Translate (Translate)

Xengine Xengine (also known as XenEngine) is a third-party Source Source Engine branch using licenced code, created by the Crowbar Collective for Black Mesa. It is a modified version of Source 2013 Multiplayer Source 2013 Multiplayer with additions from Team Fortress 2 Team Fortress 2, whose development was influenced by the limitations of Source. Although initially only Cascade Shadow Mapping was planned, Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of Wikipedia icon deferred lighting. Besides using Team Fortress 2's engine version as a base, this engine version is also a hybrid of the Portal 2 engine branch and Left 4 Dead engine branch.

Note.pngNote:Although it uses Team Fortress 2 engine as a base, this engine does not provide VScript system, and additional features introduced in later versions of Source 2013 Multiplayer and Team Fortress 2 branch, since these features came out in the game much later than first Xengine versions were released.

Features

  • Engine
    • Entity and Displacement Limit upgraded from 4k to 8k.
    • Backported a lot of optimizations from Left 4 Dead Left 4 Dead and Portal 2 Portal 2.
    • Backported some entities from Left 4 Dead Left 4 Dead and Portal 2 Portal 2.
    • Improved AI, whose behavior depends on the current difficulty level (some NPCs also support Main and Assault Behavior Trees from the ai folder).
    • Dynamic lights on a lightmap were swapped with new deferred lights, which have better performance.
    • Gbuffer that allows the addition of some modern, difficult-to-make effects.
    • Made from scratch Qt UI with the ability to be customized and add new stuff without limitations (VGUI can be reenabled with -oldgameui launch parameter).
    • Uses Wikipedia icon Fast ApproXimate Anti-Aliasing (FXAA) instead of Wikipedia icon MultiSample Anti-Aliasing (MSAA) for anti-aliasing.
    • New and extended Post Processor.
    • Native Linux Linux support.
    • Improved DirectX 9.0c shaders
    • Enhanced multiplayer with fixes for the client and server.
    • Dynamic music system.
    • Most of source's existing shaders have been rewritten in SM3, in order to be displayed properly with deferred rendering.

Removed

  • DirectX compatibility levels support lower than 9.0 (dxlevel 90)
Support for DirectX 8.1 and 8 GPUs has been dropped, and never supported anyway due to deferred lighting only support DirectX 9 and many players already have DirectX 9 capable graphics card.
The entity was removed because it renders scene twice, making it very expensive.
While MSAA technically produce sharper results than any post-processing based methods like FXAA and TAA, due to MSAA being complex to implement on deferred renderer (also includes deferred lighting), which also makes it more expensive than forward renderer, and because of Xengine implementation of deferred lighting causing MSAA to have haloing/outline effect, this anti-aliasing method was replaced with FXAA.
The entity is still available, but the shader is not ported, it shows wireframe instead of reflection.
The shader is not ported. All the features is available in LightmappedGeneric.

System Requirements

Windows Windows
Minimum Recommended
Operating system (OS) 10
Processor (CPU) 2.6GHz Dual Core Processor or Greater
System memory (RAM) 6 GB RAM
Hard disk drive (HDD/SSD) 30 GB
Video card (GPU) DirectX 9.0 Shader Model 3 capable
2 GB VRAM
Linux Linux
Minimum Recommended
Operating system (OS) Ubuntu 14.0+ or other Linux distros
Processor (CPU) 2.6GHz Dual Core Processor or Greater
System memory (RAM) 4 GB RAM
Hard disk drive (HDD/SSD) 30 GB
Video card (GPU) Vulkan 1.3 capable
2 GB VRAM
Other NVIDIA - Does not support the Wikipedia icon Nouveau display driver

Media

Black Mesa Blue Shift - Screenshot 8.png
GodraysInWater 1.jpg
Asheep - Screenshot 7.jpg
BMS - Screenshot 3.jpg
BMBO - Screenshot 2.jpg
BMS - Screenshot 10.jpg

Availability and usage

Tip.pngTip:The authoring tools for this branch have been released and are available directly from 🖿Black Mesa\bin\.
Note.pngNote:There is no source code for this branch. However, you still can heavily modify the Qt UI via Wikipedia icon QML programming language.
Note.pngNote:All the shaders (including new lighting, etc) are stored in 🖿Black Mesa\hl2\hl2_misc_dir.vpk.

See also

External links