50 pontos por GN⁺ 2025-09-11 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Projeto que troca as falas repetitivas do clássico Animal Crossing (GameCube, 2001) por diálogos em nuvem com LLM em tempo real
  • Sem modificar o código do jogo, ele conecta scripts externos em Python e IA por meio de hack de memória e memória compartilhada no estilo mailbox
  • O texto do jogo não é uma string simples, mas processado como uma linguagem de códigos de controle, então foi preciso implementar um codificador e decodificador próprios
  • A geração de falas foi separada entre Writer (escrita criativa das falas) e Director (adição de códigos de controle e expressões) para garantir qualidade
  • Como resultado, os moradores da vila passam a ter conversas imprevisíveis geradas por IA, refletindo notícias, rumores e até sátiras, dando nova vida ao jogo clássico
  • O código do projeto está disponível no GitHub

Definição do problema

  • Animal Crossing é encantador, mas famoso por suas falas repetitivas; mesmo após 23 anos, os diálogos não mudaram, então surgiu a ideia de transformá-los de forma radical
  • O problema é que o GameCube é um ambiente fechado, com CPU de 485 MHz, 24 MB de RAM e sem suporte a rede
  • O jogo original precisava ser mantido intacto, sem alterações no código
  • O objetivo era criar uma ponte para substituir os diálogos repetitivos por um LLM moderno

Primeiro passo: hackeando o sistema de diálogo

  • Graças ao decompilado de Animal Crossing feito pela comunidade, foi possível acessar o código em C
  • Ao fazer hook de chamadas de função no arquivo m_message.c, foi possível substituir o texto dos diálogos
  • Mas ainda restava o desafio de trocar dados com uma IA externa em tempo real

Abordagem de mailbox na memória

  • Uma área específica da RAM do GameCube foi usada como mailbox IPC
  • Um script em Python escreve/lê diretamente endereços de memória → comunicação entre jogo e IA
  • Foi criado um scanner de memória para localizar os endereços do nome do falante (0x8129A3EA) e do buffer de diálogo (0x81298360)

Linguagem de códigos de controle

  • Ao enviar strings simples, o jogo congelava
  • Motivo: Animal Crossing usa uma linguagem baseada em códigos de controle como <End Conversation>, <Pause>, <Color Line> etc.
  • Foi criado em Python um codificador/decodificador para converter entre texto legível por humanos e a sequência de bytes entendida pelo jogo

Avaliação de alternativas de rede

  • O GameCube tem o Broadband Adapter, mas Animal Crossing não possui stack de rede
  • Usar o BBA exigiria adicionar uma stack de rede e I/O assíncrono, o que seria ineficiente
  • Em vez disso, concluiu-se que o hack de memória via emulador era mais simples e confiável

Pipeline de IA

  • No início, tentou-se usar um único LLM para criar as falas e também lidar com os códigos de controle, mas os problemas de qualidade foram grandes, então foi adotada a estratégia de separar Writer e Director
    • Writer: gera falas criativas com base na personalidade dos personagens (usando dados de wiki de fãs)
    • Director: lê as falas e insere os códigos de controle, expressões faciais, cores e sons adequados
  • Esse pipeline de LLM em duas etapas separa a criatividade da IA das exigências técnicas, aproveitando os pontos fortes de cada parte
  • A divisão de papéis garantiu qualidade estável

Resultados e expansão

Significado

  • Um projeto experimental que combina hacking de consoles retrô, integração de IA e preservação de jogos
  • Ao conectar a IA de 2025 a um jogo de 2001, ele cria uma interação entre gerações
  • O jogo deixa de ser um conjunto de diálogos repetitivos e evolui para um mundo virtual vivo
  • Processo completo de desenvolvimento/vídeo de demonstração: Modern AI in a 24-Year-Old Game

Ainda não há comentários.

Ainda não há comentários.