Hintergrund
Ich betreibe einen Minecraft-Server, auf dem ich eine Starterstadt von ziemlich großem Umfang entwerfen werde. Ich habe eine Reihe von Dingen, wie Regelzeichen und Mob-Käfige, die ich dort gerne in Gebäuden unterbringen würde. Die Stadt selbst wird extrem groß und verteilt sein, vorzugsweise bis zu 1000 mal 1000 Blöcke groß.
Die Gebäude selbst haben würfelförmige oder rechteckige Grundrisse, die auf einem bestimmten Basiswürfel basieren, wie alle Vielfachen von 3 Blöcken. Die Straßen und der Abstand zwischen den Gebäuden sind je nach Wichtigkeit der Straße vorzugsweise 5 bis 11 Blocks breit.
Wenn ich mit dem Plan für die Stadt beginne, werde ich genau wissen, wie groß die Gebäude sein sollen und wie viele es sein werden.
Das Problem
Das Problem ist, das Layout für die Stadt zu entwerfen. Offensichtlich ist es bei so einer Größenordnung und meiner Erfahrung als Programmierer und nicht als Stadtplaner eine ziemliche Herausforderung, mich überhaupt mit dem Problem auseinanderzusetzen.
Das Problem ist speziell, dass ich möchte, dass die Stadt so natürlich wie möglich aussieht. Natürlich wäre es ziemlich einfach, auf einem einfachen Gittermuster aufzubauen, aber ich möchte ein Gitter oder irgendetwas, das wie ein Gitter aussieht, so weit wie möglich vermeiden.
Die Frage
Welche Algorithmen kann ich anwenden, um sie mithilfe von Code zu entwerfen? Ich dachte, dass es am natürlichsten aussehen würde, wenn ich auf irgendeine Weise Fraktale verwenden würde, da Minecraft Fraktale bereits in seiner Geländegeneration verwendet und eine Stadt auf natürliche Weise in einem Fraktalmuster zu wachsen scheint.
Ich denke, es ähnelt in gewisser Weise einem Tetris-Spielalgorithmus. Wenn also irgendjemand Lösungen hat, die in diese Richtung existieren, würde dies auch helfen. Ich stelle mir etwas vor, in dem ich die Formen definieren kann, die ich verwenden möchte, und die Software iteriert dann, bis sie die "optimale" Lösung für die gleichmäßige Verteilung von Gebäuden findet. Gibt es schon etwas, das mir hilft, dieses Problem mit Python zu lösen, am besten visuell mit Pygame?
Natürlich hat dies auch interessante Auswirkungen auf die Stadtgeneration im Allgemeinen im Spieledesign. Daher bin ich sehr gespannt, welche Lösung die beste ist.
editieren Um es klar zu machen, ich suche an dieser Stelle nur nach dem Layout, da die Gebäude im Spiel entworfen und gebaut werden.