I've been looking for a good way to prescribe some kind of gated level flow through my generated maps, as the first step toward doing interesting generated missions. I got the idea this morning to hijack my portal tagging system by adding a secondary tag—which I'm calling a "color" because I'm essentially using this to do map coloring—and then colorizing any downstream sectors and portals that are generated by expansion through the colorized portal.
So in the image above, I've started with 8 seed rooms: three red rooms to the north, three blue rooms to the south, and two chokepoint rooms in the middle, which act as adapters from the blue side of the map to the red side. The portal colorization ensures that the red and blue rooms can't join to each other directly, only via those chokepoints. I also added a validation step to ensure that all rooms of a color are connected without visiting any other color. (That's not strictly necessary, but I think it makes sense for my purposes.)
This test map looks like a bad Team Fortress level or something, but the potential for high-level layouts that can be used in concert with gating mechanisms to make interesting procedural missions is pretty exciting to me!
