Mike Kasberg

Husband. Father. Software engineer. Ubuntu Linux user.

Image for Catching Mew: A Playable Game Boy Quote

Catching Mew: A Playable Game Boy Quote

26 Sep 2023

Last week I went to Strange Loop 2023. There were many great sessions, but my favorite was Playable Quotes for Game Boy Games. Joël and Adam presented an idea for playable Game Boy “quotes” that should be (legally) shareable. (It’s worth reading How We Made Playable Quotes for the Game Boy on Joël’s Blog.) Their solution’s both clever and elegant, and uses only a few hundred lines of code (aside from existing emulators). The playable quote truly removes all the unnecessary parts of the ROM, which is important for legal reasons. Their implementation is also practical and future-proof, embedding everything that’s necessary to play the game in a single distributable file. It’s also pretty clever, using steganography to embed data into a screenshot of the game. (This revelation produced an outburst of applause at the live presentation.) While I watched this presentation at Strange Loop, I couldn’t help but think that a playable quote like this would be a great way to experience catching Mew in the original Pokémon Game Boy games.

Skip Ahead: How to Catch Mew

The Legend of Mew

Mew is my favorite Pokémon. Not because it’s a cool, rare Pokémon with special abilities that’s hard to catch, but because of the incredible programming story of how it came to be. In fact, this might be my favorite programming story. It’s on par with We can’t send e-mail more than 500 miles and some of the other wonderful stories listed here.

I have fond memories of playing Pokémon as a child, but I never caught Mew. Still, I remember all the rumors that I’d talk about with my friends. Someone heard a rumor that you could find Mew next to a truck by the S.S. Anne after beating the Elite Four. Another friend thought that you could only get Mew with a GameShark. Someone else heard you could only get Mew at official Nintendo events where they gave it out. As a young kid (without access to Nintendo events or a GameShark), all these rumors added to the mystery and intrigue of Mew, and they hype around Mew probably contributed to the success of Pokémon.

As it turns out, the real story behind Mew is a programming tale. I find this story fascinating, and it makes me like Mew even more than the legends I heard in my childhood. Mew was originally created by Shigeki Morimoto, a programmer for Game Freak. And he snuck it into the code! It was a sort of Easter egg, originally intended only for Game Freak staff. Morimoto added it to the game at the last minute, after the removal of some debug features in preparation for the final release freed up enough space to add Mew. He didn’t add any way to catch or encounter it – I guess he meant to use his developer tools or some GameShark-like device to let people he knew get Mew in their game. All programmers love a good Easter egg, and this might be the most famous Easter egg I’ve ever heard of (even if most people now know Mew as a regular Pokémon and don’t realize it was originally just an Easter egg). It’s worth reading a full account of the story on Mew’s Wikipedia Page.

Programmers love Easter eggs, but we also love interesting bugs and glitches. If Mew was originally intended to be an unobtainable Easter egg, the fact that it’s actually possible to catch a Mew in an unmodified game by exploiting a glitch makes it even more alluring! Pokémon Game Boy games use a pseudo-random number generator (PRNG) to randomize the Pokémon you encounter. By manipulating this PRNG, it’s possible to predictably and reliably encounter a wild Mew after a series of specific actions! Exploiting the glitch is a little tricky to pull off, and requires a series of specific actions at specific points in the game. This particular glitch requires a couple hours of play time to get to the right part of the game, and isn’t usable once you’ve passed it (by defeating the trainers).

This seems like a perfect application of the playable quotes I learned about at Strange Loop, so I spent a couple hours over my weekend creating them!

How to Catch Mew

All the images below are playable Game Boy quotes. Click on them to see the animation or play the game yourself!

The earliest point you can catch Mew in Pokémon Red/Blue is in Cerulean city. You need to defeat the five trainers on Nugget bridge, but you need to be very careful with trainer battles after that because the glitch we’re going to exploit requires battles with a couple of the upcoming trainers.

  1. Catch an Abra. You can encounter a wild Abra in the grass North of Nugget Bridge on Route 24. Abra is difficult to catch because the only move it knows is Teleport, and it will use Teleport to escape if it gets the opportunity. The best way to catch it is to immediately put it to sleep, perhaps with Butterfree’s Sleep Powder.

    A playable Game Boy quote. Making Abra fall asleep.

  2. Visit the Pokémon Center in Cerulean City. This is important because you’ll teleport to the most recent Pokémon Center you visited. You should also prepare your party at this point. You’ll want 1-2 strong Pokémon to win a trainer battle, and perhaps a couple weaker Pokémon or Pokémon with special abilities to use to weaken and catch Mew.

  3. Save your game. Don’t save again until you’ve caught mew. This way you can try again if you make a mistake.

  4. Walk down the grassy area West of Nugget Bridge right next to the water. You must press start quickly after moving South but before you finish moving. Your goal is to pause the game such that when you unpause, the trainer will see you and trigger a battle. Rather than unpausing, use Teleport. The trainer will spot you, but you’ll Teleport away. This can be difficult to describe, so perhaps a playable quote will help!

    A playable Game Boy quote. Teleporting away from the trainer battle West of Nugget Bridge.

  5. Walk back up Nugget Bridge and battle a specific trainer on Route 24. It is important that you are a few steps away so the trainer has to walk to you. Win the battle.

    A playable Game Boy quote. Battling the trainer on Route 24.

  6. Immediately after the battle ends, use Teleport.

    A playable Game Boy quote. Teleporting away from the trainer on Route 24.

  7. Walk back up Nugget Bridge. Upon leaving Cerulean City, the game will glitch and the menu will come up even though you didn’t press START. Exit the menu and you will encounter Mew!

    A playable Game Boy quote. Catching Mew!

I find it fascinating that you can exploit a glitch in Pokémon to catch Mew, the uncatchable Pokémon! It brought me a lot of joy to listen to the Playable Quotes for Game Boy Games session at Strange Loop, it was fun to build these playable quotes, and I hope Joël and Adam enjoy seeing their quotes in use here on my blog! I also hope that these playable quotes help create one of the most approachable, easy-to-understand tutorials for catching Mew. It’s worth noting that the quotes above contain a complete save-state, and it’s possible to continue playing if you drop a complete ROM onto the quote player. It should also be possible to export the save-state from any quote in a widely-compatible .sav or .srm format, but doing so is left as an exercise for the reader, for now.

About the Author

Mike Kasberg

👋 Hi, I'm Mike! I'm a husband, I'm a father, and I'm a senior software engineer at Strava. I use Ubuntu Linux daily at work and at home. And I enjoy writing about Linux, open source, programming, 3D printing, tech, and other random topics. I'd love to have you follow me on X or LinkedIn to show your support and see when I write new content!

Share!

If you enjoyed this blog post, I'd love it if you could share it with your network!

I run this blog in my spare time. There's no need to pay to access any of the content on this site, but if you find my content useful and would like to show your support, buying me a coffee is a small gesture to let me know what you like and encourage me to write more great content!

You can also support me by visiting LinuxLaptopPrices.com, a website I run as a side project.