Check out wave function collapse (this is a good article: https://www.procjam.com/tutorials/wfc/). It tends to be used for this type of procedural level generation.
And, as another commenter noted, also for cities design. There are actually a few versions of this: I worked on one called Delve https://www.sidewalklabs.com/products/delve
Typically they use constraints optimization or wave function collapse under the hood, on top of some sort of procedural generation pipeline. A few others are Spacemaker, Hypar, and Testfit.
Comments
Check out wave function collapse (this is a good article: https://www.procjam.com/tutorials/wfc/). It tends to be used for this type of procedural level generation.
And, as another commenter noted, also for cities design. There are actually a few versions of this: I worked on one called Delve https://www.sidewalklabs.com/products/delve
Typically they use constraints optimization or wave function collapse under the hood, on top of some sort of procedural generation pipeline. A few others are Spacemaker, Hypar, and Testfit.