Während die anderen Antworten hier wirklich gut für die Erzeugung der Arten von statischen Landschaften sind, die für dieses spezielle Bedürfnis funktionieren würden. Es gibt andere Methoden, nach denen Menschen suchen, die auf diese Frage stoßen, wenn sie Landschaften erstellen möchten, die sich im Laufe der Zeit ändern oder viel realistischer erscheinen.
Im Gegensatz zu den anderen Antworten beginnen Sie dies mit einer völlig leeren Karte. Beginnen Sie mit dem, was Sie als Meeresspiegel betrachten würden. Verwenden Sie Perlin-Rauschen , um geringfügige Abweichungen hinzuzufügen. Wenn Sie 256 mögliche Höhen haben, variieren Sie nicht mehr als 3-5 in beide Richtungen. Auf diese Weise werden die ersten paar Milliarden Jahre Ihrer Landschaft erstellt, ohne dass eine Simulation so lange ausgeführt werden muss.
Plattentektonik
Teilen Sie die Karte entlang gerader oder gebogener Linien, um Platten zu erstellen. Je detaillierter die Formen der Platten sind, desto interessanter wird Ihre Landschaft. Halte sie groß. Geben Sie jeder Platte eine Richtung, Geschwindigkeit. Bewegen Sie die Platten über einen bestimmten Zeitraum schrittweise um die Karte und ziehen Sie alle Kacheln darüber mit sich.
Wenn sich zwei Platten kreuzen, treffen Sie eine Auswahl, welche über- und welche untergehen. Diese Auswahl kann zufällig sein. Fliesen auf unter bezeichneten Platten werden sofort um 5 Stufen in der Höhe reduziert. Sobald eine Platte über oder unter einer Platte benannt wurde, werden alle zukünftigen Interaktionen mit Platten diesen Regeln folgen:
- Wenn eine bestimmte Platte eine nicht bezeichnete Platte kreuzt, wird die nicht bezeichnete Platte zum entgegengesetzten Typ. (So werden UD-Platten beim Überqueren eines Over unter.)
- Wenn eine Überplatte über einer Unterplatte liegt, bewegen sich alle diese Kacheln um 0-1 Höhenstufen nach oben, und die Kacheln folgen dem Weg der Überplatte.
- Wenn eine Überplatte eine Überplatte kreuzt, bewegen sich alle diese Kacheln 1 bis 2 Schritte nach oben, und die Kacheln in der Überkreuzungsregion driften nicht mehr.
- Wenn eine Unterplatte eine Unterplatte überquert, bewegen sich alle Kacheln im Bereich mit einer Höhe von mehr als 66% für beide Platten in der Überkreuzungsregion um 1 bis 3 Stufen nach oben (wie durch vulkanische Aktivität entstehen so über einen ausreichenden Zeitraum Inseln) ) und Fliesen in diesem Bereich hören auf zu treiben.
Alle Platten, die sich kreuzen, verlangsamen sich bei jedem Schritt um 20% ihrer aktuellen Geschwindigkeit. Fügen Sie für zusätzlichen Realismus bei jedem Schritt eine zufällige Änderung der Bewegungsrichtung von -10% bis 10% hinzu.
Nach der gewünschten Anzahl von Schritten. Wahrscheinlich sind 5-10 genug. Alle Kacheln, auf denen sich keine Platten befinden, sollten auf die niedrigste vorhandene Ebene fallen gelassen werden.
Groß oder klein?
Diese Karte kann unverändert verwendet oder erweitert werden, um eine viel größere Karte zu erstellen, indem sie in 4X4-Kacheln (Zellen) aufgeteilt und diese Abschnitte auf der Grundlage ihrer individuellen Höhen erweitert werden. Behandeln Sie die Höhe jeder Zelle als Punkt und erstellen Sie eine glatte Abstufung in der größeren Karte zwischen diesen Punkten. Wenn also die größere Karte 40 × 40 statt 4 × 4 ist und Punkt (0,0) 10 und Punkt (0,1) 1 ist, sind die Kacheln auf der größeren Karte zwischen ihnen 10,9,8,7,6 , 5,4,3,2,1 in der Höhe. Weitere Perlin-Geräusche können hinzugefügt werden, um die Pisten zu glätten. Insgesamt ist diese Skalierungstechnik dem Diamond Square- Algorithmus ähnlich .
Wasser
Um Flüsse und Seen, Ozeane und Grundwasserspiegel zu simulieren. Ich bevorzuge es, zellulare Automaten zu verwenden .
Höhen werden zu Floats oder erweiterten Int-Bereichen, um eine feinkörnigere Verfolgung zu ermöglichen. Wasserzellen haben Sättigungswerte, beispielsweise im Bereich von 1 bis 256. Die Karten sollten gleichmäßig starten. Sie müssen mit den Zahlen für Ihre individuellen Kartengrößen spielen. Im Allgemeinen befolgen Sie jedoch die folgenden Regeln:
- Wenn eine Nachbarzelle gesättigter ist, erhöhen Sie die Sättigung und gewinnen Sie an Höhe.
- Wenn eine Nachbarzelle weniger gesättigt ist, verringern Sie die Sättigung und verlieren an Höhe.
Machen Sie diese Überprüfung für jede benachbarte Zelle. Führen Sie eine ausreichende Anzahl von Schritten durch. Wenn Sie möchten, können Sie dieser Simulation eine Temperatur hinzufügen, indem Sie den Betrag der verlorenen / gewonnenen Sättigung um diese Temperatur ändern. Sie können es auch basierend auf der Höhe ändern. Es sollten sich natürliche Seen und Flüsse bilden. Einige werden in den Ozean fallen. (Der Ozean füllt sich wahrscheinlich nicht mit einer Metrik, aber Sie bezeichnen alles unter dem Meeresspiegel sowieso als wassergefüllt.)
Sie können die Temperatur- und Sättigungsdaten beibehalten, um wie in den anderen Antworten zum Erstellen von Biomen verwendet zu werden. Sie sollten VIEL genauer und interessanter sein. Mit schneebedeckten Biomes an den Polen und heißen in der Mitte (wenn Sie eine glatte abgestufte Temperaturliste verwenden).
Sie können auch Wind und damit Temperaturänderungen anhand der Höhen simulieren. Sie können zwischen der Temperatursimulation und der Wassersimulation wechseln, wenn Sie möchten. Ich habe jedoch noch nichts mit Temperaturänderungen gebaut, daher werde ich nicht darauf eingehen, wie das geht.
Sich entwickelnde Landschaften
Wenn Sie die Simulationen für Land, Wasser und Wärme beibehalten und deren Auswirkungen drastisch reduzieren und die Bewegung der Platten stoppen, können Sie alle diese Metriken im Laufe der Zeit weiter ändern. Ich würde die Berechnungen nicht oft durchführen, aber Sie können eine Weltkarte erhalten, die auf diese Weise auf Änderungen reagiert.
Fazit
Während diese Art von Techniken weitaus aufwendiger sind, erzeugen sie viel realistischere und sich entwickelnde Effekte. Nehmen Sie es für das, was es wert ist?