Antecedentes
Ejecuto un servidor de Minecraft donde voy a diseñar una ciudad de inicio de escala bastante grande. Tengo una serie de cosas, como signos de reglas y jaulas de la mafia, me gustaría poner en edificios allí. La ciudad en sí será extremadamente grande y extendida, preferiblemente de hasta 1000 por 1000 cuadras de tamaño.
Los edificios mismos tendrán huellas de cubo o rectangulares que se basan en un cierto cubo base, como todos los múltiplos de 3 bloques. Las calles y la distancia entre los edificios serán preferiblemente de 5 a 11 cuadras de ancho, dependiendo de la importancia de la calle.
Cuando comience el plan para la ciudad, sabré exactamente qué tan grande quiero que sean los edificios y cuántos habrá.
El problema
El problema es diseñar el diseño de la ciudad. Obviamente, con algo de tal escala, y yo viniendo de un fondo de programación en lugar de un fondo de planificador urbano, es bastante difícil incluso comenzar a entender el problema.
El problema específicamente es que quiero que la ciudad se vea lo más natural posible. Por supuesto, esto sería bastante fácil de construir en un patrón de cuadrícula simple, pero quiero evitar una cuadrícula, o cualquier cosa que parezca una cuadrícula, tanto como sea posible.
La pregunta
¿Qué algoritmos podría seguir para ayudarme a diseñarlo usando código? Estaba pensando que se vería más natural si usara fractales de alguna manera, ya que Minecraft ya usa fractales en su generación de terreno, y una ciudad parece crecer en un patrón fractal naturalmente.
Creo que es similar en algunos aspectos a un algoritmo de juego de tetris, por lo que si alguien tiene soluciones que existan en esa dirección, también ayudaría. Me estoy imaginando algo donde podré definir las formas que quiero usar, y el software iterará hasta que encuentre la solución más "óptima" para una distribución uniforme de los edificios. ¿Ya existe algo para ayudarme a resolver este problema usando Python, preferiblemente de manera visual usando Pygame?
Naturalmente, esto también tiene implicaciones interesantes para la generación de ciudades en general en el diseño de juegos, por lo que estoy muy emocionado de ver cuál es la mejor solución.
editar Para ser claros, solo estoy buscando el diseño en este punto, ya que los edificios se diseñarán y construirán en el juego.