I’m pretty happy with the way this turned out.
The map generator is now generating adjacent rooms. I can have levels stay mostly linear, of have huge sprawling areas just by toggling a flag.
In the first image I just let the generator run 30 passes over every room, and have them expand outward until the random number generator cuts them off.
In the second image, I still run 30 passes, but then stipulate that if a room had already spawned rooms in a pass, then they can’t spawn any in subsequent passes. This results in some slight deviation from the critical path, but it’s mostly a straight line to the end.
I can also just limit the number of passes I run to get a result that’s somewhere in the middle.
Each tiny square the map is made up of will be a hand designed piece that can contain traps, enemies, loot, and platforming challenges.