Unity hat am 29. Mai 2018 einen Leitfaden zu prozeduralen Mustern mit Tilemap veröffentlicht. Der Beitrag zeigt, wie sich mit Tilemap und RuleTile abwechslungsreiche 2D-Level erzeugen lassen, deren Aufbau sich etwa durch einen Seed, die Zeit oder den Spielfortschritt verändert.
Tilemap gehört seit Unity 2017.2 zu den 2D-Werkzeugen der Engine. Im Unterschied zu einem von Hand aufgebauten Level kann ein Generator die Zellen bei jedem Durchlauf neu setzen. Die Regeln für die angrenzenden Felder bleiben dabei im Projekt erhalten, während die konkrete Anordnung erst zur Laufzeit oder beim Erstellen der Karte entsteht. Einen älteren Unity-Workflow mit Spritesheet, Tile Palette und mehreren Ebenen hatte Unity zuvor als festen Produktionsablauf beschrieben.
Perlin-Rauschen und Random Walk
Für die Form einer Leveloberfläche beschreibt Unity zunächst Perlin-Rauschen. Die Funktion ermittelt aus der aktuellen Position und einem Seed eine Höhe, die anschließend mit Mathf.FloorToInt() auf ganze Zellen abgebildet wird. So entsteht ein zusammenhängendes Höhenprofil, ohne dass jede Kachelposition einzeln vorgegeben werden muss.
Eine zweite Variante verwendet Random Walk. Die Höhe bewegt sich dabei schrittweise nach oben oder unten. Bei der geglätteten Fassung hält ein zusätzlicher Wert die aktuelle Höhe für eine Mindestbreite, bevor der nächste Wechsel erfolgt. Dadurch entstehen längere flache Abschnitte. Die Kombination mehrerer Verfahren mit Tilemap und RuleTile bildet die Grundlage für automatisch erzeugte Karten, die bei wiederholten Durchläufen unterschiedlich ausfallen können.

