EN

prozeduraler Dungeongenerator

Januar 1017

Cover des Eigenprojekts

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.

Ein Bild des prozeduralen Dungeongenerators im Editor

Die Generation des Levels passiert in mehreren Schritten:

  1. Es wird eine bestimmte Anzahl von Räumen auf einer 2-dimensionaler Ebene verteilt
  2. 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)
  3. Aus dem entstandenen Graphen wird ein minimaler Spannbaum errechnet um die kürzesten Verbindungen zwischen allen Räumen zu bestimmen
  4. 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)
  5. Aus diesen Informationen wird ein Boden-Mesh berechnet
  6. Anhand des Boden-Meshs werden Wände, Fackeln und Dungeonobjekte (z.B. Kisten) verteilt

zurück zur Übersicht