Das Land ist in Plättchen aufgebaut. World Position X,Y. Ursprungspunkt oben links. Da mit 0,0 auf der Startkarte gestartet wird sind also die Zahlen Oben & Links negativ
Die Welt ist Rund. Das heisst so simuliert. Geht die Welt im Osten über den Rand der Welt, sieht man die Welt von Westen. Ebenso Nord-Süden. Das gibt den Eindruck einer runden Welt. Da die Welt episch riesig ist, fällt der Trick sicher nie auf.
Die Z-Achse, welche bei allen World-Objekten immer dabei ist, bestimmt den normalen Objekten immer die momentane Höhe des Objektes selbst.
Bei den Land-Platten bestimmt die Z-Achse die Höhe über Meer. Diese sind aber viermal bei den vier Ecken definiert, so dass ein Stück Land, eine Platte auch schief da stehen kann. Die Eckkoordinaten sind eigene Objekte (Klasse), damit diese mit den drei anderen Land-Platten herum geteilt werden kann. Also eine Ecke hat immer vier Landplatten.
Dabei gibt es verschiedene Landschaftstypen welche maximale Steigungen definieren (Delta, Flach, Hügel, Gebirge, etc.).
Die Platte simuliert 1m x 1m. Die Höhe ist in 1cm Schritten unterteilt. Dass Wasser fliessen kann, muss eine Platte mindestens 1cm Unterschied von Plattenrand zu Plattenrand haben.
Wasser hat deshalb pro Platte 8 Ausgänge. Ausgänge in der Mitte einer Platte müssen gleiche Y-Höhen haben. Zuzüglich des Wasservolumens.
Die Farbe der Lage des Plättchens unterscheidet sich ja nach Schiefheit. Je nach Sonnenstand und Schieflage unterschiedliche Sprites.
Es gibt Höhenlinien welche als Kurven von Ecke zu Ecke mit den gleichen (Range) Werten führen, ein/aus schaltbar sind.
Aber Sonnenstand und Schieflage sollen schon Hügel etc. sichtbar machen, es werden eigene Sprites dafür verwendet.
Per Seed kann immer die gleiche Zufallsfolge beim Kartengenerator erstellt werden. Das ergibt über 2 Milliarden unterschiedliche Welten. Aber pro Seed immer die gleiche Welt. Das sind also quasi über 2 Milliarden Levels.
Ob dies als Levelgenerator oder als frei verfügbar für GamerInnen ist, steht noch nicht fest.
Johannes Schwärzel
Bernstrasse 109a
3052 Zollikofen
Email: johannes.schwaerzel@gmail.com Handy: +41 (0)76 544 51 57
LinkedIn: Johannes Schwärzel
XING: Johannes Schwärzel