MonoEngine

From Zombie Panic! Official Wiki
Revision as of 23:10, 24 August 2025 by Wuffesan (talk | contribs)
Jump to navigation Jump to search

id Tech 2 id Tech 2GoldSrc GoldSrcSource SourceMonoEngine MonoEngine

Monochrome Game Engine
Logo of the engine.
Screenshot in-game of Contagion, using the MonoEngine, running on version 0.1.
Screenshot in-game of Contagion, using the MonoEngine, running on version 0.1.
Developer(s)
Release date(s)
July 18, 2025 Note
Platform(s)
Written in
License
Official website
Predecessor
Successor
N/A
Note:The info below contains info that is not correct, as the info is at the moment a copy paste from the Source features. MonoEngine does support most of it, but contains new features as well. We need to include these...

Features

List of MonoEngine MonoEngine engine features and capabilities. Some new features listed here may not apply to previous or newer Source branches, or third-party games/branches.


Renderer

  • Supports Shader Model Versions 2.0 to 3.0
  • Anti-aliasing support (MSAA, FXAA, MLAA, TAA, etc.)
    • See the Anti-aliasing page for more information, plus features & drawbacks with various anti-aliasing methods.
  • More anisotropic and texture filtering options
    • Anisotropic filtering allows textures on far distances 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, Anisotropic 2x up to 16x.
  • Support for both forward, deferred and clustered rendering pipelines.
    • Source primarily uses the forward renderer, while Template:Dota2, as well as some third-party Source games (Template:Titanfall, Template:Bms, etc.) use the deferred renderer (shading or lighting).
    • Deferred rendering is a rendering technique that allows games to render many dynamic lights with little performance impact. Deferred rendering is commonly used in most modern titles, and Dota 2 is the only official Source game to use this technique.
    • Other titles such as Template:P2ce also use the Clustered rendering technique, resulting in similar lighting performance as the deferred renderer (both clustered, forward & deferred), but unlike deferred, clustered works with both forward & deferred rendering pipelines.
  • Bump mapping and Normal mapping on models and the world
  • Authoring of shaders with HLSL
  • Cube and environment mapping
    • Cubemapping also supports Anisotropy (in all games since Counter-Strike: Global Offensive)
  • Phong shading for models
  • Dynamic lights, vertex lighting and lightmaps, including many light types including flickering, pulsing etc.
  • HDR (in all games since Template:Dods) and LDR (SDR) lighting
    • HDR is introduced with the release of Template:Dods (and Template:Hl2lc a month later), running on updated version of Source 2004. HDR rendering works by automatically adjust exposure and "blooming" colors above 100% brightness into neighboring areas, then collapsing the image into SDR color range, resulting an image appears to have higher color saturation and improved contrast, compared to SDR (LDR) rendering.
    • LDR is deprecated since Left 4 Dead engine branch Left 4 Dead engine branch. This does not apply to some games such as the original release of Template:Dota2, for example.
    • Template:Confusion
  • Water with refraction, real-time world reflections and Fresnel effects
  • 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 Left 4 Dead engine branch) Template:Mb
  • Occluder entities for visibility blocking
  • Indoor/Outdoor environments
  • Subdivision surfaces, diffuse & specular bump maps
  • Real-time radiosity lighting
  • Real-time Cascaded Shadow Mapping from the skybox (in all games since Counter-Strike: Global Offensive) Template:Asd
  • Effects that include but are not limited to: particles, beams, volumetric smoke, sparks, blood, and environmental effects like fog and rain
  • Scalability
  • Screen Space Ambient Occlusion (SSAO) (only in Template:Sfm Template:Dota2)
    • A technique for efficiently approximating the ambient occlusion effect in real time.
  • 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 supported widescreen displays at launch in 2004, with horizontal FOV (field of view), allow you to see more details.
  • Physically Based Rendering Template:Strata
  • Parallax Occlusion MappingTemplate:Xe
  • Support of various graphical backends (such as Direct3D, OpenGL, Vulkan)
  • Direct3D versions
    • Direct3D 9
      • On earlier versions of Source (Source 2004 up to Template:Src13), it had a Hardware DirectX level system (similar to feature level system in Direct3D 10 and later) that allowed the game to render on older GPUs supporting only DirectX 8.0, 8.1 (Pixel Shader 1.x), by disabling DirectX 9-only graphical features not available on these older cards. Previous versions of Source (Source 2004 and Source 2006), as well as Source 2013 RTX Remix games, also had support for DirectX 7.0 and 6.0 render paths. This can be changed using the mat_dxlevel console command, or by using the -dxlevel launch option.
      • Note:This DirectX level system was deprecated in Left 4 Dead engine branch.
        Also, this DirectX level system doesn't actually affect or change Direct3D versions as Source games will always run on Direct3D 9.
    • Direct3D 9Ex Template:Src13 Template:Also - DX9 Windows Aero extensions, requires Template:Win7 or later. Users can enable/disable this in Video Settings - Advanced (Windows Aero extensions), or through the launch option -disable_d3d9ex (only in Counter-Strike: Global Offensive).
    • Note:Direct3D 9 can be forced by the launch option -dx9, if it was forced by commands such as -gamepadui, which enables both the Gamepad UI and Vulkan renderer unless combined with -dx9
  • OpenGL(in all games since Source 2009/Template:Srcmp) which is another graphics API used in Source games on Template:Mac and Template:Linux.
    • Source Engine ships with ToGL to translate Direct3D (DirectX) calls to OpenGL, and uses dxlevel 92, which is the OpenGL equivalent to DirectX 9 Shader Model 3 (D3D9.0c).
Note:Counter-Strike: Global Offensive Counter-Strike: Global Offensive only supports Vulkan on Template:Linux
Note:Source allows up to 8 LOD Models, although it does not have automatic level of detail out of box. Manual LoD is supported, however.

Template:Warning

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/interacted with, and what that object's mass and buoyancy are. This system is much more flexible than older 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 people 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
  • Steam Networking support (only in Template:Tf2branchTemplate:Synergy)
    • Allows self-hosting using Steam Datagram Relay, meaning users can easily create joinable servers without port forwarding.

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

  • Source uses the Havok physics engine, licensed from the Havok Group (now acquired by Microsoft)
  • A more responsive world with more realistic interactions
  • AI characters can interact with physically simulated objects
  • Includes support for ropes/cables, machines, constraint systems, and 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/NPCs in a vehicle
    • 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 that 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, knowing when to advance, retreat, lay cover, fire, etc.

Sound System

File:Icon-Bug.pngBug:Despite all Source games prior to Template:As having the 7.1 audio option, the game only outputs only 5.1 surround despite 7.1 selected. This issue does not affect some third-party games, such as Template:Titanfall2, and Template:Apex as they used newer versions of the Miles Sound System, which have this problem fixed.  [todo tested in ?]
Error: mutually exclusive parameters |only= with |since= and/or |fixed= provided.
Note:Some or newer Source games (such as Template:As, Template:Portal2 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
Note:Source does not support 48 KHz audio (DVD Quality) by default.

UI

File:Ep2 menu.jpg
Screenshot of Template:Hl2ep2 main menu, which is rendered using VGUI, with New Game, Options, and Achievements window opened.
File:HL2 GamepadUI menu.png
Screenshot of VGUI's Gamepad UI used in some Template:Src13 games after 2022. This UI was enabled by default when playing on Template:Deck.
  • 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 OS windows but renders them using the Source engine for both in game and out of game uniform UI display.
    • 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 (Template:Src13 version) — Since the release of Half-Life 2 (and its episodes) as well as Template:Portal updates in 2022, Valve have added a modern UI which is designed for consoles and handhelds like the Template:Steamdeck. With the new Gamepad UI, the UI is scalable across any resolution (including 4K and higher), unlike the regular VGUI, which does not automatically scale up to the resolution. This UI can be enabled manually by using the -gamepadui command line argument (which will also enable the 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, is a vector graphics rendering engine used to create Template:Flash-based UIs and HUDs for Source games. Also used in Template:Dota2. Both games eventually replaced Scaleform with Panorama (circa 2015[confirm] with the Template:Dota2 Reborn update, and in 2018 for CS:GO when it went free to play, along with the Danger Zone update).
  • Panorama (in all games since Counter-Strike: Global Offensive) — The successor to Scaleform, introduced in 2018, is Valve's new custom GUI interface that ressembles 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 interactable panels.

Input

Source supports the following input and controller APIs:

  • DirectInput - this method is supported in previous Source branches (Source 2004, Source 2006).
  • XInput - Introduced with Source 2007 Source 2007, this allows the game to be controlled using Xbox 360, Xbox One & Series X/S controllers. On some Source games this was superseded by the Steam Input API, but can be re-enabled by disabling the Steam Input API.
    • Since the Half-Life 2 20th Anniversary Update and the Template:Portal (May 2025 update), the option to enable legacy gamepad support (XInput and DirectInput), has been removed (which also unintentionally breaks the vibration/rumble feature when using the Steam Input API). However you can use the joystick 1 console command to re-enable legacy controller support (which also enable rumble/vibration support even when using Steam Input).
  • Steam Input API - control the game using almost any controller (Xbox, PlayStation, Nintendo, and others). Many of Valve's Source games have been updated to natively support them.
    • For the list of games that natively support Steam Input API, see this page.

Programming

Tools

File:Hammer screen.jpg
Screenshot of one of the Source SDK tools, Template:Hammer, a WYSIWYG map editor.