I'm definitely not expecting miracle answers to this question, what I'm looking for is pretty hard to do procedurally, but I've seen people achieve some amazing addons so I wonder to what extent it's possible and how far anyone has gotten. I want to generate entire 3D levels procedurally based on a random seed or noise, namely buildings with rooms and corridors whether scifi facilities or medieval dungeons. What is the most complex result that is possible with such a system?
This is easy to do for simple layouts: If you only want a one level dungeon with square walls, it's as simple as iterating over a 2D grid of positions at a given scale and filling each spot with either a cube (walls) if noise > 0.5 or a plane (floor) otherwise. But what to do if you want to produce a random facility with rooms that make sense, platforms and bridges and stairways and doors and windows, textures appropriate for each area, let alone scatter details like objects or items? The system should take a seed as its parameter, alongside any other structural properties that can be customized like the sizes of rooms and their amount versus corridors, as well as a texture set to put over surfaces where each is appropriate.
The best I'm hoping for is something of early 90's geometric detail, namely the maps Unreal Tournament 99 used to have: Just generate and connect basic rooms of different shapes and sizes, then if the UV maps are set accordingly the fine details can be achieved using textures to get a modern looking result. Geometry wise I'm aiming for something at the level of complexity in this video, it shows a map that that's generic and polygonal enough to represent something that could be done procedurally, though maybe I'll be amazed and and there's a way to make ones that are even more complex and detailed.
For Godot the most immediate solution that comes to mind is CSG: A script could spawn a bunch of CSG shapes in logical order, maybe subtract the rooms with big boxes then use more subtractive cubes to connect them with corridors and create windows... even so the script for knowing what shapes to use and how to scale them would be complex, plus CSG still had issues where random combinations of shapes caused broken polygons and holes in the mesh. The script could built its own geometry from scratch, but that sounds even more complex and would likely require some cleverly predefined patterns.