>Both tend to stay interesting in the small scale but lose it to boring chaos in the large.
I think that's a good way to put it. I started writing a reply before reading your comment entirely and arrived at basically the same conclusion as this but more verbosely:
> For this reason I think the better approach is to start with a simple level-scale form and then refine it into smaller parts, and then to refine those parts and so on.
It seems hard to get away from having some sort of overarching goal, and then constantly looking back at it. At progressively smaller levels. Like what is the universe of the thing you are generating randomly. Is it a dungeon in a roguelike? It it meant to be one of many floors? Or is it a space inside a building? Is it a house? Is it an office? Is the office a stand alone building or a sky scraper?
Perhaps a good algorithm would start big and go small.
- assume the universe to generate is a world
- pick a location and assign stuff to generate. lets say its a city
- pick a type of city thing to generate. lets say its an sky scraper
- etc. going, smaller and smaller
- look at the city so far. pick another type of city thing to generate based on what has been generated so far
- look at the world so far. pick another type of thing to generate
Or maybe instead of looking back you could pre-divide into zones.
But then, if you want to make an entire universe (as in multiple worlds), you need to just make random worlds which leads to your original problem (boring chaos at large scale) like this or go up another level to more intelligently generate.
Point being, you need some sort of top down perspective on it.
Nethack/Slashem and DCSS, maybe.
The levels are made to fit under 80x24 terminal with maybe
a max of 7/8? -can't remember- rooms per level.
The worlds from Cataclysm DDA:Bright Nights are pretty regular,
and you have an overworld, labs, subways...