I replaced Animal Crossing's dialogue with a live LLM by hacking GameCube memory
43 comments
·September 10, 2025wincy
vuciv
yes, i'd like to try out Animal Crossing New Horizons next! :)
amilios
Would require decompilation of the Animal Crossing game code for the Switch. I believe DRM has gotten a lot better since the Gamecube days as well. Hypothetically possible maybe but good luck haha
vuciv
I actually think now that I've gone through the process, memory scanning and writing will be enough... Except, they probably have different control codes that I'd need to reverse engineer.
bigyabai
You should be able to run Cheat Engine on your emul*tor of choice to tweak New Leaf "and newer" titles.
And if you're a stickler for pissing Nintendo off in very specific ways, LayeredFS + Atmosphere opens up some modding opportunities right on the console itself. Not sure how easy it would be to pull something like this off though...
dolebirchwood
This is awesome. LLM-powered NPCs is one thing I'm most excited about in the future of gaming. Characters repeating the same scripted dialog over and over again is one of the biggest immersion breakers.
ehnto
I would say local LLMs are already good enough for this. It might be an issue that the GPU is already quite busy at the time it's needed for LLM inference, but not an insurmountable issue.
I wouldn't ever want a game to use it for the core story writing, because it's pretty important that it is consistent and unable to be derailed. But for less serious NPC interactions or like an RPG scenario it is such a great fit.
I also wouldn't want a single player game to rely on remote inference, because that will get turned off eventually and then your game doesn't work.
mungoman2
For story writing you generate into the framework of https://news.ycombinator.com/item?id=45134144
serp002
Agreed, this AI-ran DnD campaign is an example of how good/funny it can be.
https://www.youtube.com/watch?v=TpYVyJBmH0g&ab_channel=DougD...
malfist
I used to care about repeat scripted dialogue like you, until I took an arrow to the knee
famahar
Extremely interesting use case. LLMs as a modding tool to recontexualize virtual spaces. I can see this being a tool used for artistic intervention in the same vein as plunderludic tools like Unity Hawk which allows you to run emulator save states in Unity3D. https://plunderludics.github.io/tools/unityhawk.html
rgovostes
Many years ago there was a project in which researchers swapped localization strings to turn The Sims and Grim Fandango into language practice experiences. Generative dialog that is contextual and skill-appropriate dialog could also be a killer application for language practice.
shomp
This is amazing. Well done figuring out the shared memory hack. That's a huge time saver and really makes sense from an engineering perspective. Ten dollars for the hammer and five thousand for knowing where to strike the machine, to paraphrase a trope on expertise applied correctly.
eric-burel
Technical question: what guarantees that the memory address is stable? It means that allocations always happen in the same order in the game ?
mschuster91
It needs to be a global variable in C. A variable in a function scope or runtime malloc'd spot? No chance of finding a stable spot.
Thankfully, a lot of old games love to use global variables because you can't run out of stack space or allocatable memory. Modern games shy away from that because even the tiniest consoles these days come with gigabytes worth of RAM, even a memory leak has to be a gigantic firehose to bring the system to a halt.
rybosome
The idea of giving every character this sort of agency and seeing what opinion builds up about the world is incredibly fascinating.
Depending on how well we assume an LLM would do at this task, it’s an interesting way to see what “real people” would think about a very hypothetical situation.
null
amilios
There's something about taking old games and injecting new life into them that just seems so fun and exciting! Also very interesting to know that the Animal Crossing codebase has been decompiled into readable C code. Fascinating! So many opportunities to mess with it.
b3lvedere
This is awesome! I'd love lots of screenshots with more funny dialogs. :)
bryanhogan
This is amazing! Would have loved to see more gameplay!
Nition
I've thought for a while that the ideal old game for this kind of conversion would be Starship Titanic.
b3lvedere
That's a game name i haven't heard in ages. :)
vunderba
Nice job! Seems like a good use-case for the random Mii avatars milling about in the Mii Plaza on the original Nintendo Wii.
foota
I wonder if it supports Resetti :-)
But also, why couldn't you look at the code to find the addresses used for dialogue? If it's already disassembled I would think you could just look at the addresses used by the relevant functions/set a breakpoint etc.,?
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?