DevLog: Procedural Village Generation Part 3 – Neighborhoods and Building Placement
To prevent uniform layouts, our village generator now defines a dense center and a spread-out outskirt. The algorithm establishes a central point and generates two interconnected grids: a tight one for downtown roads and a wider one for the outskirts. Building types are then selected based on their distance from that center.

Source and More information: DevLog: Procedural Village Generation Part 3 – Neighborhoods and Building Placement

Author: indieDB.com