- Ein Projekt, das die repetitiven Dialoge des Klassikers Animal Crossing (GameCube, 2001) in Echtzeit durch Cloud-basierten LLM-Dialog ersetzt
- Ohne den Spielcode zu verändern, werden über Memory-Hacking und ein Shared-Memory-(Mailbox-)Verfahren externe Python-Skripte und KI angebunden
- Der Spieltext wird nicht als einfache Zeichenkette, sondern als Sprache aus speziellen Steuercodes verarbeitet; das wurde mit einem separaten Encoder/Decoder gelöst
- Die Dialogerzeugung ist in Writer (kreatives Schreiben der Dialoge) und Director (Hinzufügen von Steuercodes/Ausdruck) getrennt, um die Qualität zu sichern
- Das Ergebnis sind unvorhersehbare KI-Dialoge, in denen die Dorfbewohner sogar Nachrichten, Gerüchte und Satire aufgreifen und dem Klassiker neues Leben einhauchen
- Der Projektcode ist auf GitHub veröffentlicht
Problemstellung
- Animal Crossing ist charmant, aber auch für seine repetitiven Dialoge bekannt; auch nach 23 Jahren haben sich die Texte nicht verändert, daher entstand die Idee, das grundlegend zu erneuern
- Das Problem: Der GameCube ist eine geschlossene Umgebung mit 485MHz CPU, 24MB RAM und ohne Netzwerkunterstützung
- Das Originalspiel musste unverändert bleiben, also ohne Änderungen am Code
- Ziel war der Bau einer Brücke, um die repetitiven Dialoge durch moderne LLMs zu ersetzen
Erster Schritt: Das Dialogsystem hacken
- Dank des Animal-Crossing-Decompilings der Community war Zugriff auf den C-Code möglich
- Durch Hooking eines Funktionsaufrufs in der Datei
m_message.c gelang der Austausch des Dialogtexts
- Offen blieb jedoch die Frage, wie sich externe KI-Daten in Echtzeit hin- und herschicken lassen
Mailbox-Verfahren im Speicher
- Ein bestimmter Bereich des GameCube-RAMs wird als IPC-Mailbox genutzt
- Ein Python-Skript schreibt/liest direkt an Speicheradressen → Kommunikation zwischen Spiel und KI
- Mit einem Memory-Scanner wurden die Adressen für Sprechername (0x8129A3EA) und Dialogpuffer (0x81298360) ermittelt
Sprache mit Steuercodes
- Beim Senden einfacher Zeichenketten fror das Spiel ein
- Der Grund: Animal Crossing nutzt eine auf Steuercodes basierende Sprache wie
<End Conversation>, <Pause>, <Color Line>
- Ein in Python geschriebener Encoder/Decoder wandelt menschenlesbaren Text ↔ Byte-Sequenzen, die das Spiel versteht
Prüfung von Netzwerkalternativen
- Es gibt den Broadband Adapter für den GameCube, aber Animal Crossing besitzt keinen Netzwerk-Stack
- Um den BBA zu nutzen, müsste ein Netzwerk-Stack samt asynchronem I/O ergänzt werden, was als ineffizient bewertet wurde
- Stattdessen wurde Emulator-Memory-Hacking als einfacher und stabiler eingeschätzt
KI-Pipeline
- Anfangs sollte ein einzelnes LLM sowohl Kreativität als auch Steuercodes übernehmen, doch wegen deutlicher Qualitätsprobleme fiel die Wahl auf eine Trennung in Writer und Director
- Writer: erzeugt kreative Dialoge auf Basis der Persönlichkeiten der Figuren (unter Nutzung von Daten aus Fan-Wikis)
- Director: liest den Dialog und fügt passende Steuercodes, Gesichtsausdrücke, Farben und Sounds ein
- Diese zweistufige LLM-Pipeline trennt KI-Kreativität von den technischen Anforderungen und nutzt so die Stärken beider Seiten
- Durch die Aufgabentrennung konnte eine stabile Qualität erreicht werden
Ergebnis und Ausweitung
Bedeutung
- Ein experimentelles Projekt an der Schnittstelle von Retro-Konsolen-Hacking, KI-Integration und Games Preservation
- Ein Spiel von 2001 wird mit KI aus dem Jahr 2025 verbunden und ermöglicht so generationsübergreifende Interaktion
- Das Spiel ist nicht länger nur repetitive Konversation, sondern entwickelt sich zu einer lebendigen virtuellen Welt
- Vollständiger Entwicklungsprozess/Demovideo: Modern AI in a 24-Year-Old Game
Noch keine Kommentare.