MonoEngine

From Zombie Panic! Official Wiki
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)
Engine
Version 0.1 (Current Release) Version 0.2 (In Development)
Written in
License
Official website
Predecessor
Successor
N/A

Features

List of MonoEngine MonoEngine engine features and capabilities.


Renderer

  • Supports Shader Model Versions 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.
    • MonoEngine uses the deferred renderer as of version 0.2, while Contagion Contagion uses uses forward renderer.
    • 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.
  • Bump mapping and Normal mapping on models and the world
  • Authoring of shaders with HLSL
  • Cube and environment mapping
    • Parallax cubemapping is also supported (in all games since Contagion)
  • Phong shading for models
    • Phong is also supported on world brushes (in all games since Contagion: Flatline)
  • 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 2 Left 4 Dead 2. 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 2)
  • Occluder entities for visibility blocking
  • Indoor/Outdoor environments
  • Subdivision surfaces, diffuse & specular bump maps
  • Real-time radiosity lighting
  • Real-time Cascaded Shadow Mapping (in all games since Contagion: Flatline)
    • In version 0.2, The entire rendering pipeline for lighting has been fully replaced, which made Template:VRAD fully obsolete.
  • Effects that include but are not limited to: particles, beams, volumetric smoke, sparks, blood, and environmental effects like fog and rain
    • Radial fog, which prevents strengthen or weaken the fog effect when rotating the camera. Replaces planar-based fog. (in all games since Left 4 Dead 2) Template:Also
  • Scalability
  • Screen Space Ambient Occlusion (SSAO) (in all games since Contagion: Flatline)
    • 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 (in all games since Contagion: Flatline)
  • Parallax Occlusion Mapping (in all games since Contagion: Flatline)
  • Support of various graphical backends (such as Direct3D, OpenGL)
  • 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 2.
        Also, this DirectX level system doesn't actually affect or change Direct3D versions as Source games will always run on Direct3D 9.
  • 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:Source allows up to 8 LOD Models, although it does not have automatic level of detail out of box. Manual LoD is supported, however.

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 (in all games since ContagionContagion: FlatlineZombie Panic! 2)
    • 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

  • MonoEngine uses a modified open source physics engine called Jolt.
  • 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

  • Uses the Audiokinetic Wwise as middleware (only in Contagion)
    • In Monoengine 0.2 and onward, Audiokinetic Wwise has been replaced with the open source solution ValveSoftware/steam-audio Steam Audio Steam Audio Github page (in all games since Contagion: Flatline)
  • Support 7.1, 5.1 surround sound, 4 speaker surround
  • 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:Contagion menu.jpg
Screenshot of Contagion main menu, which is rendered using UI2.
  • 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.
    • An updated version of VGUI called UI2 is now in use, which now supports 4K resolutions. (in all games since Contagion)
    • Dynamic in-game HUD display
    • Many widgets/controls (e.g., buttons, treeview, html control…)
    • Themes/custom visualization allowed
    • Platform independent
    • Localized text (Unicode compliant)

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.
  • Steam Input API - control the game using almost any controller (Xbox, PlayStation, Nintendo, and others).
  • Controller APIv1 (in all games since Contagion)
    • Steam Deck controller support
    • Supports Double Input for a single button (HOLD X/Tap X)
  • Controller APIv2 - A brand new controller support API written to future proof any new controller (in all games since Contagion: Flatline)

Programming

  • Source natively support various CPU architectures, such as x86 (PC and 8th, 9th-gen Consoles), ARM (Template:Android, Template:Switch), PowerPC (Template:360, Template:Ps3), and more, with both 32 and 64-bit.
    • Support for 64-bit architecture will allow Source to handle more than 2-4GBs of RAM. (in all games since Contagion: Flatline)
  • All code is written in C/C++ using Visual Studio .NET 2025 and later.
  • You can easily and quickly derive new entities from existing base classes.
  • There is a internal context sensitive performance monitoring system
  • Graphics performance measurement tools are built into the engine
  • Modular code design (via DLLs) allow swapping out of core components for easy upgrading or code replacement
  • The VScript scripting system allows using external coding languages (such as Template:Sq and Template:Angelscript) to be used in maps to create more complex systems (in all games since Left 4 Dead 2)

Tools

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