A couple months back, I saw a thread on Twitter about the eye-opening experience of discovering bugs in video games. I’ve been playing games my whole life and I’ve run into (not to mention created!) a whole lot of weird glitches in that time. But the first thing that came to mind was a bizarre experience I had around age 10 or 12, with no less esteemed a game than Super Mario Bros. 3. So I posted my my own little thread in response.
Hey so, after posting this in @moshboy's thread about interesting game bugs, I went back and recreated all these Game Genie codes with an emulator, revisited these in-between worlds and screencapped them all. Join me on a journey through Mario 3's upside-down. https://t.co/LLoY9KTTli— 𝖘𝖆𝖑𝖙𝖎𝖗𝖊 (@saltire) October 13, 2018
In the early 90s there was a third-party peripheral for the major game consoles called the Game Genie. It was a special cartridge that you could attach your Nintendo or Sega cartridges to before plugging it into the game system. In a bit of arcane magic, this little artifact would cause your system to display a cheat code entry screen before booting the actual game, and it came with a book full of codes you could enter to gain infinite lives, upgrade your powers, or skip entire levels.
Game Genie codes were seemingly-random words made from an alphabet of 16 letters:
Now, Mario 3 has 8 different worlds, and the Genie listed codes to skip to each one
(minus the first, since that wouldn’t be much of a cheat).
To get to world 2, you entered
PEUZUGAA; for world 3,
ZEUZUGAA; world 4,
LEUZUGAA, and so on.
The pattern was obvious: only one letter changed in each code.
I didn’t know how it all worked under the hood,
but I figured that the 16 available letters must be stand-ins for hexadecimal digits.
Interestingly, the codes used every other letter out of the available sixteen…
I wondered: what would happen if I entered codes that used the other 8 letters in between?
So I plugged in
EEUZUGAA, wondering if there was a world halfway between 1 and 2.
Here’s what came up:
A corrupted World 1… let’s say World 1½. Not too weird except some wrong tiles along the bottom, and Mario starts outside the frame in the eternal black void, unable to move, doomed.
I plugged in the next code, and proceeded to…
…World 2½, much the same, but also with a weird palette on the Hammer Bro. Mario is out in the open desert, far from the roads he usually travels on. Whether he can survive there is unclear.
Here’s World 3½. Same weird palettes, and Mario is in the ocean. We know he can swim, but how far?
AAAGH! The colours in World 4½ are a hellish mockery of World 4’s idyllic campo de’ fiori. Mario has spawned far below the map. There are no clamours for help from the castle, only silent screams.
The corrupted tiles on World 5½ include the animated clouds around the edge, and for some reason all the animated tiles in this map cycle at a blistering speed, giving us vibrating bushes and a flickering jumble of chaos where the clouds and the spiral castle once were.
World 6½ isn’t so different, unless you count the blood-red icebergs. Not pictured, though: while some of these maps have the wrong music, this one cycles through a whole selection of tunes from the game, one loop of each, forming a nice medley before ending in a sudden crash.
World 7½: almost normal. Mario was sooo close to landing on an actual road, and I was reallllly hoping I’d finally be able to explore one of these neitherworlds, but no dice. He’s stuck.
World 8½ is kind of my favourite, because it’s the opposite of 4½. We can see what World 8 would look like if it had green fields and blue sea instead of being Mario’s Mordor. I mean sure, the whole thing’s still in flames, but you know. Smells like campfires instead of sulphur.
BONUS: World 9½, or Evil Warp Zone! Of course I never saw this as a kid with a Game Genie, since I only had 16 letters to use with this particular incantation. But technology has evolved: now that I’m doing this with an emulator, I know exactly what memory address I’m changing and can just poke whatever value I want into it.
So after screencapping all these in-between worlds for the Twitter thread, I just kept going…
Ever wonder what World 0 looks like? Now you know. I had to grab it before Mario spawned because, it being the zero realm, he immediately underwent a Spontaneous Massive Existence Failure and the game crashed.
I’ve got 256 worlds to choose from just by altering a single byte. They’re mostly dead ends, but they’re interesting, and as a kid they made me think about what’s under the hood. How the memory is structured, how it’s traversed, what’s actually in there. What happens when things don’t go as planned. What else can I change, and what other results might I get?
Despite this early dabbling I never really got into ROM hacking; it was only many years later, through the internet, that I discovered an extensive scene around it. Of course I found other equally interesting pursuits; corrupting Nintendo games was just one of the many ways I could have spent my time. There are so many paths to take; far more than 256.
Anyway, kids and adults alike: next time you’re doing something – anything – and get an unexpected result that makes you go “Hmm, that’s weird,” stop and look a little closer.
Then see if you can make it do something even weirder.