Spielerando

Prozedurale Dungeons

Ein prozeduraler Dungeon entsteht aus einem Startwert, sodass derselbe Startwert immer denselben Dungeon ergibt. Räume werden ohne Berührung gesetzt, von links nach rechts verbunden, damit alles erreichbar ist, und dann geprüft. Ein durchgefallener Dungeon wird aus derselben Zufallsfolge neu gebaut, und nach genug Fehlversuchen kommt ein schlichter, sicherer zum Einsatz.

Auch genannt: Zufallsverliese, Erzeugte Level, Karten aus einem Startwert.

Ein winziger Käferforscher mit bernsteinfarbener Laterne sieht zu, wie behauene Steinblöcke und Bögen durch die Luft schweben und eine neue Kammer bilden, in einem Kratzbild im Schnitt durch ein Labyrinth, an dessen fernem Ende ein türkis leuchtender Ausgang schimmert.
Gravelbrook Warrens, ein erfundenes Dungeon-Spiel im Kratzbild-Look. Erfundenes Spiel, Bild mit KI erzeugt.

Das sagst du deiner KI

Kopiere es in Claude, Cursor oder ChatGPT. Gute Werte und die typischen Fehler stehen schon drin.

Baue „Prozedurale Dungeons“ in mein Spiel ein.

Das soll es bewirken: Ein neuer Dungeon pro Durchgang hält ein Spiel frisch, ohne dass für jede Etage ein Leveldesigner nötig ist. Ein Startwert macht ihn wiederholbar, sodass Spieler einen Durchgang teilen und du einen Fehler nachspielen kannst, und eine Prüfung stellt sicher, dass kein Dungeon unmöglich zu schaffen ist.

Baue es genau nach diesem Automaten. Prüfe zuerst, ob er zu meinem Spiel passt, und bau ihn dann so:

```mermaid
stateDiagram-v2
  [*] --> placing
  placing: Räume setzen
  linking: Räume verbinden
  checking: Prüfen
  ready: Fertig
  placing --> linking: genug Räume
  linking --> checking: alles verbunden
  checking --> placing: durchgefallen, neu
  checking --> ready: guter Dungeon
  ready --> [*]
```

Nimm diese Startwerte:
- width: 40 cells
- height: 24 cells
- roomCount: 8 rooms
- maxRoomSize: 8 cells
- minExitDistance: 25 cells
- maxAttempts: 20 tries

Achte auf diese typischen Fehler:
- Die Uhr als Zufallsquelle: Sag deiner KI: Halte die Zufallsfolge im eigenen Zustand des Dungeons und starte sie aus dem Startwert, nie aus der Uhr.
- Mit demselben Startwert neu anfangen: Sag deiner KI: Fällt ein Versuch durch, mach mit den nächsten Zahlen derselben Folge weiter, nicht mit dem Startwert.
- Ein Dungeon, der nicht zu schaffen ist: Sag deiner KI: Verbinde die Räume zuerst in einer Linie, prüfe dann, dass jede Bodenzelle erreichbar und der Ausgang weit genug weg ist.
- Eine Arbeit, die nie endet: Sag deiner KI: Zähle die Versuche und nimm nach dem letzten einen schlichten Dungeon, der immer klappt.
- Räume, die für die Karte zu groß sind: Sag deiner KI: Kürze die größte Raumgröße auf das, was innerhalb der Wände passt, bevor du auswählst.
- Zu viele Räume gewünscht: Sag deiner KI: Höre nach einer festen Zahl Versuche pro Raum auf zu setzen und werte einen Dungeon als zu klein, wenn er unter etwa drei Fünftel des Wunsches liegt.
- Merkwürdige Startwerte: Sag deiner KI: Mach den Startwert zuerst zu einer ganzen Zahl und nimm null für alles, was keine Zahl ist.

Ändere nichts anderes im Spiel. Behaupte nichts, ohne es zu belegen: Modelliere, was dafür nötig ist, und zeig mir, worauf deine Lösung beruht und woran ich sehe, dass sie klappt. Wenn du etwas nicht zeigen kannst, sag, dass du es nicht weißt. Sag mir danach in einfachen Worten, wie ich es ausprobiere.

Oder spar dir das und schließ den MCP an: Dann findet deine KI das alles von selbst.MCP anschließen

Was es bewirkt

Ein neuer Dungeon pro Durchgang hält ein Spiel frisch, ohne dass für jede Etage ein Leveldesigner nötig ist. Ein Startwert macht ihn wiederholbar, sodass Spieler einen Durchgang teilen und du einen Fehler nachspielen kannst, und eine Prüfung stellt sicher, dass kein Dungeon unmöglich zu schaffen ist.

So läuft es ab, als Diagramm

Alles, was es sein kann, und was es weiterbewegt. Genau danach baut deine KI.

genug Räumealles verbundendurchgefallen, neuguter DungeonRäume setzenRäume verbindenPrüfenFertig
So läuft es ab, als Diagramm
  • Räume setzen → Räume verbinden: genug Räume
  • Räume verbinden → Prüfen: alles verbunden
  • Prüfen → Räume setzen: durchgefallen, neu
  • Prüfen → Fertig: guter Dungeon

Gute Startwerte

WertStarte mitWas es ändert
width40 cellsWie breit der Dungeon ist. Vierzig Felder lassen Platz für etwa acht Räume mit Raum zum Laufen dazwischen.
height24 cellsWie hoch der Dungeon ist. Breiter als hoch passt besser auf einen Bildschirm.
roomCount8 roomsWie viele Räume angestrebt werden. Der Dungeon kann weniger bekommen, wenn sie nicht passen, aber nie weniger als etwa drei Fünftel davon.
maxRoomSize8 cellsDie längste Seite eines Raums. Räume sind nie kleiner als 3 Felder. Größere Räume ergeben weniger, geräumigere Dungeons.
minExitDistance25 cellsWie weit der Ausgang entlang der Wege vom Start entfernt sein muss. Ein Dungeon, in dem der Ausgang gleich nebenan liegt, ist langweilig.
maxAttempts20 triesWie viele Dungeons versucht werden, bevor der schlichte genommen wird. Zwanzig reicht auf einer normalen Karte reichlich und ist trotzdem schnell fertig.

Was meistens schiefgeht

Die Uhr als Zufallsquelle

Wird der Dungeon aus der Uhr oder einem globalen Zufallsgenerator gebaut, ergibt derselbe Startwert jedes Mal einen anderen Dungeon, und Fehler lassen sich nicht nachspielen.

Lösung: Sag deiner KI: Halte die Zufallsfolge im eigenen Zustand des Dungeons und starte sie aus dem Startwert, nie aus der Uhr.

Mit demselben Startwert neu anfangen

Ein durchgefallener Dungeon, der mit demselben Startwert wiederholt wird, fällt für immer genauso durch.

Lösung: Sag deiner KI: Fällt ein Versuch durch, mach mit den nächsten Zahlen derselben Folge weiter, nicht mit dem Startwert.

Ein Dungeon, der nicht zu schaffen ist

Zufällig verbundene Räume können einen Teil abschneiden, und ein zufällig gesetzter Ausgang kann direkt neben dem Start liegen.

Lösung: Sag deiner KI: Verbinde die Räume zuerst in einer Linie, prüfe dann, dass jede Bodenzelle erreichbar und der Ausgang weit genug weg ist.

Eine Arbeit, die nie endet

Lassen sich die Vorgaben auf einer kleinen Karte nicht erfüllen, endet das ständige Neuversuchen nie, und das Spiel hängt auf dem Ladebildschirm.

Lösung: Sag deiner KI: Zähle die Versuche und nimm nach dem letzten einen schlichten Dungeon, der immer klappt.

Räume, die für die Karte zu groß sind

Ein Raum, der größer ist, als die Karte erlaubt, findet keinen Platz, und die zufällige Wahl einer Position geht kaputt.

Lösung: Sag deiner KI: Kürze die größte Raumgröße auf das, was innerhalb der Wände passt, bevor du auswählst.

Zu viele Räume gewünscht

Eine kleine Karte mit großem Raumwunsch erreicht ihn nie, und ein Dungeon mit zwei Räumen ist kaum ein Dungeon.

Lösung: Sag deiner KI: Höre nach einer festen Zahl Versuche pro Raum auf zu setzen und werte einen Dungeon als zu klein, wenn er unter etwa drei Fünftel des Wunsches liegt.

Merkwürdige Startwerte

Ein Startwert von null, eine negative Zahl oder ein kaputter Wert kann die Zufallsfolge jedes Mal zur selben Zahl machen.

Lösung: Sag deiner KI: Mach den Startwert zuerst zu einer ganzen Zahl und nimm null für alles, was keine Zahl ist.

So prüfst du, ob es klappt

Passt gut zu

Häufige Fragen

wie baue ich zufällige dungeons, die immer zu schaffen sind

Setze Räume zufällig, verbinde sie in einer Linie von links nach rechts und prüfe das Ergebnis: jede Bodenzelle erreichbar und der Ausgang weit vom Start. Fällt die Prüfung durch, versuche es mit den nächsten Zufallszahlen noch einmal. Nach einer festen Zahl Versuche nimm einen schlichten Dungeon, der immer klappt.

was ist ein startwert und warum braucht ein dungeon einen

Ein Startwert ist die Anfangszahl der Zufallsfolge. Derselbe Startwert ergibt immer denselben Dungeon, also können Spieler einen Durchgang teilen und du kannst einen Fehler nachspielen. Nimm im Dungeonbau nie die Uhr.

warum sperrt mein zufälliger dungeon den spieler manchmal ein

Zufällig verbundene Räume können einen Teil abschneiden. Verbinde zuerst jeden Raum mit dem nächsten in einer Linie, füge danach Schleifen hinzu und teste, dass jede Bodenzelle vom Start aus erreichbar ist.

was sage ich meiner ki, damit sie prozedurale dungeons einbaut

Füge dies ein: Baue prozedurale Dungeons aus einem Startwert ein. Die Zufallsfolge liegt im Zustand, nie in der Uhr. Setze bis zu 8 Räume von 3 bis 8 Feldern, die sich nicht berühren, verbinde sie von links nach rechts plus eine Schleife und prüfe dann, dass jede Bodenzelle erreichbar ist und der Ausgang mindestens 25 Felder vom Start entfernt liegt. Fällt er durch, mach mit derselben Folge weiter. Nach 20 Versuchen nimm eine schlichte Reihe von Räumen.

Woher es kommt

Für diese Idee konnten wir noch keine verlässliche Herkunft finden.

Woher diese Mechanik kommt, ist noch nicht recherchiert.

Spiele nennen wir nur als Verweis. Namen und Marken gehören ihren Inhabern, und nichts hier ist von ihnen unterstützt.

Was geprüft wurde

Das unterscheidet den Blueprint von einem Katalogeintrag: Die Werte auf dieser Seite kommen aus Code, der läuft.

Deine KI bekommt den Code

Fertiger Beispielcode kommt über die Spielerando-Verbindung, damit deine KI ihn sofort nutzen kann. So verbindest du es