u/Minnator

C# Voxel Engine with Vulkan: Mantle
▲ 10 r/VoxelGameDev+1 crossposts

C# Voxel Engine with Vulkan: Mantle

I have now been tinkering on this voxel engine of mine named Mantle for a good 8 weeks, and it's finally getting somewhere.

I myself love to mod games so after creating several modding tools for different games it's now time to create an engine that is build around modability.

While I use C#, mods won't be written in it. I simply went with C# as it is the language I am best and have the most experience with, and as my engine is compiled to Native AOT the performance is also very close to C++.

To modify a game made in Mantle you can either edit the config files, which are just plain yaml, or add your own game logic in lua. All changes will have an immediate effect if the engine is run with the `-debug` flag. The same goes to any modification of any asset.
So working on the games or in extension a - mods data does never require an engine restart.

I also just finished the first handful of UiElements for my custom UI Framework, which integrates directly into my localization system supporting dynamic values, different plural forms as well as reactive, allocation less queries to the game state.
With those two systems combined it is possible to create different UI-Screens in a simple .yaml file.

While there is plenty of work to be done it's really nice to see it finally coming together.

What do you think of my approach to modability as a feature and what would u make differently?

Current Capabilities:

- Bindless textures
- Raycasting for scene interaction
- Custom Ui Framework
- Hot reloading of any asset / game data
- Zero-Allocation Data Binding for localisation

The current engine viewport with some custom ui elements

The definition of the UI Elements visible in the screenshot of the viewport

The localisation used in the UI Elements visible in the screenshot of the viewport

reddit.com
u/Minnator — 7 days ago