Skip to content
0:00 / 0:00

#zelda#windwaker#rngmanipulation

How We Solved the Worst Minigame in Zelda's History

Linkus7

458K subscribers • 1 video on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2020 to 2024.
  • Presented by Linkus7, speedrunner
  • Linked in the descriptionpetersn/web-sploosh-kaboom
  • May be out of date. Uploaded 6 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

1.1M views6 years ago3 recommendations

SecurityGame developmentReverse engineeringAlgorithmsGame programming

Linkus7 explains how a community of speedrunners reverse-engineered The Wind Waker's random number generator to consistently win the Sploosh Kaboom minigame.

Twitch: twitch.tv/linkus7/ After Years of having to deal with Sploosh Kaboom, the Battleship Minigame in The Legend of Zelda: The Wind Waker, we have finally found a way to beat it consistently. This is the result of many people's efforts to Reverse Engineer Wind Waker and craft a program that can take advantage of its structure. This video would have not been possible without Peter Schmidt-Nielsen. All the Animations in this video were created by Peter in Javascript using d3, so huge shout out to him for putting in such great work! For details about the program, and a list of everyone who worked on this program: github.com/petersn/web-sploosh-kaboom

Why it's here

3 people recommend this

What people say. Recommended as a fascinating case study in reverse engineering and predicting game RNG.

leshokuninon Hacker News • Recommends

On “Super Mario Bros. 3 in 3 Minutes – World Record Speedrun Explained [video]”

…(as recently exemplified by the Super Mario 64 full reverse engineering). So it's creating a whole new genre of runs that simply isn't about execution anymore. If you're interested in the topic, you might like the Super Mario World speed run that uses a similar technique ( link ), or the recent work on removing randomness from Wind Waker runs ( link to this video ).…

mbStavolaon Hacker News • Recommends

On “Super Mario 64 – Watch for Rolling Rocks – 0.5x a Presses [video]”

The sheer depth of knowledge and analytical ability pannenkoek has is honestly quite amazing. I've become quite spoiled watching their SM64 videos, it's been incredibly hard to find something of similar rigor and production value for other games. The closest I've found so far has been a video on how a group of speed runners were able to conquer RNG for a puzzle in Wind waker0. 0: link to this video

nick238on Hacker News • Recommends

On “Making Python Less Random”

If you're developing a game, there's a fairly big issue in that many things may be requesting values from, and thus incrementing, the PRNG, and many of them could be indirectly controlled by the user (where they are, where they're looking, etc. link to this video is a fun video about reverse-engineering Zelda to predict the randomness in a minigame) As far as the approach, I agree in that I don't understand why 'no code changes' is that important, especially in the context of Python which has a general attitude of consent towards monkeypatching code. Maybe one of the randomness sources was hashing all the source files? :P

BorisTheBraveon Hacker News • Mentions

On “Is every game of Slay the Spire winnable?”

Good point. That approach was in fact used for "Sploosh Kaboom", a RNG minigame in the Windwaker: link to this video

TapamNon Hacker News • Mentions

On “PCG32: The Perfect PRNG for Roguelikes (2018)”

That's true. I did think about mentioning this possibility, but decided not to. Another good example of predicting RNG, after a large amount of gameplay, for a non-turn-based game: link to this video I think in certain Pokemon games, people figured out how to predict and manipulate random encounters based on an animation in the load screen.