sfondo
Gestisco un server Minecraft dove ho intenzione di progettare una città di partenza di dimensioni abbastanza grandi. Ho una serie di cose, come segni di regole e gabbie di mafia, che vorrei mettere in edifici lì. La città stessa sarà estremamente grande e estesa, preferibilmente fino a 1000 per 1000 blocchi di dimensioni.
Gli edifici stessi avranno cubo o impronte rettangolari basate su un certo cubo di base, come tutti i multipli di 3 blocchi. Le strade e la distanza tra gli edifici saranno preferibilmente larghe 5-11 blocchi, a seconda dell'importanza della strada.
Quando inizierò il piano per la città, saprò esattamente quanto voglio che siano grandi gli edifici e quanti ce ne saranno.
Il problema
Il problema è la progettazione del layout per la città. Ovviamente con qualcosa di simile, e io che provengo da un background di programmazione piuttosto che da un background di urbanista, è abbastanza difficile persino iniziare a avvolgere la testa attorno al problema.
Il problema in particolare è che voglio che la città appaia il più naturale possibile. Naturalmente questo sarebbe abbastanza facile da costruire su un semplice schema a griglia, ma voglio evitare il più possibile una griglia o qualsiasi cosa che assomigli a una griglia.
La domanda
Quali algoritmi potrei essere in grado di perseguire per aiutarmi a progettarlo usando il codice? Pensavo che sarebbe stato più naturale se avessi usato i frattali in qualche modo, dato che Minecraft utilizza i frattali già nella sua generazione del terreno e una città sembra crescere naturalmente in un modello frattale.
Penso che sia simile in qualche modo a un algoritmo di riproduzione di tetris, quindi se qualcuno ha soluzioni che esistono in quella direzione, sarebbe di aiuto anche. Sto immaginando qualcosa in cui sarò in grado di definire le forme che voglio usare, e il software quindi scorre fino a trovare la soluzione più "ottimale" per una distribuzione uniforme degli edifici. Esiste già qualcosa che mi aiuti a risolvere questo problema usando Python, preferibilmente in modo visivo usando Pygame?
Naturalmente questo ha anche implicazioni interessanti per la generazione di città in generale nella progettazione dei giochi, quindi sono molto entusiasta di vedere quale sia la soluzione migliore.
modifica Per essere chiari, sto solo cercando il layout a questo punto poiché gli edifici saranno progettati e costruiti nel gioco.