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
(You can find them in the List of Black Mesa entities.)
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{Bms topicon}}
{{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 a completely new lighting system, and {{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}}.
{{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, since this system came out in the game much later than first [[Xengine]] versions were released.}}
{{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 ==
Line 11: Line 11:
** Backported some entities from {{l4d|4}} and {{portal2|4}}.
** Backported some entities from {{l4d|4}} and {{portal2|4}}.
** 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).
** 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).
** Dynamic lights on a [[lightmap]] were swapped with new deferred lights.
** [[Light dynamic|Dynamic lights]] on a [[lightmap]] were swapped with new deferred lights, which have better performance.
** [[wikipedia:Deferred shading|Gbuffer]] that allows the addition of some modern, difficult-to-make effects.
** [[wikipedia:Deferred shading|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 <code>-oldgameui</code> launch parameter).
** 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).
** Using {{w|Fast_approximate_anti-aliasing|'''F'''ast '''A'''pproximate '''A'''nti-'''A'''liasing}} (FXAA) instead of {{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) for [[anti-aliasing]]  
** 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]].
*** MSAA does not work correctly on Xengine's deferred lighting, and is worse for performance.  
** New and extended Post Processor.
** New and extended Post Processor.
** Native {{linux|4}} support.
** Native {{linux|4}} support.
Line 29: Line 28:
** [[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.
** PCCS-based soft shadows.
Line 41: Line 40:
** Cinematic [[env_lensflare|lens flares]].
** Cinematic [[env_lensflare|lens flares]].
** [[$web_shader|Web shader]].
** [[$web_shader|Web shader]].
** Upgraded tonemapping with bloom which uses a modified version of the Reinhard filter.
** 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.
* '''Tools'''
* '''Tools'''
Line 49: Line 48:


=== Removed ===
=== Removed ===
*; [[DirectX]] compatibility levels support lower than 9.0 ({{code|dxlevel 90}}).
*; [[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.
: 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]].
*; [[env_projectedtexture|Projected textures]]
: The entity was removed because it renders scene twice, making it very expensive.
: The entity was removed because it renders scene twice, making it very expensive.
*; Reflections from {{ent|func_reflective_glass}}.
*; [[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.
: The entity is still available, but the shader is not ported, it shows [[wireframe]] instead of reflection.
*; [[WorldVertexTransition]].
*; [[WorldVertexTransition]]
: The shader is not ported. All the features is available in [[LightmappedGeneric]].
: The shader is not ported. All the features is available in [[LightmappedGeneric]].


Line 106: Line 107:
</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 code 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.}}

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