I'm looking to do some pseudo-random map generation using graph grammars (graph rewriting). However, most of what I can find online on this is purely academic and, while helpful, doesn't have any direct practical application.
For the uninitiated, the thousand-foot view of this is that say a dungeon room is generated, then based on a set of rules for that room, one rule is randomly chosen and applied adding more rooms. From there, another specified room may go through the same or a different set of rules for additional growth of the map.
For the practical side of things, I'm thinking of storing the possible rules as arrays containing data about what additional rooms it contains, what order they are in, and which might also end up having a rule applied to it. But then mapping this to 2D space, while it seems easy, may end up with some complications, such as what happens if rooms end up overlapping.
At any rate, I was hoping someone might have some insight into whether this might be done in a better fashion than an array for the rules.
The results from the rules will likely be added to a custom class that will hold the layout as it's built.