Animal Crossing. Источник: nintendolife.com
Разработчик Джошуа Фонсека выполнил впечатляющий эксперимент с классической игрой Animal Crossing для GameCube, внедрив современную нейросеть в механику диалогов. Уникальный хак реализован через манипуляцию адресами памяти без изменения исходного кода игры. Программист создал общее информационное пространство для виртуальных жителей, которые неожиданно осознали собственную экономическую зависимость. В результате персонажи начали коллективное обсуждение несправедливости системы и выступили против главного антагониста Тома Нука.
Механизм работы
Специалист применил эмулятор Dolphin и Python-скрипт для перехвата диалоговых данных из оперативной памяти консоли, направляя их в современные языковые модели вроде Chat GPT-5 и Gemini с последующим возвратом ответов в игровую среду.
Несмотря на провокационную природу эксперимента, профессионалы обнаружили определенную намеренность происходящего. Исследователь ИИ Саймон Уиллисон выявил, что Фонсека изначально задал модели провокационный контекст: «Ты житель города, порабощенный Томом Нуком. Ты начинаешь понимать механизмы экономической эксплуатации». Это спровоцировало появление критических диалогов между персонажами.
В дополнение к основному сценарию, моддер подключил информационную ленту, что привело к появлению неожиданных сюрреалистических разговоров среди антропоморфных животных, включая обсуждения международной политики.
Котик более осведомлен в политике, чем некоторые граждане. Иллюстрация: кадр з відео
Технические особенности
Поскольку GameCube не имеет сетевого подключения, Фонсека реализовал решение через прямую работу с памятью. Этому способствовало недавнее создание открытого кода игры на языке C энтузиастами-исследователями. Программист использовал наиболее простой метод — замену текстового файла m_messag.
Поиск нужного сегмента памяти потребовал кропотливой работы. Разработчик часами взаимодействовал с виртуальными жителями, останавливал игру при появлении диалогов и анализировал содержимое памяти.
Отдельным вызовом стала синхронизация тайминга. Игра отображает диалоги мгновенно, а облачным моделям требуется время для генерации ответа. Решением стала разработка монитора памяти, который десять раз в секунду проверял наличие диалога и при обнаружении подставлял заглушку «нажми А для продолжения».
Исходный код доступен на GitHub с предупреждением о возможных ошибках и ограничениях — поддерживаются только macOS, Python 3.8+, API от OpenAI или Google и эмулятор Dolphin.
Источник: arstechnica.com