Home
Softono
MoltenEngine

MoltenEngine

Open source MIT C#
296
Stars
22
Forks
87
Issues
7
Watchers
1 year
Last Commit

About MoltenEngine

MoltenEngine is a spare-time C .NET 8 game engine designed for cross-platform, multi-threaded game development. Built as a learning project, it aims to provide an alternative framework for creating games without relying on existing commercial engines. The engine features support for Windows initially, with planned compatibility for Android, Linux, Mac, and iOS. Core features include an entity component system, content management system, and input support for keyboard, mouse, and game pads, with touch support in progress. Rendering capabilities include work-in-progress support for DirectX 12 and Vulkan backends, with many advanced features still under development. Additional components such as audio, networking (MNet), physics engines (both 2D and 3D), and tooling like scene, shader, and sprite editors are in various stages of completion. Documentation is available on GitHub Pages, and nightly builds can be downloaded while releases are distributed via NuGet.

Platforms

Web Self-hosted Windows Android

Languages

C#

Links

Molten Engine Molten started as spare-time engine project, which I eventually intend to use to develop my own games without relying on other engines. Hopefully you'll find a use for it too!

While parts of this project will inevitably be a classic case of re-inventing the wheel, I'm treating it as a chance to gain more experience in the area of game engine development.

Documentation on GitHub Pages

Build Status

Pathway Status Download
Dev (nightly) Build Dev Build Dev
Release Release Build Nuget

GitHub GitHub last commit GitHub Sponsors

Core Feature Status

See the following table for the per-platform support and status of each feature.

Key Description
βœ”οΈ Functional/Complete
🚧 Work in progres
Not Started
🚫 Not-supported
Feature Windows Android Linux Mac iOS
Renderer - Vulkan 🚧
Renderer - DirectX 12 🚧 🚫 🚫 🚫
Networking - MNet
Audio Engine 🚧
Keyboard support βœ”οΈ
Mouse support βœ”οΈ
Touch support 🚧 🚧
Game pad support βœ”οΈ
Entity component system βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ
Content Management System βœ”οΈ
Example projects 🚧
2D Physics engine
3D Physics engine
Tooling - Scene editor
Tooling - Shader editor
Tooling - Sprite editor
Project templates

Renderer Feature Status

See the following table for the per-renderer support and status of each feature.

Feature DX12 Vulkan
Multi-GPU Support 🚧 🚧
Deferrend rendering
Physically-Based (PBR)
Geometry Shaders
Tessellation
Hull & Domain Shaders
Compute Shaders
Mesh Shaders
2D Spite batching
2D Primitive batching
Compressed textures
Hardware instancing
Occlusion culling
Frustrum culling
Portal culling
Level of Detail (LoD)
HDR support
2D Texture arrays
3D Texture arrays
3D/volume textures
static skyboxes
real-time skyboxes
multi-window support
Render into WinForms
Render into WPF
Render into UWP 🚫
Render into MAUI
Render into Android UI 🚫
Raytracing
Shader Compiler (HLSL/SPIR-V) βœ”οΈ 🚧

Android

To build for Android you will need to install the Android workloads by running
dotnet workload install android in command prompt or powershell.

If you're upgrading from a previous .NET version, you may also need to run this command again to update the android workload.

Sponsors

A massive thank you to some of our sponsors:

Third-Party Libraries

A special thanks to each of these great libraries, without which Molten wouldn't exist in it's current form:

  • Silk.NET - C# Bindings for DirectX 11/12, OpenGL, Vulkan, Assimp, OpenCL, OpenAL and OpenXR
  • SharpDX - Source for some Molten.Math types
  • Magick.NET - Extensive image library for .NET
  • JSON.NET - JSON serialization