So what would you want for that, would you want neighborhoods identified as slums somehow, and they get “disreputable” buildings in them? I agree it sounds like a total mapgen overhaul to make it happen, but if we’re going to do it, need to start investigating how it’ll work sometime.
FYI, roughly how town generation happens right now is it picks a point on the map, and grows branching networks of roads in the cardinal directions from that point, it goes 3-6 squares or so before generating a side road, which in turn uses the same algorithm recursively to make side branches, so to follow just a few iterations of one branch:
S = start, | = vertical road, - = horizontal road, B = building
S
|
S
|
B|B
S
|
B|B
B|B
S
B|B
-|B
B|B
B|B
S
BB|B
--|B
BB|B
B|B
S
BBB|B
---|B
BBB|B
B|B
S
Which buildings get placed are a function of distance along this branching path from the town center, businesses cluster toward the center and houses spawn on the outskirts. While using this structure, we could easily have subtrees be marked as having different properties, but I’m not sure if that would be at all sensical.