50 points par GN⁺ 2025-09-11 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un projet remplace les dialogues répétitifs du jeu classique Animal Crossing (GameCube, 2001) par des conversations LLM en temps réel basées sur le cloud
  • Sans modifier le code du jeu, il relie un script Python externe et une IA via du piratage mémoire et un mécanisme de mémoire partagée (mailbox)
  • Le texte du jeu n’est pas traité comme une simple chaîne, mais comme un langage de codes de contrôle spéciaux ; le problème a donc été résolu en implémentant un encodeur et un décodeur dédiés
  • La génération des répliques est séparée entre Writer (rédaction créative) et Director (ajout des codes de contrôle et de la mise en scène) afin de garantir la qualité
  • Au final, les habitants du village livrent des dialogues IA imprévisibles intégrant actualités, rumeurs et satire, redonnant une nouvelle vitalité à ce jeu culte
  • Le code du projet est publié sur GitHub

Définition du problème

  • Animal Crossing est apprécié pour son charme, mais aussi connu pour ses dialogues répétitifs ; après 23 ans sans évolution, l’idée était de trouver un moyen radical de les transformer
  • Le problème, c’est que la GameCube est un environnement fermé avec un CPU à 485 MHz, 24 Mo de RAM et aucune prise en charge réseau
  • Le jeu d’origine devait rester intact, sans aucune modification du code
  • L’objectif était de construire un pont pour remplacer ces dialogues répétitifs par un LLM moderne

Première étape : pirater le système de dialogue

  • Grâce à la décompilation d’Animal Crossing réalisée par la communauté, l’accès au code C était possible
  • En accrochant un appel de fonction dans le fichier m_message.c, le remplacement du texte des dialogues a été réussi
  • Restait toutefois le défi d’échanger en temps réel des données avec une IA externe

La méthode de la mailbox mémoire

  • Une zone spécifique de la RAM de la GameCube a été utilisée comme mailbox IPC
  • Un script Python écrit/lit directement à des adresses mémoire → communication entre le jeu et l’IA
  • Un scanner mémoire a été développé pour récupérer les adresses du nom du locuteur (0x8129A3EA) et du buffer de dialogue (0x81298360)

Le langage des codes de contrôle

  • Un simple envoi de chaîne de caractères provoquait le gel du jeu
  • Cause : Animal Crossing utilise un langage fondé sur des codes de contrôle comme <End Conversation>, <Pause>, <Color Line>, etc.
  • Un encodeur/décodeur en Python a donc été créé → conversion entre un texte lisible par un humain et les séquences d’octets comprises par le jeu

Étude des alternatives réseau

  • Il existe bien un Broadband Adapter pour la GameCube, mais Animal Crossing ne possède pas de pile réseau
  • Utiliser le BBA aurait nécessité d’ajouter une pile réseau et des E/S asynchrones, ce qui était jugé inefficace
  • À la place, le piratage mémoire via émulateur a été considéré comme plus simple et plus fiable

Pipeline IA

  • Au départ, un LLM unique devait à la fois créer les répliques et gérer les codes de contrôle, mais les problèmes de qualité ont conduit à adopter une stratégie de séparation Writer-Director
    • Writer : génère des dialogues créatifs à partir de la personnalité du personnage (en s’appuyant sur des données de fan wiki)
    • Director : relit les répliques et insère les codes de contrôle, expressions, couleurs et sons appropriés
  • Ce pipeline LLM en deux étapes sépare la créativité de l’IA des contraintes techniques afin d’exploiter au mieux les forces de chaque composant
  • Cette séparation des rôles a permis d’obtenir une qualité stable

Résultats et diffusion

Portée

  • Un projet expérimental à la croisée du hack de console rétro, de l’intégration de l’IA et de la préservation du jeu vidéo
  • En connectant une IA de 2025 à un jeu de 2001, il met en œuvre une interaction transgénérationnelle
  • Le jeu n’est plus un enchaînement de dialogues répétitifs, mais évolue vers un monde virtuel vivant
  • Vidéo de démo / développement complet : Modern AI in a 24-Year-Old Game

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.