Molten.Engine
0.3.0
See the version list below for details.
dotnet add package Molten.Engine --version 0.3.0
NuGet\Install-Package Molten.Engine -Version 0.3.0
<PackageReference Include="Molten.Engine" Version="0.3.0" />
paket add Molten.Engine --version 0.3.0
#r "nuget: Molten.Engine, 0.3.0"
// Install Molten.Engine as a Cake Addin #addin nuget:?package=Molten.Engine&version=0.3.0 // Install Molten.Engine as a Cake Tool #tool nuget:?package=Molten.Engine&version=0.3.0
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.
Build Status
Platform | Github | Azure |
---|---|---|
Windows | ||
Android | ||
Linux | ||
MacOS | ||
iOS |
Alpha versions of each Molten library can be found on Nuget.org
Core Feature Status
See the following table for the per-platform support and status of each feature.
✔️ Functional/Complete
🚧 Work in progres
Blank - Not Started
🚫 Not-applicable
Feature | Windows | Android | Linux | Mac | iOS |
---|---|---|---|---|---|
Renderer - OpenGL | 🚫 | ||||
Renderer - OpenES | 🚫 | 🚫 | |||
Renderer - Vulkan | 🚧 | ||||
Renderer - DirectX 11 | 🚧 | 🚫 | 🚫 | 🚫 | |
Renderer - DirectX 12 | 🚧 | 🚫 | 🚫 | 🚫 | |
Audio - OpenAL | 🚧 | ||||
Audio - XAudio 2 | 🚫 | 🚫 | 🚫 | ||
Keyboard support | ✔️ | ||||
Mouse support | ✔️ | ||||
Touch support | 🚧 | 🚧 | |||
Game pad support | ✔️ | ||||
Entity component system | ✔️ | ✔️ | ✔️ | ✔️ | |
Content Management System | ✔️ | ||||
Example projects | 🚧 | ||||
Networking - MNet | |||||
2D Physics engine | |||||
3D Physics engine | |||||
Tool - Content editor | |||||
Tool - Scene editor | |||||
Project templates |
Renderer Feature Status
See the following table for the per-renderer support and status of each feature.
✔️ Functional/Complete
🚧 Work in progres
Blank - Not Started
🚫 Not-supported
Feature | DX11 | DX12 | OpenGL | OpenGL ES | Vulkan |
---|---|---|---|---|---|
Deferrend rendering | 🚧 | ||||
Physically-Based (PBR) | |||||
Geometry Shaders | ✔️ | ||||
Tessellation | 🚧 | ||||
Hull & Domain Shaders | ✔️ | ||||
Compute 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 | 🚫 | 🚫 | 🚫 | ||
HLSL Shader Compiler | 🚧 | 🚫 | 🚫 | 🚫 | 🚫 |
GLSL Shader Compiler | |||||
SPIR-V Shader Compiler |
Android
Molten has recently been upgraded to .NET 7. 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
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Magick.NET-Q8-AnyCPU (>= 12.3.0)
- Molten.Font (>= 0.3.0)
- Molten.IO (>= 0.3.0)
- Molten.Math (>= 0.3.0)
- Molten.Utility (>= 0.3.0)
- Newtonsoft.Json (>= 13.0.2)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Molten.Engine:
Package | Downloads |
---|---|
Molten.Graphics.Dxc
The start of an open-source, cross-platform game engine, written in C# |
|
Molten.Graphics.DXGI
The start of an open-source, cross-platform game engine, written in C# |
|
Molten.Engine.Windows
The start of an open-source, cross-platform game engine, written in C# |
|
Molten.Graphics.DX11
The start of an open-source, cross-platform game engine, written in C# |
|
Molten.Audio.OpenAL
The start of an open-source, cross-platform game engine, written in C# |
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release of Molten Engine.