I think because I’m the OP for this thread, it does not indicate it specifically… and some folks just reply the bottom but talk to someone specific so it’s not clear that every unattributed reply is meant for me either (see comment on Spoxel above).
Yes. There is no noise. Just java.util.Random initialized with a seed.
I originally thought to have overall level archetypes that would serve as the high level structure and then randomly pick one. However, my first archetype was “random radials from a central core where radial tips are randomly connected”… and that will randomly produce almost every overall archetype I could think of.
From there, I do some number of iterations of the brute force “blooming” where I visit every open connection and try to randomly place a part there. I intersperse this with a pass that sees if a square room won’t fit but a trapezoid room will… because that results in a lot of nicely nested structures. I iterate those two steps a few times.
Next will be to do a graph traversal over the level to map out different security zones, key drops, data terminals, loot drops, etc…