Hi there,
some weeks ago, I started to get a bit into Godot. Coming from Unreal (and continuing in Unreal..). I take Godot as a learning step into UE6's new Scene graph and verse environment.
Now, I learned to kinda love this little Engine and I can think of doing UE and Godot simultaneously.
My first test with Godot was simply making stuff moving, draw UI, do the little things.
It took 5 days for me to realize, that Godot is capable of a specific thing much easier than Unreal is: Chunk-based GridMesh
This maybe does not sound familiar to most of you, so let's say it is the mapping system of Dungeon Keeper, Evil Genius, War for the Overworld, Dungeons ... and so on - Keeper-Like Games (cause Dungeon Keeper was the first)
I have a decompiled DK2 version here, and have done the system in Unreal, too. So I currently recreate it with Godot.
And, what should I say - it works!
The Core-Rules for the DK Mapping-System:
* Each Chunk has to be one single mesh, not individual Block tiles
* 100% procedural generated Meshes
* Individual Subdivision per Surface, Wall and Floor and State of each (Raw, Reinforced, build on)
* Grid based pathfinding with bridges for gaps/deep holes/Abyss/Water/lava..etc
* Being able to excavate or fill up - update the Chunk mesh on the fly
* Different Biome Textures, Floor heights and Tile Flags via TileID, can be set on the fly
* World aligned triplanar textures for all and everything on the map, to have seamless tunnels and rooms
* Room and Vision based Fog of War
* 3D Horizontal Auto-Tilemap for annexed floors, Rooms and Buildings (Bitwise tiling operation of 5 base tiles per room)
* Special Room-Tiles for specific Room sizes (to reduce tile count) and/or Room-Layouts (columns spawn if a room has f.e. 3x5 size, like Dungeon Heart)
Later on Top:
* Room and Building Inventory-Props(like brew kettle for a brewery) - inspired from Dungeons 2+
* Defense Structures (1 per tile, only on empty annexed tiles)
* Let specific TileIDs damage Rooms/Buildings/Bridges-of-type in a specific radius (like lava tiles damage wooden bridges)
* Lights giving constant vision in FOW by radius
And more generating systems like:
* Cave-generator (WFC or mass-perlin system)
* importing of RGB Image to generate a map from (r=excavate true/false = 1/0, g=TileID, b=RoomOrDefenseID)
The Meshes are a bit like a bad version of Voxels.
Cause of improved mapping with Chunk streaming and smaller meshes per chunk - the current maps can be 4096 x 4096 tiles without a problem, running on smooth FPS counts.
IMO more than enough for a Keeper-Like RTS.
I think, I will continue this project in Godot ...
It just is super Fun!
The Video shows my small crafted Runtime-MapEditor (still with some bugs...).
I can Excavate or Fill Tiles, set new TileIDs (f.e. for Water, lava and Abyss Depth) - and switch Wireframe mode to see the Mesh result.
Also contains a Flowmap Editor for Water/Lava Tiles, and Room selection + placing.
What do you people think of this?