Descobrir os endereços foi apenas metade do problema. Quando um jogador interage com um morador em Animal Crossing, o jogo geralmente exibe o diálogo instantaneamente. No entanto, chamar um modelo de inteligência artificial pela internet leva alguns segundos. Willison analisou o código e encontrou a solução de Fonseca: uma função chamada watch_dialogue() que verifica a memória dez vezes por segundo. Quando detecta o início de uma conversa, escreve imediatamente um texto substituto: três pontos com comandos de pausa ocultos entre eles, seguidos por um aviso “Pressione A para continuar”.
“Assim, o usuário recebe um botão ‘aperte A para continuar’ e, com sorte, o modelo de LLM já terminou até que ele pressione esse botão,” observou Willison em um comentário no Hacker News. Enquanto os jogadores assistem os pontos aparecerem e alcançam o botão A, o mod trabalha rapidamente para obter uma resposta do modelo de IA e traduzi-la para o formato de diálogo do jogo.
Aprendendo a linguagem secreta do jogo
Simplesmente escrever texto na memória congelava o jogo. Animal Crossing utiliza um formato codificado com códigos de controle que gerenciam tudo, desde a cor do texto até as emoções dos personagens. Um byte especial de prefixo (0x7F) sinaliza comandos, e não caracteres. Sem o código de controle adequado para o fim da conversa, o jogo aguarda indefinidamente.
“Pense nisso como HTML,” explica Fonseca. “Seu navegador não exibe apenas palavras; ele interpreta tags … para deixar o texto em negrito.” A comunidade de descompilação documentou esses códigos, permitindo que Fonseca construísse ferramentas de codificação e decodificação que traduzem entre um formato legível por humanos e as sequências de bytes esperadas pelo GameCube.
Inicialmente, ele tentou usar um único modelo de IA para lidar tanto com a escrita criativa quanto com o formatação técnica. “Os resultados eram um desastre,” observa. “A IA estava tentando ser uma escritora criativa e uma programadora técnica simultaneamente e não era boa em nenhuma das duas.”
A solução encontrada foi dividir a tarefa entre dois modelos distintos. Uma IA Escritora cria diálogos usando folhas de personagens retiradas da wiki de fãs de Animal Crossing. Em seguida, uma IA Diretora adiciona elementos técnicos, incluindo pausas, mudanças de cor, expressões dos personagens e efeitos sonoros.
O código está disponível no GitHub, embora Fonseca alerte que contém bugs conhecidos e só foi testado no macOS. O mod requer Python 3.8 ou superior, chaves de API para o Google Gemini ou OpenAI, e o emulador Dolphin. Divirta-se desafiando a autoridade — ou o guaxinim, como no caso.
