Aller au contenu


Photo

Animal Crossing avec des dialogues générés par IA !


  • Please log in to reply
2 replies to this topic

Posté Aujourd'hui, 13:47

#1
tikilou

tikilou

    Sunriseur avancé

  • Technicien
  • 541 Messages :

Animal Crossing : quand la décompilation et l’IA donnent une nouvelle voix aux habitants

Il y a des hacks qui se contentent de changer quelques textures ou d’ajouter une option de confort. Et puis il y a ceux qui repoussent les limites de ce qu’on croyait possible. C’est le cas du travail de Josh Fonseca, qui a réussi à relier Animal Crossing sur GameCube à une intelligence artificielle moderne. Résultat : Tom Nook, Kéké et les autres villageois ne sont plus condamnés à répéter des dialogues écrits il y a plus de vingt ans. Ils sont désormais capables d’improviser, de réagir et de tenir des conversations inédites.

 



Ce qui rend ce projet fascinant, c’est qu’il ne repose pas sur un mod classique, mais sur un mélange de reverse engineering mémoire et de décompilation du jeu.

 

 

La décompilation, un préalable indispensable :

Pour comprendre comment fonctionne un programme sans avoir accès à son code source, il faut remonter à partir du binaire. Sur GameCube, les jeux sont écrits en C puis compilés en instructions PowerPC. Décompiler, c’est traduire ce code machine en un C reconstruit, lisible par un humain.

Dans le cas d’Animal Crossing, la communauté de passionnés a déjà réussi à isoler des fichiers entiers comme m_message.c, qui gère l’affichage des dialogues. Ce fichier est une mine d’or : on y découvre que le moteur du jeu ne se contente pas d’afficher du texte brut, mais qu’il interprète une suite de caractères spéciaux et de codes de contrôle (pauses, émotions, couleurs, fins de message).

Sans cette étape de décompilation, il aurait fallu des mois d’essais-erreurs dans la mémoire pour comprendre pourquoi certaines injections plantaient le jeu. Là, la documentation existe déjà : on connaît la “grammaire” attendue par le moteur.

 

Le cœur de la bidouille : détourner la RAM :

Au lieu de patcher le binaire, Josh a choisi une voie plus élégante : intercepter les dialogues directement en mémoire vive.

Quand un personnage parle, le texte est copié en RAM dans une zone bien précise avant d’être affiché. C’est cette zone que le script va surveiller en permanence. Dès qu’une chaîne apparaît, elle est capturée, envoyée à un modèle de langage moderne, puis remplacée par la réponse générée.

Pour la console, rien n’a changé : elle continue de lire dans sa mémoire et d’afficher le contenu qu’elle y trouve. Mais ce contenu, lui, ne vient plus du script original : il sort tout droit d’une IA.

 

 

Le pipeline IA ↔ GameCube :

Lecture mémoire : un script Python lit la RAM via l’émulateur Dolphin.
Envoi au LLM : le texte intercepté est transmis à une IA hébergée sur une machine externe.
Post-traitement : la sortie de l’IA est traduite en “langage Animal Crossing” (codes spéciaux : \p pause, \e émotion, etc.).
Réinjection : la chaîne convertie est replacée dans le tampon mémoire.

Le système n’est pas limité à l’émulation. Il fonctionne sur Dolphin, mais aussi sur une GameCube réelle avec BroadBand Adapter, en exploitant la mémoire via le réseau.

Le projet est compatible avec différentes API (OpenAI, Google Gemini…), mais il est aussi possible d’utiliser son propre LLM en local. Avec une RTX 3090 (24 Go de VRAM) considérée comme un minimum confortable, on peut générer les dialogues depuis chez soi sans dépendre de services tiers.

Pourquoi ce n’est pas si simple:

Alignement mémoire : les dialogues sont dans des structures binaires précises.
Encodage : le jeu utilise un format proche du Shift-JIS.
Concurrence : plusieurs PNJ parlant en même temps posent problème.
Latence : les appels à l’IA prennent 1–2 secondes → solution : pauses simulées.

La décompilation a permis de comprendre et respecter toutes ces contraintes.


Des habitants qui parlent “vraiment” :
Grâce à ce système, les PNJ ne sont plus limités aux scripts Nintendo. Ils peuvent commenter l’actualité, improviser, ou se moquer du joueur. On redécouvre le jeu sous un nouveau jour.


Une porte ouverte sur le rétro-gaming augmenté :
Ce projet prouve que la combinaison décompilation + injection mémoire + IA peut donner une nouvelle vie à des jeux anciens. Demain, d’autres classiques pourraient être augmentés de la même façon.


Comment ça se fait, en pratique ? :

-Dumper la RAM sous Dolphin.
-Repérer une phrase connue.
-Vérifier la stabilité de l’adresse.
-Injecter un test (“TEST”).
-Automatiser la capture.
-Nettoyer la sortie IA.
-Réinjecter proprement.

 

Exemple concret : Tom Nook et l’IA

Sans hack :
"Bonjour ! Bienvenue chez Nook !"

 

Avec hack :
Le script intercepte la phrase.
Contexte envoyé à l’IA (PNJ = Tom Nook).
Réponse générée : "Ah, te voilà enfin ! J’espérais que tu viendrais dépenser quelques clochettes…"
Ajout des codes de pause et d’émotion, puis réinjection.
À l’écran : Tom Nook fait une pause et affiche ce nouveau dialogue, parfaitement intégré.

 

 

Pour aller plus loin : 
Code source : GitHub
– animal-crossing-llm-mod


Démo vidéo : [url=https://www.youtube.com/watch?v=7AyEzA5ziE0]YouTube


Installer son propre serveur IA/LLM : 
-Lancer un serveur local compatible OpenAI API tel que vLLM, Ollama, etc..
-Configurer l’URL et la clé d’API.
-Dolphin (ou GameCube + BBA) enverra les requêtes directement à ce serveur.


Matériel recommandé :
RTX 3090 (24 Go VRAM) = idéal pour modèles 7B.
RTX 4090 = encore plus fluide.
16-12 Go VRAM = modèles 5-7B quantifiés (Gemma, Mistral, Qwen).
8-10 Go VRAM = modèles 3-5B quantifiés.
6 Go VRAM ≈ modèles 2-3B quantifiés.

 

Modèles LLM adaptés selon la VRAM :
≈ 24 Go (RTX 3090) → Qwen-7B, Mistral-7B, Gemma-7B (quantifiés), confort + contexte long.
16-12 Go → 7-8B en quantification 8-bit, ou 5-6B en 16-bit.
8-10 Go → modèles ~5-6B ou plus petits (Phi-3 Mini, Gemma-4B).
6 Go → modèles 2-3B quantifiés (Qwen-2.5 2B, Phi-3 Mini).

Avec ces solutions, chacun peut adapter le projet à sa machine et profiter d’un Animal Crossing augmenté par l’IA.


  • Retour en haut

Posté Aujourd'hui, 15:41

#2
piccolo97114

piccolo97114

    Sunriseur

  • Members
  • PipPip
  • 10 Messages :
Merci tikilou.
C'est vraiment génial.
  • Retour en haut

Posté Aujourd'hui, 17:36

#3
Waikiki

Waikiki

    Sunriseur elite

  • Modérateur
  • 1,118 Messages :
  • Sexe:Male
Merci pour la news et pour le concept encore très énergivore mais qui d'ici quelques années sera généré par des cpu/gpu dédiés (à la manière de l'encodage vidéo). Quand le photoréalisme aura été atteint hormis le gameplay quelles seront encore les attentes des joueurs... l'immersion générée grâce aux IA. Enfin c'est ce que je pense.
  • Retour en haut




2 utilisateur(s) sur ce sujet

0 invité(s) et 2 utilisateur(s) anonyme(s)