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

295 vuciv 56 9/10/2025, 2:59:48 AM joshfonseca.com ↗

Comments (56)

wincy · 3h 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?
vuciv · 3h ago
yes, i'd like to try out Animal Crossing New Horizons next! :)
smt88 · 46m ago
LLMs are heavily trained on reddit, and "Tom Nook is a capitalist dictator if you think about it" is a reddit meme. Like many LLM reactions, it's less "thought" and more "regurgitating reddit jokes/opinions".
dahcryn · 40m ago
It would be great if this evolved slowly during the progression of the game lol
amilios · 3h ago
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 · 3h ago
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 · 2h ago
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...

sterlind · 2h ago
you really don't have to self-censor "emulator" here. HN moderation is not like social media platforms.
lazide · 2h ago
Social media platforms censor emulator?!?
Gigachad · 1h ago
Probably not. But silent deranking of censored terms has everyone paranoid that anything even slightly controversial will get hidden.
bigyabai · 1h ago
I'm just covering my ass. Life is good right now and I don't want to meet any Nintendo ninjas, even for insinuated infractions.

It's not so much a condemnation of HN, but the way IP is in the US. The only website I want hosting my comments on Nintendo modding is my own.

jraph · 45m ago
I doubt a star will make Nintendo lawyers go "ow nose, they didn't spell out emulator in full, we can't attack them! Damn those star armors!". I don't think it changes anything technically.

The only thing this kind of censoring does is countering basic censor bots I think, and somehow making swear words publishable in the US.

0points · 57m ago
That's hilarious.

That modder who had to pay 2M sold drm circumvention kits for the Switch. That's a pretty clear case.

You pretending that saying "emulator" on a forum qualifies just makes you a extra special snowflake.

perching_aix · 1h ago
Yes. Facebook at some point filtered links to them from private messaging. I know this from personal experience. Not sure if they still do.

Also fairly common on Reddit and Discord for communities to ban discussions of them, or even falsely claim they're blanket illegal outright.

dolebirchwood · 3h ago
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.
beckthompson · 29m ago
I'm unsure how useful they'll really be honestly! In many situations its very useful to know when your "done" talking with an NPC when they start repeating lines etc...

There could probably be cool uses but I don't think it will be a pure "upgrade" as the repeating dialog is kind of a feature honestly.

We'll have to see how it pans out xD

heckelson · 25m ago
I guess you could just introduce a Symbol that marks the NPC as "I said everything I have" or gray out their text, or some other visual marker
ehnto · 2h ago
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 · 2h ago
For story writing you generate into the framework of https://news.ycombinator.com/item?id=45134144
malfist · 2h ago
I used to care about repeat scripted dialogue like you, until I took an arrow to the knee
Arisaka1 · 23m ago
Yep. I can see how relying on non-repetitive dialogue generated by LLM's will inevitably make us lose common ground scenarios that end up being memorable moments, like the arrow to the knee from Skyrim or "such devastation! this was not my intention" from Final Fantasy 14. A way to bypass this problem is to keep the important dialogue fixed, but this only one of the problems.

Another issue would be emphasizing the meaninglessness of the dialogue. For example, playing Trails in the Sky has lots of NPC dialogue that's repetitive, but at least the dialogue is relevant with how the NPC's life progresses in the grander scheme of things, such as having difficulty with her entrance exams, or having an argument with his fiancé. It's not main dialogue but adds flavor for anyone who cares about the world enough to interact with the citizens.

I don't think I'd like to interact with characters that I know whatever it is they have to say is generated on the fly and adds nothing other than random tidbits. The novelty would quickly wear off.

hoskdoug · 9m ago
Imagine finally hearing further dialogue from the Bucket Mouse after all these years.
serp002 · 2h ago
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...

brookman64k · 57m ago
> The game runs on a Nintendo GameCube, a 24-year-old console with a 485 MHz PowerPC processor, 24MB of RAM, and absolutely no internet connectivity.

In fact, Nintendo did release an official add-on called the Broadband Adapter, which plugged into the bottom expansion port and provided an Ethernet jack. Only a handful of games supported it, one was Phantasy Star Online. I also used it to stream games/roms from a PC. This worked by exploiting a memory vulnerability in Phantasy Star Online to load arbitrary code over the network, though with slower load times compared to running from disc.

b3lvedere · 48m ago
This is mentioned in the article:

"What About the GameCube Broadband Adapter?

Yes, the GameCube had an official Broadband Adapter (BBA). But Animal Crossing shipped without networking primitives, sockets, or any game-layer protocol to use it. Using the BBA here would have required building a tiny networking stack and patching the game to call it. That means: hooking engine callsites, scheduling async I/O, and handling retries/timeouts, all inside a codebase that never expected the network to exist."

brookman64k · 33m ago
I didn't finish reading the article before commenting. Mea culpa! Maybe it would be possible to use Phantasy Star Online's network stack via the streaming exploit. But that would leave the hooking part.
LeoPanthera · 42m ago
I wonder if you can bitbang an ethernet interface to abuse it into being a serial port.
famahar · 2h ago
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 · 1h ago
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.
KeplerBoy · 9m ago
Duolingo has already gone all in on AI.
shomp · 2h ago
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 · 1h ago
Technical question: what guarantees that the memory address is stable? It means that allocations always happen in the same order in the game ?
jbreckmckye · 13m ago
Console games of that era don't usually malloc; they have globals. Entities go into pools / buffers that are allocated ahead of time
mschuster91 · 1h ago
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 · 3h ago
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.

No comments yet

amilios · 3h ago
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.
Nition · 2h ago
I've thought for a while that the ideal old game for this kind of conversion would be Starship Titanic.
b3lvedere · 1h ago
That's a game name i haven't heard in ages. :)
vunderba · 3h ago
Nice job! Seems like a good use-case for the random Mii avatars milling about in the Mii Plaza on the original Nintendo Wii.
bryanhogan · 2h ago
This is amazing! Would have loved to see more gameplay!
foota · 2h ago
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.,?

b3lvedere · 1h ago
This is awesome! I'd love lots of screenshots with more funny dialogs. :)
aledalgrande · 2h ago
I love this. Great skill and also hilarious!
adt · 1h ago
The kind of thing we were doing many years ago.

Here's the big one that made the rounds in Feb/2021:

OpenAI GPT-3 Powered NPCs: A Must-Watch Glimpse Of The Future (Modbox)

https://youtu.be/jH-6-ZIgmKY

sardonyx001 · 3h ago
This is so cool. It opens up a whole new dimension to messing with old video games where AI can change things like how characters move, loot box contents etc.
Master_Odin · 1h ago
In terms of changing loot box contents, that has been going on for at least the past like 7+ years through "randomizers", though I think mostly used by speed runners.
adammenges · 3h ago
Great work!! Very clever.
galacticaactual · 3h ago
Very cool, nice work!
maxwelljoslyn · 3h ago
This rules!
nurettin · 3h ago
Apart from the memory hacking, I also appreciate how he fully typed his python code. (as in foo: Optional[Dict[str, int]])
hrdwdmrbl · 3h ago
It always felt both "a cheap shot" and "valid" to express dismay that characters in video games don't react when you do things like jump up and down on their table.

While it's impossible for game developers to write code to cover every situation, AI could make general reactions possible.

It's surprising that really simple things like this haven't been tried yet (AFAIK!). Like, even if it's just the dialogue, it can still go a long way.

lmm · 3h ago
Many games have tried for more "realistic" simulated NPCs, but usually it turns out they don't make the game any more fun, quite the opposite.
ehnto · 2h ago
The cost benefit is really poor, but I also wonder if it's just never been done well.

Old text adventures honestly did this heaps better than modern games do, but the reality is there was a more finite action space for them and it wasn't surprising when something wasn't catered for.

theshackleford · 1h ago
Which games are these? I’d be interested in checking them out.

I’m only aware of experimentation in making more “difficult” NPC AI which was found less enjoyable for obvious reasons, so would be interested to see why similar but different attempts down another path also failed.

anon7000 · 2h ago
Kingdom Come Deliverance 2 is one of the closer attempts, NPCs will react to lots of things about you and behavior, like if you smell bad or stare at them for too long
dclowd9901 · 1h ago
I was so surprised in BotW and TotK to see NPCs duck, huddle, gasp and otherwise react to odd shit you might be doing. Also in dialogue, do contextual things like talk about the weather and time.

I would love to see a Zelda game implement LLM dialogue for random inconsequential dialogue or relating dialogue to the game context.