Ich habe diesen Twitter-Bot https://twitter.com/unchartedatlas gefunden , der Karten postet, die aussehen, als kämen sie aus einem Pulp-Fantasy-Roman.
Irgendeine Idee, wie sie gemacht werden?
Glücklicherweise hat der Autor, Martin O'Leary, hier eine ziemlich detaillierte Anleitung zum Algorithmus zur Erstellung der Karten veröffentlicht: http://mewo2.com/notes/terrain/ sowie zur Erstellung der Namen hier: http:/ /mewo2.com/notes/naming-language/ .
Eine kurze Zusammenfassung des Algorithmus, der in Martin O'Learys Beitrag behandelt wird:
Gitter: Erstellen Sie eine Höhenkarte mit einem Gitter aus zufälligen Punkten. Zufällige Punkte sehen nicht naturalistisch aus, wenden Sie also eine Iteration des Lloyd-Algorithmus auf die Ecken der Voronoi-Polygone an.
Grober Umriss: Anwenden einer Reihe von Grundelementen (konstante Neigung, Kegel, Kleckse) und Operationen (normalisieren, runde Hügel, durchschnittliche lokale Höhe, festgelegter Meeresspiegel) können variiert werden, um verschiedene Arten von Landschaften wie Küsten, Inseln usw. zu erzeugen Bergketten.
Erosion: Wenden Sie einen konstanten Wasserfluss über die gesamte Karte an und verwenden Sie den Planchon-Darboux-Algorithmus, um die Vertiefungen zu füllen. Berechnen Sie den Wasserfluss, um Flüsse zu erhalten.
Gelände rendern: Küstenlinie ist dort, wo die Höhenkarte Null kreuzt. Flüsse basierend auf dem Wasserfluss und einer gewissen Glättung der Punkte. Wenden Sie Schattierung auf die Neigung an.
Städte und Grenzen: Stadt in Flussnähe platzieren und Nähe zu anderen Städten und zum Kartenrand bestrafen. Markieren Sie die Region anhand von Entfernung, Neigung, Wasserfluss und Küstenlinien.
Dies ist eine grobe Zusammenfassung von Martin O'Learys Beitrag. Ich empfehle wirklich, den Beitrag zu lesen, da der Autor detailliert auf die programmatische Geländegenerierung eingeht und der Beitrag selbst interaktive Elemente enthält.
In ähnlicher Weise enthält der Beitrag des Autors zum sprachlichen Aspekt der Generierung der Ortsnamen auch interaktive Elemente.
Das Geländekartenprojekt ist Open Source auf Github hier: https://github.com/mewo2/terrain
Das Benennungsprojekt ist Open Source auf Github hier:
Auf der Website des Erstellers ist ziemlich gut dokumentiert, wie sie es gemacht haben.
Es gibt auch einen wunderbaren Fantasy-Map-Generator unter: https://donjon.bin.sh/fantasy/world/
Außerdem ein wissenschaftlicherer Weltkartengenerator auf derselben Seite - https://donjon.bin.sh/scifi/world/ & auch ein vollständiger Sternensystemgenerator: https://donjon.bin.sh/scifi/system/
Morrison Chang
Mast
Durakken
Durakken
Morrison Chang
Mast