Level Generierung #19
Replies: 2 comments 8 replies
-
Es ist in verschiedenen Diskussionen immer wieder die Idee von Teleporter-Türen aufgekommen (bspw. hier). Das ist auch relevant für die Levelgenerierung. |
Beta Was this translation helpful? Give feedback.
-
Single-Room Graphen AnsatzUm diese Diskussion mal in eine konkretes Gerüst zu Giesen. KonzeptFür viele unsere Ideen brauchen wir ein Graphenbasierte Levelstruktur (vgl. #6 (comment) und #6 (comment)) Wie in/unter #19 (reply in thread) besprochen, ist eine *Single-Room Lösung (brauchen wir ein Glosar?) zwar nicht die immersivste Lösung aber die einfachste in der Implementierung und zusätzlich erlaubt uns das einiges an Freiheiten. Daher wäre die Idee einen Graphen zu generieren (entweder zufällig, oder per DSL Eingabe). Jeder Knoten ist ein Raum der generiert wird und jede Kante eine Tür zu einen nächsten Raum. Graphen GenerierungDie Level-Graphen würde ich mit einer DOT-Ähnlichen Sprache beschreiben. Per DSL kann dann der genaue Graph übergeben werden, alternativ (quasi wenn die Struktur des Levels keine Rolle spielt) generieren wir eine Beschreibung. Egal ob die Beschreibung per DSL oder Generator erzeugt wurde, aus dieser machen wir dann einen. Graphen. Anforderungen:
Template/Raum GenerierungFür die Räume könnten wir Templates verwenden. Jedes Template gibt dabei die Größe und Form des Raums vor. Im Template selber könnte Platz für Mutation sein. In meiner Masterarbeit habe ich das so gemacht. Im Template gab es Wildcard-Flächen. Diese konnten dann durch Wildcard-Templates ersetzt werden. So hat man etwas mehr Abwechslung ohne sich die Mühe zu machen und viele Assets erstellt. Anforderungen
Anbindung an das DungeonHier gibt es einige Fallstricke denen ich mich langsam versuche zu stellen. Probleme vor denen ich noch stehe
PathfindingDas libGDX Pathfinding, welches wir verwenden, geht immer von Tile zu Tile. Es sollte nichts dagegen sprechen, das Tür-Tile aus Raum A mit dem Tür-Tile aus Raum B zu verbinden. Das Pathfinding sollte weiter funktionieren. tbd: Skizze Perspektive#19 (reply in thread) |
Beta Was this translation helpful? Give feedback.
-
Wir haben schon ein paar mal besprochen, dass es für unsere Rätsel gut wäre, wenn wir Level aus Graphen generieren könnten.
In meiner Master-Arbeit habe ich das ganze schonmal umgesetzt.
Prinzipiell funktioniert das ganze auch, ist aber sehr sehr langsam. Liegt vor allem am Backtracking.
Die Generierung der Level aus einem Baum hingegen sollte relativ flott gehen. Dafür muss der Algorithmus natürlich aufgeräumt werden.
Außerdem muss das Ganze an das neue Dungeon angepasst werden.
Ich muss mir noch genau anschauen, WAS alles verändert/neu gemacht werden muss.
Gibt es ggf. alternativen die schneller Einsatzbereit sind?
Haben wir noch weitere Anforderungen an unseren Generator?
Beta Was this translation helpful? Give feedback.
All reactions