Here’s a SIGGRAPH paper on Procedural Generation of Villages on Arbitrary Terrains. Lots of approaches to city generation assume that the ground is flat, but most real-world cities are constrained by the terrain they were constructed on. Especially for older European hamlets, like the villages pictured here.

https://hal.inria.fr/hal-00694525/
http://arches.liris.cnrs.fr/publications/CGI2012.html
https://hal.inria.fr/file/index/docid/694525/filename/template.pdf