Im Verlauf meines Studiums musste jeder Student ein sogenanntes Eigenprojekt machen, in einem Feld seiner Wahl. Ziel meines Projektes
war es ein Spiel aus dem DungeonCrawler-Genre in Unity 5 zu erstellen. Der Fokus lag hierbei auf der Prozeduralen Generierung eines
Dungeons im 3-dimensionalem Raum.
Die Generation des Levels passiert in mehreren Schritten:
- Es wird eine bestimmte Anzahl von Räumen auf einer 2-dimensionaler Ebene verteilt
- Die Positionen der Räume werden mittels des Delaunay'schen Triangulationsverfahren verbunden, um sämtliche Nachbarn eines Raums
festzustellen und mögliche Verbindungen vorzumerken (gelbe Linien)
- Aus dem entstandenen Graphen wird ein minimaler Spannbaum errechnet um die kürzesten Verbindungen zwischen allen Räumen zu bestimmen
- Räume werden nach dem Spannbaum mit Wegen verbunden, danach werden noch zusätzlich einige Räume zufällig verbunden, um Schleifen zu erlauben (rote Linien)
- Aus diesen Informationen wird ein Boden-Mesh berechnet
- Anhand des Boden-Meshs werden Wände, Fackeln und Dungeonobjekte (z.B. Kisten) verteilt