MonoEngine
Jump to navigation
Jump to search
id Tech 2 ▶
GoldSrc ▶
Source ▶
MonoEngine
Monochrome Game Engine
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)
License
Official website
Predecessor
Successor
N/A
Features
List of
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 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.
- MonoEngine uses the deferred renderer as of version 0.2, while
- 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
)
- Parallax cubemapping is also supported (in all games since
- Phong shading for models
- Phong is also supported on world brushes (in all games since
)
- Phong is also supported on world brushes (in all games since
- 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. 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
- Water also supports flow mapping (in all games since
)
- 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
) - Occluder entities for visibility blocking
- Indoor/Outdoor environments
- Deformable terrain
- 3D skyboxes can extend the horizon and add parallax on distant objects
- Dynamically rendered organics (grass, trees, etc.)
- Swaying trees (in all games since
) Template:Also
- Subdivision surfaces, diffuse & specular bump maps
- Real-time radiosity lighting
- Real-time Cascaded Shadow Mapping (in all games since
)
- 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
) Template:Also
- Radial fog, which prevents strengthen or weaken the fog effect when rotating the camera. Replaces planar-based fog. (in all games since
- Scalability
- Screen Space Ambient Occlusion (SSAO) (in all games since
)
- 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.
- 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.
- Physically Based Rendering (in all games since
) - Parallax Occlusion Mapping (in all games since
) - 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.
- 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).
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


)
- 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
)
- In Monoengine 0.2 and onward, Audiokinetic Wwise has been replaced with the open source solution
Steam Audio Github page (in all games since
)
- In Monoengine 0.2 and onward, Audiokinetic Wwise has been replaced with the open source solution
- 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.
- MP3 decompression
- MP3 decompression has been replaced with
MiniMP3 Github page (in all games since
)
- MP3 decompression has been replaced with
- Support for audio streaming on any wave Template:Clarify
- Real-time wave file stitching Template: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 OS windows but renders them using the Source engine for both in game and out of game uniform UI display.
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
)
- 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
)
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.
- All code is written in C/C++ using Visual Studio .NET 2025 and later.
- Linux versions are compiled using Valve's vcpm tool (only relevant for Source 2007) and the GNU Compiler Collection.
- 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
)
- Template:Sq has been deprecated since 2022, and has been replaced entirely by Template:Angelscript (in all games since
)
- Template:Sq has been deprecated since 2022, and has been replaced entirely by Template:Angelscript (in all games since
Tools
- Template:Hlfaceposer
- Facial expression tool used to craft speech and emotions
- Template:Hammer
- 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 designers to hook up I/O between entities to control AI within the game
- Template:Hlmv
- Full model previewer
- Rotate models in any direction
- Able to setup hit boxes
- View physics hull
- View normals
- View the map in wireframe, shaded or textured view modes
- Template:Studiomdl
- Model compiler
- Template:VBSP, Template:VRAD, Template:VVIS, Template:VMPI
- Map compilation tools (BSP, lighting and visibility)
- Template:VMPI - distributed compilation tool allowing level compiles to be spread across many PCs greatly reducing compile times
- Template:VRAD has been deprecated since the new rendering system was introduced (in all games since
)
- Exporters
- XSI, Max and Maya .smd exporters for exporting 3D models
