Show HN: Tool-Assisted Speedrunning the Boring Parts of Animal Crossing (GCN)

I recently dug my Nintendo GameCube out of storage to revisit the first Animal Crossing game. Things were mostly as I remembered, but the game's heavy reliance on a clunky on-screen keyboard quickly wore my patience thin.

Unwilling to accept this subpar experience, I did what any rational person would do and ordered a rare, Japan-exclusive, keyboard/controller hybrid on eBay, then used a Raspberry Pi Pico to 1. listen for keypresses and 2. send simulated controller events to the GameCube, automating typing in Animal Crossing at a Tool-Assisted Speedrun level.

Of course, this oddball controller's keycaps didn't map perfectly to Animal Crossing's in-game character set, so I watched a 10 hour FreeCAD tutorial at 2x speed, then modeled the 7 keycap profiles to create 81 custom, 3D printed keycaps, taking care to include even the most esoteric Greek and Old English characters that Nintendo chose to include in the game.

And then, having solved my original problem, I decided to sniff out some new ones. I used my homemade TAS device to automate the entry of customizable "Town Tune" melodies, took advantage of a cracked encryption algorithm to give on-demand access to (almost) every item in the game, and, in a Club-Mate-fueled haze, whipped up a Python script to convert arbitrary images to the game's 32x32 pixel custom design format.

Even at superhuman speed, those 1024 pixels took about 3 minutes to input, but that didn't stop me from extending the concept to video - playing Rick Astley's "Never Gonna Give You Up", Bad Apple!, Shrek, and even a short gameplay video of DOOM very, veryyyy slowly (about 7.5 hours to render 30 seconds of footage at 5fps).

Then, realizing that DOOM at 0.0056fps probably wouldn't be the most "playable" thing in the world, I set out to get some kind of video game running within Animal Crossing, and ultimately landed on Snake.

Since it only needs to update 1 pixel for every frame of animation, I was able to get Snake running at around 1ish* frames per second (for technical reasons, it runs at a variable framerate). Maybe not the most primo experience the modern gaming world has to offer, but without a doubt, technically a video game. It even has its own, in-memory high score ranking (so far I'm undefeated).

The code and design files are distributed for free on GitHub[0], and a build/demonstration video[1] is out now on Youtube.

[0] - https://github.com/hunterirving/pico-crossing

[1] - " rel="nofollow">

It started as a "quick, simple project", then quickly ballooned into 7 or 8 "quick, simple projects", but I had a ton of fun putting it all together. Thanks for checking it out!


Comments URL: https://news.ycombinator.com/item?id=44257655

Points: 6

# Comments: 0

https://github.com/hunterirving/pico-crossing

Létrehozva 22h | 2025. jún. 12. 20:40:09


Jelentkezéshez jelentkezzen be