fundo
Eu corro um servidor minecraft onde vou projetar uma cidade inicial de escala bastante grande. Eu tenho uma série de coisas, como placas de regras e gaiolas da multidão, eu gostaria de colocar em prédios lá. A cidade em si será extremamente grande e espalhada, de preferência entre 1000 e 1000 blocos.
Os próprios edifícios terão cubo ou pegadas retangulares baseadas em um determinado cubo base, como todos os múltiplos de 3 blocos. As ruas e a distância entre os prédios terão, de preferência, de 5 a 11 quarteirões de largura, dependendo da importância da rua.
Quando eu começar o plano da cidade, saberei exatamente o tamanho que quero que os edifícios tenham e quantos haverá.
O problema
O problema é projetar o layout da cidade. Obviamente, com algo dessa escala, e eu vindo de um background de programação e não de um planejador urbano, é bastante desafiador começar a entender o problema.
O problema especificamente é que eu quero que a cidade pareça o mais natural possível. É claro que isso seria bastante fácil de construir em um padrão de grade simples, mas eu quero evitar uma grade, ou qualquer coisa que pareça uma grade, o máximo possível.
A questão
Quais algoritmos posso buscar para me ajudar a projetá-lo usando código? Eu estava pensando que pareceria mais natural se eu usasse fractais de alguma forma, já que o minecraft usa fractais já em sua geração de terreno, e uma cidade parece crescer naturalmente em um padrão fractal.
Eu acho que, de certa forma, é semelhante a um algoritmo de execução de tetris, portanto, se alguém tiver soluções que existem nessa direção, também ajudaria. Estou imaginando algo em que poderei definir as formas que quero usar, e o software itera até encontrar a solução mais "ideal" para a distribuição uniforme dos edifícios. Já existe algo para me ajudar a resolver esse problema usando python, de preferência visualmente usando pygame?
Naturalmente, isso também tem implicações interessantes para a geração das cidades em geral no design de jogos, por isso estou muito animado para ver qual é a melhor solução.
edit Para ser claro, estou apenas procurando o layout neste momento, pois os prédios serão projetados e construídos no jogo.