Dialogsystem
Ein Dialogsystem ist ein Netz aus Zeilen. Jede Zeile führt zur nächsten oder bietet dem Spieler Antworten, und eine Antwort kann davon abhängen, was sich das Spiel gemerkt hat, das ändern oder nur einmal erscheinen. Das große Risiko ist ein Soft Lock, eine Sackgasse, in der jede Antwort verborgen ist. Prüfe das vor dem Release.

Das sagst du deiner KI
Kopiere es in Claude, Cursor oder ChatGPT. Gute Werte und die typischen Fehler stehen schon drin.
Baue „Dialogsystem“ in mein Spiel ein.
Das soll es bewirken: Dialoge lassen den Spieler mit der Welt sprechen, und was er sagt und tut, ändert, was als Nächstes kommt.
Baue es genau nach diesem Automaten. Prüfe zuerst, ob er zu meinem Spiel passt, und bau ihn dann so:
```mermaid
stateDiagram-v2
[*] --> line
line: Sagt eine Zeile
ended: Beendet
stuck: Festgefahren
choices: Wartet auf Antwort
line --> line: nächste Zeile
line --> choices: Antworten stehen bereit
line --> ended: nichts folgt
line --> stuck: jede Antwort verborgen
choices --> line: Antwort führt zu Zeile
choices --> choices: Antwort, neue Antworten
choices --> ended: Antwort beendet Gespräch
choices --> stuck: jede Antwort verborgen
ended --> [*]
stuck --> [*]
```
Nimm diese Startwerte:
- historyLimit: 50
Achte auf diese typischen Fehler:
- Jede Antwort ist verborgen: Sag deiner KI, sie soll jeder Stelle mit Antworten eine Antwort ohne Bedingungen geben und das beim Laden des Gesprächs prüfen.
- Eine einmalige Antwort ist der einzige Ausweg: Sag deiner KI, dass eine einmalige Antwort nicht als Ausweg zählt, und lass sie das beim Laden des Gesprächs prüfen.
- Eine Zeile, die niemand erreicht: Sag deiner KI, sie soll das Gespräch beim Laden vom Start aus durchgehen und melden, was sie nicht erreicht hat.
- Eine Verknüpfung zu einer Zeile, die es nicht mehr gibt: Sag deiner KI, sie soll beim Laden des Gesprächs jede Verknüpfung prüfen. Wird doch einmal eine kaputte Verknüpfung benutzt, soll das Spiel mit einer klaren Meldung anhalten, die die fehlende Zeile nennt, egal ob der Spieler eine Antwort gewählt hat oder nur weitergeht.
- Ein Gespräch ohne Ende: Sag deiner KI, sie soll beim Laden des Gesprächs prüfen, dass von jeder Zeile aus Verknüpfungen und Antworten ohne Bedingungen zu einem Ende führen.
Ä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
Dialoge lassen den Spieler mit der Welt sprechen, und was er sagt und tut, ändert, was als Nächstes kommt.
So läuft es ab, als Diagramm
Alles, was es sein kann, und was es weiterbewegt. Genau danach baut deine KI.
So läuft es ab, als Diagramm
- Sagt eine Zeile → Sagt eine Zeile: nächste Zeile
- Sagt eine Zeile → Wartet auf Antwort: Antworten stehen bereit
- Sagt eine Zeile → Beendet: nichts folgt
- Sagt eine Zeile → Festgefahren: jede Antwort verborgen
- Wartet auf Antwort → Sagt eine Zeile: Antwort führt zu Zeile
- Wartet auf Antwort → Wartet auf Antwort: Antwort, neue Antworten
- Wartet auf Antwort → Beendet: Antwort beendet Gespräch
- Wartet auf Antwort → Festgefahren: jede Antwort verborgen
Gute Startwerte
| Wert | Starte mit | Was es ändert |
|---|---|---|
| historyLimit | 50 | Wie viele vergangene Zeilen das Spiel behält. Mehr lässt Spieler weiter zurückblicken. |
Was meistens schiefgeht
Jede Antwort ist verborgen
Haben an einer Stelle alle Antworten Bedingungen, kann der Spieler ohne Auswahl und ohne Ausweg dastehen. Das ist ein Soft Lock. Er hängt davon ab, was sich das Spiel gemerkt hat, und fällt deshalb beim Testen leicht nicht auf.
Lösung: Sag deiner KI, sie soll jeder Stelle mit Antworten eine Antwort ohne Bedingungen geben und das beim Laden des Gesprächs prüfen.
Eine einmalige Antwort ist der einzige Ausweg
Eine einmal angebotene Antwort, die zurückführt, lässt die Stelle beim zweiten Besuch leer.
Lösung: Sag deiner KI, dass eine einmalige Antwort nicht als Ausweg zählt, und lass sie das beim Laden des Gesprächs prüfen.
Eine Zeile, die niemand erreicht
Autoren schreiben eine Zeile und vergessen die Verknüpfung, und sie erscheint nie.
Lösung: Sag deiner KI, sie soll das Gespräch beim Laden vom Start aus durchgehen und melden, was sie nicht erreicht hat.
Eine Verknüpfung zu einer Zeile, die es nicht mehr gibt
Nach einer Änderung führt eine Antwort zu einer Zeile, die nicht mehr existiert, und das Spiel scheitert genau dann, wenn der Spieler sie wählt.
Lösung: Sag deiner KI, sie soll beim Laden des Gesprächs jede Verknüpfung prüfen. Wird doch einmal eine kaputte Verknüpfung benutzt, soll das Spiel mit einer klaren Meldung anhalten, die die fehlende Zeile nennt, egal ob der Spieler eine Antwort gewählt hat oder nur weitergeht.
Ein Gespräch ohne Ende
Jede Antwort führt weiter, aber alle führen zurück. Der Spieler hat immer etwas zu wählen und kommt trotzdem nie heraus. Nichts sieht kaputt aus, deshalb übersieht man das leicht.
Lösung: Sag deiner KI, sie soll beim Laden des Gesprächs prüfen, dass von jeder Zeile aus Verknüpfungen und Antworten ohne Bedingungen zu einem Ende führen.
So prüfst du, ob es klappt
- Ein Gespräch. du startest es: es steht bei der Eröffnungszeile, und diese Zeile ist in der Liste vergangener Zeilen.
- Eine Antwort, die etwas Gemerktes braucht. du kommst erst ohne, dann mit dieser Sache dorthin: die Antwort ist erst verborgen, dann wird sie angeboten.
- Eine Antwort, die durch etwas Gemerktes ausgeschlossen wird. das Spiel hat sich diese Sache gemerkt: die Antwort ist verborgen.
- Eine verborgene Antwort und eine, die es nicht gibt. du bittest deine KI, dir zu zeigen, was passiert, wenn eine davon gewählt wird: nichts ändert sich.
- Eine Antwort, durch die sich das Spiel etwas merkt. du wählst sie: das Spiel hat es sich gemerkt und das Gespräch geht dorthin, wohin die Antwort führt.
- Eine einmalige Antwort, die du schon gewählt hast. du kommst an diese Stelle zurück: sie wird nicht mehr angeboten.
- Eine Stelle mit Antworten. du versuchst weiterzugehen, ohne eine zu wählen: nichts ändert sich.
- Ein beendetes Gespräch. du versuchst irgendeine Aktion: nichts ändert sich.
- Ein Limit von 2 und eine Folge von 3 Zeilen. das Gespräch läuft: die letzten 2 Zeilen bleiben erhalten.
- Fehlerhafte Gespräche: ein Soft Lock, eine kaputte Verknüpfung, eine Zeile ohne Zugang und ein fehlender Start. du bittest deine KI, dir zu zeigen, was die Gesprächsprüfung sagt: jeder Fehler wird gemeldet, und ein fehlerfreies Gespräch meldet keinen.
- Ein Gespräch, in dem jede Antwort zurückführt. Es wird geladen: Die Prüfung meldet, dass es nie enden kann.
- Ein ungeprüftes Gespräch mit einer Verknüpfung zu einer Zeile, die es nicht mehr gibt. Der Spieler folgt ihr, indem er weitergeht oder eine Antwort wählt: Das Spiel hält in beiden Fällen mit derselben klaren Meldung an.
Häufige Fragen
wie programmiert man ein dialogsystem
Speichere Dialoge als Daten: Jede Zeile hat ihren Text und entweder die nächste Zeile oder eine Liste von Antworten. Ein kleiner Teil des Spiels merkt sich, wo das Gespräch steht und was passiert ist, und bietet nur Antworten an, deren Bedingungen erfüllt sind.
was sage ich meiner ki damit sie ein dialogsystem einbaut
Füge das ein: Bau ein Dialogsystem ein, das als Daten gespeichert ist, in dem Antworten davon abhängen können, was sich das Spiel gemerkt hat, und prüfe beim Laden, dass jede Verknüpfung existiert, jede Zeile erreichbar ist, jede Antwortliste eine Antwort ohne Bedingungen hat und von jeder Zeile ein Weg zum Ende führt.
was ist ein soft lock im dialog
Eine Stelle, an der jede Antwort verborgen ist, sodass der Spieler weder weiter noch hinaus kommt. Gib jeder Stelle mit Antworten eine ohne Bedingungen und prüfe das beim Laden des Gesprächs.
wie merke ich mir was der spieler gesagt hat
Speichere eine kurze benannte Notiz, wenn eine Antwort gewählt wird, und lass spätere Antworten sie voraussetzen oder ausschließen. Halte die Namen einfach, damit Autoren sie lesen können.
Woher es kommt
Frühestes Beispiel, das wir finden konnten: Deadline (Marc Blank, Infocom) (1982). Ein Text-Krimi, in dem der Spieler Verdächtige befragen muss. Er tippt den Namen einer Figur, gefolgt von einer Frage oder Aufforderung, oder nutzt ASK und TELL zu einem Thema. Jimmy Maher beschreibt Gespräche in früheren Spielen als Passwörter oder einen schlichten TALK-TO-Befehl. Das ist das älteste hier gefundene Spiel mit einem beschriebenen Gesprächsmodell; ELIZA (1966) ist älter, aber kein Spiel.
- 1966 ELIZA (Joseph Weizenbaum), paper in Communications of the ACM 9(1): Vorläufer, kein Spiel. Ein Programm, das Schlüsselwörter in getippten Eingaben erkennt und aus daran geknüpften Regeln eine Antwort baut. Es steht hier als Vorläufer, weil Geschichten des Game Writings, auch die von Brent Ellison, damit beginnen. [ELIZA: A Computer Program For the Study of Natural Language Communication Between Man And Machine (Joseph Weizenbaum, CACM, January 1966)][Defining Dialogue Systems (Brent Ellison, Gamasutra/Game Developer, 2008)]
- 1982 Deadline (Marc Blank, Infocom): Ein Text-Krimi, in dem der Spieler Verdächtige befragen muss. Er tippt den Namen einer Figur, gefolgt von einer Frage oder Aufforderung, oder nutzt ASK und TELL zu einem Thema. Jimmy Maher beschreibt Gespräche in früheren Spielen als Passwörter oder einen schlichten TALK-TO-Befehl. Das ist das älteste hier gefundene Spiel mit einem beschriebenen Gesprächsmodell; ELIZA (1966) ist älter, aber kein Spiel. [Playing Deadline, Part 1 (Jimmy Maher, The Digital Antiquarian, 2012)][Playing Deadline, Part 4 (Jimmy Maher, The Digital Antiquarian, 2012)][Deadline (Jimmy Maher, The Digital Antiquarian, 2012)]
- 1983 Murder on the Zinderneuf (Jon Freeman and Paul Reiche III, Free Fall Associates; published by Electronic Arts): Laut Handbuch wählt der Spieler aus einer je nach Detektiv unterschiedlichen Liste, wie er sich einem Verdächtigen nähert, und dann, nach wem er fragt. Verdächtige reagieren unterschiedlich auf Rolle und Vorgehen. Der Spieler wählt eine Art und ein Thema, keine Textzeilen. Das ist das älteste hier gefundene menübasierte Gespräch. Reiche nutzte die Idee später für Starflight erneut. [Atari Game Manual: Murder On The Zinderneuf, full text (Internet Archive)][Free Fall, Part 2: Murder on the Zinderneuf (Jimmy Maher, The Digital Antiquarian, 2013)][Starflight (Jimmy Maher, The Digital Antiquarian, 2014)]
- 1989 Indiana Jones and the Last Crusade: The Graphic Adventure (Noah Falstein, Ron Gilbert, David Fox; Lucasfilm Games): Das Handbuch sagt dem Spieler, er solle aus Sätzen am unteren Bildschirmrand wählen, was Indy sagt, und warnt, dass eine schlechte Wahl Ärger bringen kann. Das ist das früheste hier gefundene Spiel, bei dem eine Primärquelle das Auswählen wörtlicher Zeilen belegt. Alexander Freed nennt außerdem Space Rogue (1989) als Beispiel für einen Gesprächsbaum, ohne es zu beschreiben. [Indiana Jones and the Last Crusade: The Graphic Adventure, manual (Lucasfilm Games, 1989; scan at mocagh.org)][Branching Conversation Systems and the Working Writer, Part 1: Introduction (Alexander Freed, Game Developer, 2014)]
- 2005 Facade (Michael Mateas and Andrew Stern): Ein Forschungsprojekt und interaktives Drama, in dem der Spieler jederzeit freien Dialog tippt. Seine Autoren nennen als Ziel, über verzweigtes Erzählen hinauszugehen. Es steht für eine Arbeitsrichtung, die Gespräche als KI-Problem behandelt statt als geschriebenen Baum. [Facade, authors' submission statement (Electronic Literature Collection, volume 2)][Defining Dialogue Systems (Brent Ellison, Gamasutra/Game Developer, 2008)]
- 2012 AI-driven Dynamic Dialog through Fuzzy Pattern Matching (Elan Ruskin, Valve, GDC 2012): Ein Entwicklervortrag darüber, Fakten über die Welt mit einer Datenbank von Zeilen abzugleichen, sodass Figuren ohne handgeschriebenes Skript für jeden Fall entscheiden, was sie sagen. Genutzt in Left 4 Dead und anderen Valve-Spielen. Hier wählt der Spieler gar keine Zeilen, es zeigt also Dialogauswahl als Regelsystem. [AI-driven Dynamic Dialog through Fuzzy Pattern Matching. Empower Your Writers! (GDC Vault)][GDC 2012 Talk on Dynamic Dialogue (Emily Short, 2012)]
Was geprüft wurde
- 17 Tests bestehen auf dem Referenzcode.
- Das Zustandsdiagramm wurde gegen den Code geprüft, mit den Standardwerten und mit jedem niedrigsten und höchsten Wert der Liste.
Deine KI bekommt den Code
Fertiger Beispielcode kommt über die Spielerando-Verbindung, damit deine KI ihn sofort nutzen kann. So verbindest du es