Scandalous Dice in Mario Party 3

There are videos online that have discussed the Mario Party dice blocks not being skill-based, and some games even having them pre-determined before you even press a button. Fiddling with save states in Mario Party 3, it’s clear that the input timing does matter, as reloading the state and pressing the button at a different time produces a different value. But is it purely random beyond that? Early signs suggest yes....

March 6, 2022

Saharah When?

Motivation I had an interesting idea for a service that would tell you outside of the game when Saharah or Crazy Redd are going to visit town. Is this something that can be determined just by knowing what seed the game uses, or does it depend on user input or the time that they log in? Let’s find out. Starting with Strings Doing a similar string search as our last project, we quickly find the line that Copper tells you with the date in it; going up the stack even higher, we see the date string isolated in memory at 0x81297f00....

April 24, 2020

Animal Crossing: Perfect Town: Abridged

If you’d like to read the full, unfiltered disassembly ramblings that led to this conclusion, go here. The results are summarized below on how to get the perfect town in Animal Crossing (GameCube). The results were derived by stepping through the assembly on the NTSC version of the game, but I imagine similar results for other versions. Requirements Overall garbage count must be less than 5, excluding the Garbage Dump area (garbage in that acre, but outside the designated garbage area does count)....

April 18, 2020

Animal Crossing: Perfect Town

Nintendo’s Animal Crossing series allows humans in 2020 to dive into a fictional world and experience wild, unattainable realities like going outside regularly and interacting with other beings. So naturally, I’ve been leaving it idle in the background during quarantine and hopping in every time I have a moment to spare. In these games, there’s a goal that you can strive for to create the perfect town, as judged by the wishing well in the town....

April 18, 2020

Meet the Chomps: Part II

One last thing I wanted to do for the reverse engineering effort I did last week was get exact probability values for the different multipliers. I figured the easiest way was to generate all permutations of bite orders for “Big Chomp wins” and then use Python’s fraction library to multiply and sum out the exact odds (since all permutations are mutually exclusive). Maybe there’s a better way, but seems to have worked decently well:...

February 24, 2020

Big Chomp and Little Chomp

Introduction So there you are, playing a pass-the-controller team game of Mario Party 3, expecting the usual shenanigans, the back and forth of stars and coins, and a tight race to the end. Wrong. This mini-game in the first few turns of the game, a bit of luck, and Team Luigi has their coins multiplied by 32, and suddenly it’s a race for second place. Here’s how it plays out: you land on the Shy Guy tile, all your coins are anted, and you’re given a choice to bet either on the Big Chomp finishing his cake first to double your bet, or on the Little Chomp doing so first for 4/8/16/32/64x your bet....

February 20, 2020