Statt auf die von mir geliebten grafischen Point-&-Click Adventures möchte ich mich jedoch im Folgenden primär auf Text-Adventures konzentrieren, da ich glaube, dass diese von sich aus schon leichter umzusetzen sind und mit Hilfe von KI noch weiter verbessert werden können.
Ich sehe die Anwendung von KI dabei an zwei Stellen. Zum einen im Entwicklungsprozess des Spiels und zum anderen als Teil des Spiels selbst.
1. Die Entwicklung mit Hilfe von KI
Zwei entscheidende Gründe sind dafür verantwortlich, dass es mit einem eigenen Adventure bisher nichts geworden ist.
Da ist zum einen die Grafik, zu deren Erstellung ich nicht befähigt bin. Zum anderen mangelte es jedoch auch an einer Geschichte, welcher der Spieler folgen möchte.
Ersterem Problem kann man entkommen, indem man das Genre vom Grafik-Adventure zum Text-Adventure wechselt. Man mag einwenden, dass es inzwischen auch generative Bild-KIs gibt. Ich bin mir jedoch nicht sicher, ob es damit möglich ist mehrere zueinander konsistente Bilder zu erzeugen, insbesondere, wenn ich zum einen ein Hintergrundbild haben möchte und dann noch mehrere Sprites, die als Gegenstände auf diesem Hintergrund auftauchen und sich in diesen einfügen sollen. Ob die KI hier immer die gleiche Perspektive, den gleichen Schattenwurf, die gleichen Licht- und Größenverhältnisse trifft, da bin ich skeptisch. Und ich glaube nicht, dass es einfach ist, eine KI dazu zu bringen, animierte Sprites zu generieren, also Figuren, die völlig identisch aussehen und nur in einem bestimmten Bewegungsschritt abweichen.
(ChatGPT, dem ich diesen Text zur Korrektur vorgelegt habe, hat mich an dieser Stelle ermahnt, dass meine Aussage "zu pauschal" und "teilweise überholt" sei und mir einige Technologien aufgezählt, die die von mir angesprochenen Probleme entschärfen würden. "Perfekt ist das nicht, aber die grundsätzliche Möglichkeit existiert bereit." Wenn jemand bereits positive Erfahrungen mit den aufgezählten Aufgaben gemacht hat, bitte ich um ein Kommentar.)
Wenden wir uns lieber dem zweiten Problem zu, der Geschichte, denn ich glaube, dass eine LLM uns hier bessere Dienste leisten kann.
Hier kann uns die KI als Lektor, Ideengeber und Ghostwriter helfen. So kann ich mir vorstellen, dass man den groben Rahmen einer Geschichte vorgibt und die KI sich dann um die Details kümmern kann. Z.B. möchte ich, dass zwei Figuren sich unterhalten und dabei am Ende ganz bestimmte Informationen übermittelt werden. Die KI hat nun dafür zu sorgen, den Dialog ansprechend zu formulieren.
Ebenso könnte sie mir Vorschläge für Rätsel liefern oder mich vielleicht auf Logiklöcher in meinen Rätselketten aufmerksam machen.
Und wenn wir dann eine solche Geschichte haben, könnte uns die KI diese literarische Formulierung dann in konkreten Code übersetzen oder, was ich besser finden würde, in eine formale Adventure-Beschreibungssprache.
Und den Interpreter dieser Beschreibungssprache kann sie uns auf jeden Fall dann schreiben.
2. KI als Teil des Spiels
Gerade Text-Adventure würden von LLM profitieren. Bei ursprünglichen Text-Adventures musste ein ausgefeilter Parser implementiert werden, der möglichst alle Formulierungen, die der Spieler vielleicht verwenden könnte, erkennen und behandeln kann. Das ist sehr aufwendig, denn statt "Nimm Dolch", könnte der Spieler auch "Nimm Messer" oder "Hebe Dolch auf" schreiben.
Da dies mit den bisherigen Möglichkeiten kaum zu leisten war, las der Spieler sehr oft: "Das verstehe ich nicht" oder "Das funktioniert so nicht".
Ein LLM jedoch kann solche Nutzereingaben viel toleranter verarbeiten. Sie würde erkennen, dass die verschiedenen oben formulierten Befehle zur Aufnahme des Stichinstruments auf denselben Befehl hinauslaufen; und auch auf komplett unerwartete Eingaben könnte sie, je nach Vorgabe, humorvoll, bissig oder helfend reagieren.
2.1 Mögliche Architekturansätze
Was sollte man meiner Meinung nach bei der Einbindung der KI in ein Text-Adventure als Parser beachten?
Die naive Herangehensweise wäre, die komplette Geschichte, inklusive aller Rätsel und des kompletten Chatverlaufs, also aller bisherigen Kommandos des Spielers und aller darauf erfolgten Antworten der KI, ergänzt um das aktuelle Kommando, in einen Prompt zu packen. Dieser Ansatz würde sehr schnell scheitern, da die Gefahr groß ist, dass das Kontextfenster überläuft und damit Informationen verloren gehen.
Vielversprechender erscheint mir der Ansatz, den aktuellen Spielstand in der Spiele-Engine zu halten und bei jeder Spieleranfrage immer nur einen kleinen Kontext mitzugeben:
- Eine kurze Zusammenfassung des Spiels und dessen grundlegende Regeln,
- den aktuelle Spielstand (Inventar, bereits besuchte Szenen)
- detaillierte Informationen über die aktuelle Szene,
gefolgt von dem aktuellen Kommando des Spielers.
Des weiteren sollte die KI die Möglichkeit haben, die Spiele-Engine nach weiteren Informationen (Details über Objekte oder andere Szenen) zu fragen, damit nur die Daten konsumiert werden, die für die Reaktion des Spiels benötigt werden.
Durch das Speichern des Spielstands in der Spiele-Engine werden typische KI-Inkosistenzen wie verschwundene Gegenstände oder übersprungene Rätsel vermieden.
Schlussendlich würde die KI dann nur die für die Szene definierten Ereignisse an die Spiele-Engine senden, wie "Take('Schlüssel')" oder "Write('Solange Du noch keinen Fallschirm gefunden hast, würde ich dir davon abraten aus dem Fenster zu springen.')".
Auch dadurch kann die Spiele-Engine die Logik des Spiels validieren und konsistent halten.
4. Ausblick
Bevor es an die Umsetzung eines Adventures geht, muss aber eben erst einmal die Geschichte her. Hier habe ich bereits drei sehr grobe Ideen, die ich mal mit der KI diskutieren sollte und vielleicht auch hier einmal vorstellen werde.
Bild: KI-generiert mit ChatGPT

Kommentare
Kommentar veröffentlichen