Spielerando

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.

Auch genannt: Dialogbaum, Verzweigter Dialog, Gesprächssystem, Dialoggraph.

Auf einem laternenhellen Nachtmarkt spricht ein Kind im grünen Mantel mit einer flauschigen Motten-Händlerin, und Sprechblasen zeigen die Antworten als Bilder: ein Herz, eine Münze und ein Messer, in der Antwort der Händlerin ein Schlüssel.
Mothlamp Market, ein erfundenes Nachtmarkt-Abenteuer. 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 „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.

nächste ZeileAntworten stehen bereitnichts folgtjede Antwort verborgenAntwort führt zu ZeileAntwort, neue AntwortenAntwort beendet Gesprächjede Antwort verborgenSagt eine ZeileBeendetFestgefahrenWartet auf Antwort
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

WertStarte mitWas es ändert
historyLimit50Wie 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

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.

  1. 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)]
  2. 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)]
  3. 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)]
  4. 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)]
  5. 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)]
  6. 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)]

WAHL DES FRÜHESTEN PUNKTS: Die Antwort hängt von der Definition ab. Gesprächsprogramm jeder Art: ELIZA, 1966, kein Spiel. Gesprächsmodell in einem Spiel: Deadline, 1982. Menüauswahl der Gesprächsart: Murder on the Zinderneuf, 1983. Auswahl wörtlicher Zeilen: Indiana Jones and the Last Crusade, 1989, nach Primärbelegen. Deadline wurde als frühester belegter Punkt gewählt, weil dies eine Bibliothek von Spielmechaniken ist. Einen echten Dialogbaum mit belegter Verzweigungsstruktur zeigt keine hier gelesene Primärquelle: Das Indy-Handbuch belegt die Auswahl von Zeilen, nicht die Struktur dahinter. QUELLENLAGE: Primärtexte wurden gelesen für ELIZA, das Zinderneuf-Handbuch, das Indy-Handbuch, die Facade-Erklärung und die GDC-Sessionseite. Die Zitate zu ELIZA und Indy wurden aus Seitenbildern der PDFs gelesen. Deadline stützt sich auf Jimmy Maher, eine starke Sekundärquelle. Mahers Deadline-Beiträge datieren die Entwicklung auf Ende 1981 und Anfang 1982 und besprechen die Rezeption 1982, aber ein genaues Erscheinungsdatum wurde nicht geöffnet. Das Exemplar des Zinderneuf-Handbuchs hat kein Copyright-Jahr, daher stammt 1983 von Maher. BEHAUPTUNGEN VON 'FIRST', WIEDERGEGEBEN ALS AUSSAGEN DER QUELLEN: Maher sagt, Deadline sei 'the first adventure game in which conversation plays a prominent role'. Wikipedia sagt, das erste Dialogsystem am Computer sei in ELIZA gewesen und der früheste bekannte Dialogbaum werde in Borges' Erzählung 'The Garden of Forking Paths' von 1941 beschrieben. Beide Aussagen stehen dort ohne Beleg, und eine Erzählung ist kein Spiel, daher wird die Borges-Aussage nicht verwendet. Ellison beginnt seine Geschichte mit ELIZA. STREITFRAGE, PORTOPIA: Wikipedia sagt, The Portopia Serial Murder Case (1983) habe ein Gesprächssystem mit verzweigten Dialogoptionen, und zitiert Retro Gamer (2011), Beep (1987) und Official Xbox Magazine (2015), die sich alle nicht lesen ließen. Hardcore Gaming 101 sagt, die Mikrocomputer-Versionen hätten einen Textparser genutzt, der Famicom-Port ein Verbmenü, und beschreibt keine verzweigten Dialoge. Die Wikipedia-Aussage ist also für 1983 nicht bestätigt, und Portopia fehlt in der Zeitleiste. Bestätigt, wäre das für denselben Zeitraum wie Zinderneuf wichtig. LÜCKEN: (1) Alexander Freed schreibt, solche Systeme seien in den 1980ern aufgekommen, und bittet Leser um weitere Beispiele vor 1990; sein frühestes genanntes Spiel ist Space Rogue (1989). Die Belege für das Auswählen von Zeilen vor 1989 bleiben dünn, und es kann frühere Fälle geben. (2) Zork II hatte vor Deadline Gesprächskonstruktionen, die Maher umständlich nennt; sie wurden nicht untersucht. (3) Die Herkunft des Begriffs 'dialogue tree' wurde nicht gefunden. (4) Spätere verzweigte Spiele (Fallout, Planescape: Torment und andere) nennen Freed und Ellison, aber es wurde keine Entwicklerquelle zu ihren Systemen geöffnet. (5) Die Herkunft von Mass Effects Dialograd ließ sich nicht belegen. Ellison ordnet dessen Gespräche als Hub-and-Spokes ein, und das gefundene BioWare-Interview ließ sich nicht öffnen. (6) Das per Suche gefundene wissenschaftliche Paper von der FDG 2009 ließ sich nicht öffnen, daher stützt sich die akademische Seite auf die Erklärung der Facade-Autoren. VERWANDTE PUNKTE AUSSERHALB DER ZEITLEISTE: Ultima IV (1985, laut Maher) nutzte einen schlüsselwortbasierten Pseudo-Parser. Starflight (1986, laut Maher) nutzte aus Zinderneuf übernommene Gesprächshaltungen. Ellison (2008) ist eine nützliche Taxonomie aus der Fachpresse: nicht verzweigte, verzweigte, Hub-and-Spokes-, parsergesteuerte und systemische Dialoge. Emily Short (2016) argumentiert, dass naives Verzweigen reihenfolgeunabhängige Informationen schlecht handhabt.

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