Unity hat am 7. Juni 2018 eine offizielle Anleitung zu prozedural erzeugten Höhlen mit Tilemap veröffentlicht. Der zweite Teil der Reihe beschreibt mehrere Algorithmen, mit denen sich die Grundrisse von 2D-Leveln automatisch erzeugen lassen.
Die Beispiele verwenden C# und speichern die Karten zunächst als zweidimensionales Integer-Array. Tilemap übernimmt anschließend die Darstellung der Zellen. Der erste Teil der Unity-Reihe hatte zuvor Perlin-Rauschen und Random Walk für Oberflächen behandelt.
Perlin-Rauschen erzeugt Höhlenmuster
Für eine Höhle setzt Unity Perlin-Rauschen auf die Position jeder Zelle an. Ein Modifikator zwischen 0 und 1 beeinflusst die Struktur, danach wird der berechnete Wert auf 0 oder 1 gerundet. Mit einer Randprüfung können die äußeren Zellen als Wände erhalten bleiben. Kleinere Modifikatorwerte erzeugen gröbere, größere Werte unruhigere Muster.
Random Walk und gerichtete Tunnel
Beim Random Walk bewegt sich ein Startpunkt zufällig in vier Richtungen durch die Karte und entfernt Zellen, bis ein vorgegebener Anteil der Fläche als Boden markiert ist. Zusätzlich beschreibt Unity einen gerichteten Tunnel, dessen Breite, Krümmung und wechselnde Länge über Parameter gesteuert werden. Die Kombination liefert unterschiedliche Höhlenformen, ohne jede Kachel von Hand zu platzieren.
Das vollständige Beispielprojekt und der Quellcode sind über die Originalanleitung von Unity verknüpft. Die Methoden sind als Ausgangspunkt gedacht und können im Projekt mit weiteren Durchläufen zur Verbindung einzelner Bereiche ergänzt werden.

