I replaced Animal Crossing's dialogue with a live LLM by hacking GameCube memory

joshfonseca.com

860 points by vuciv 4 days ago


https://github.com/vuciv/animal-crossing-llm-mod

simonw - 3 days ago

Here's the code: https://github.com/vuciv/animal-crossing-llm-mod

I was intrigued as to how it would intercept a conversation and then pause the game for long enough for the LLM to return a response, so I used https://gitingest.com/vuciv/animal-crossing-llm-mod to dump the 40,000 tokens into Claude Opus 4.1 and asked it: https://claude.ai/share/66c52dc8-9ebd-4db7-8159-8f694e06b381

The trick is the watch_dialogue() function which polls every 0.1 seconds and then answers with placeholder text: https://github.com/vuciv/animal-crossing-llm-mod/blob/cc9b6b...

  loading_text = ".<Pause [0A]>.<Pause [0A]>.<Pause [0A]><Press A><Clear Text>"
  write_dialogue_to_address(loading_text, addr)
So the user gets a "press A to continue" button and hopefully the LLM has finished by the time they press that button.
wincy - 3 days ago

That's hilarious that you give the villagers thought and the first thing they want to do is overthrow Tom Nook. If this works in Gamecube on an emulator, surely it'd be possible to make it work on the Switch emulators as well?