Procedurally generating structures with rooms / corridors / stairs / doors

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 Blender I’m definitely looking at geometry nodes, though amazing as they are I always run into limitations and any complex result requires huge convoluted node configurations: Generating simple greebles is one thing, understanding how to convert a noise texture to rooms is another. It will surely require an addon or script; I’ve seen some amazing addons to generate buildings from meshes and automatically place door or window prefabs, but generating actual rooms in a logical pattern is something different. If any such extension is compatible with the game engine I might consider creating the whole project in UPBGE, otherwise I could at least export some levels to Godot in any case.

At the start of the big AI hype there was some AI analyzing some ego shooter levels and producing them on it’s own… most procedural “level generators” i know of do somethign like a dungeon… most only a labyrinth.

Anyway the world of level generation is huge… some examples… :

and of course here (on BA) are some examples too

But to produce a level with tactical areas to have good gameplay… that’s on another level ( ← pun intended :wink: ).

Edit:
In fact there is something in python (not directly for blender) for DOOM levels… (and this has to be somehow imported) ???

Thanks. Some of the stuff I found is for 2D, when it comes to 3D it’s mostly simple dungeon generators with cubes which I easily know how to do. Stuff like the last entry is most interesting: How to generate an unique map in the style of something like Doom, where you still stick to simple geometry but get doors and stairs and ledges and diagonal parts and so on.

The original goal which I’ll likely be returning to, is using geometry modules of fixed sizes. The problem there is there are barely any of quality, I couldn’t find what I’m looking for even on Sketchfab let alone Blendswap or OpenGameArt, either they’re untextured or too low-poly or don’t have enough set pieces or come with geometry errors and don’t snap once I open them in Blender to check.