50 Punkte von GN⁺ 2025-09-11 | Noch keine Kommentare. | Auf WhatsApp teilen
  • 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.

Noch keine Kommentare.