Here's how you get Flappy Bird running in Super Mario World
SethBling is a streamer. He specializes in a particular style of technical play, using glitches in a game's programming to pull off incredible, sometimes seemingly impossible, stunts. What starts as exploiting a small bug -- like, say, giving Mario one too many power-ups -- can spiral out into a dramatic overhaul of how the game works.
That's what SethBling's doing in the video above, in which he exploits a tiny hiccup in the Super Nintendo game Super Mario World to allow him to carefully rewrite its memory, eventually repurposing sprites and level assets into a recreation of Dong Nguyen's super-popular (and endlessly cloned) Flappy Bird.
Don't expect to hook up your old SNES and retrace his steps without any prep, though. While it's possible using unmodded, off-the-shelf hardware, the above trick is the result of nearly an hour of methodical play, and he's doing it live before an audience the whole time as well.
"We designed the route to minimize the possibility of human error," SethBling told me when I reached out to him in email. He credits fellow Super Nintendo hackers p4plus2 and MrCheeze as his collaborators on the project, the former responsible for rewriting Flappy Bird into a computer language the SNES can understand, and the latter for developing the arbitrary code execution setup needed to feed that language into the game. "One of the first bits of code written created [was] the 'coin display' that took away any requirement for pixel-perfect maneuvering. Also, increasing the level timer up to 3 hours, and routing everything so that I had as much time as I wanted to verify that a value was correct before committing to it. [...] The payload size was minimized, and we chose a payload that was sufficiently simple in order to keep the chance of error down, too."
As games go, Flappy Bird is pretty easy to clone, which is why a lot of budding developers choose to copy it. A programmer friend of mine once referred to it as the "Hello, World!" of gamemaking. Because it's relatively small (the version used here is just 331 bytes), SethBling and company could squeeze it into the SNES's limited memory.
It's kind of poetic, if you think about it -- in 2013, Flappy Bird was loudly (and disproportionately) criticized for "ripping off" the signature green pipes from the Mario franchise, and now a gifted player has introduced it back, via code injection, into Mario itself. The trick has been done before, but using automated inputs, not human hands. This, as far as anyone can tell, is a world first.
"I've done much longer speedrun sessions, and those are fairly high pressure throughout, so I guess that's prepared me," SethBling noted. However, despite holding several offline practice runs before his recorded attempt, he found himself occasionally distracted by p4plus2's commentary on the stream, and his own desire to chat back. If you watch the complete stream, you can see him responding to viewers as he inputs the code byte-by-byte.
"Whenever my thoughts started to wander, you could see that Mario was just standing there. I really had to focus in order to make progress."
SethBling and collaborator p4plus2 already have thoughts for a follow-up project, but they aren't yet ready to announce anything. "There are definitely some more ambitious avenues that can be taken," he said.
You can watch the entire 53 minute performance archived on Twitch. The run begins at around the 6:00 mark, and if you are less patient than he is you can skip ahead to around 59:00 to see the final bytes entered and the Flappy Bird code executing for the first time. (The look of relief on SethBling's face is fantastic.)