NoRuKo 2020

Summarized using AI

Learning Empathy From Pokemon Blue

Siân Griffin • August 21, 2020 • online

In the presentation "Learning Empathy From Pokemon Blue" delivered by Siân Griffin at the #NoRuKo conference, the speaker addresses the intriguing phenomenon of the Missingno glitch found in the Pokémon Blue game. The talk emphasizes understanding software bugs not merely as mistakes but as opportunities to learn about the underlying code and the experiences of developers.

Key points discussed include:
- Overview of Pokémon's History: Griffin introduces the journey of Pokémon, beginning with its original release in 1996 and expanding to its status as a top media franchise, highlighting the game's impact even on those unfamiliar with it.
- The Missingno Glitch: A thorough examination of the Missingno glitch, which allows players to duplicate items in the game, notably Rare Candies. The speaker notes that this glitch is known to 87% of players and became a part of gaming folklore.
- Game Mechanics: The talk explains the steps involved in triggering the glitch, starting from Viridian City and using unique game mechanics typical of 90s titles to reach Missingno.
- Insights from Game Code: Griffin discusses the importance of analyzing game disassembly to uncover the intentions of the original developers, acknowledging the constraints and decisions they faced during the game’s creation. This analysis encourages viewing bugs as reflections of both programming limitations and creative ingenuity rather than failures.
- Empathy in Programming: The overarching theme is one of empathy; understanding not just the code but the journey of those who created it, fostering a more compassionate perspective towards the software development process.

The conclusions drawn highlight the value of curiosity in debugging and how engaging with unforeseen outcomes can lead to a deeper appreciation of programming. The presentation provides insights into how both gamers and developers can learn from historical glitches, emphasizing a mindset that values learning from mistakes and understanding software as a complex, collaborative effort.

Learning Empathy From Pokemon Blue
Siân Griffin • August 21, 2020 • online

Have you ever looked at a bug and wondered why it actually happens? It's easy to chalk it up to sloppy coding but that's almost never the case. In this talk we'll be dissecting a exploit from Pokemon Blue known as the "Missingno" glitch. We'll look at the details of each of the seemingly random bugs behind this exploit. We'll look at why these bugs happened, and the lessons we can apply to our Ruby code more than 20 years later.

Siân Griffin is a former Rails committer, and co-leads the team responsible for crates.io, the package repository for Rust.

Welcome to the #NoRuKo conference. A virtual unconference organized by Stichting Ruby NL.

#NoRuKo playlist with all talks and panels: https://www.youtube.com/playlist?list=PL9_A7olkztLlmJIAc567KQgKcMi7-qnjg

Recorded 21th of August, 2020.
NoRuKo website: https://noruko.org/
Stichting Ruby NL website: https://rubynl.org/

NoRuKo 2020

00:00:00.719 Welcome to the #NoRuKo conference. We have a presentation on learning empathy from a bug. The speaker, Siân Griffin, is a former Rails committer and currently co-leads the team responsible for crates.io, the package repository for Rust.
00:00:08.080 If you’ve never played with that, it can be quite interesting. I have some questions because I come from an older generation. I wondered how this relates to Pokémon Blue. It's known that you can make mistakes, but you can also do really well. However, I have found that Pokémon is both singular and plural.
00:00:21.199 This talk is quite substantial, and I hope to share some insights today.
00:00:50.320 Hello everybody, my name is Siân Griffin. I was hoping that there would be a Zubat emoji for you all to spam in chat, but unfortunately, there isn’t. There will be a point during my talk when you will know it's time, so please share all the pictures of Zubats with me.
00:01:02.079 Text encoding can be challenging, and sometimes my name is spelled differently. My pronouns are they/them. Now let's talk about Pokémon.
00:01:14.799 The first Pokémon game was developed by a small team for Japanese audiences. Released in 1996, Pokémon Red and Green were created on a tiny budget by a programming team of just four people. Their sales exceeded expectations, leading to an updated version that would soon follow. Following the hype, Pokémon Red and Blue were released worldwide in 1998, forming what would become the highest-grossing media franchise of all time, even surpassing icons like Mickey Mouse and Hello Kitty.
00:01:51.200 Even if you’ve never played Pokémon, you might have seen Pikachu, the most famous Pokémon. But there was also a close second: Missingno. Missingno is a glitch Pokémon encountered exclusively through a glitch. Despite being a bug, it was well-known; in fact, 87% of players were aware of it back in the day, with many hearing about it through word of mouth rather than the internet.
00:02:27.120 Missingno could duplicate items, which made it particularly appealing. The glitch had various names—some referred to it as the Missingno glitch, while others called it the item duplication glitch. At my school, it was commonly known as the Rare Candy glitch since players primarily used it to duplicate Rare Candies, which made Pokémon more powerful and thus highly desirable.
00:03:00.239 To execute the glitch, we start in Viridian City, one of the earliest areas in the game. We talk to an old man and tell him we’re not in a hurry, which kicks off a tutorial showing how to catch Pokémon. After a Weedle appears, we skip the rest of the tutorial since we need to travel to Cinnabar Island.
00:03:54.000 Using the fast travel system, we can ‘turn into a bird’ and fly to our destination. After landing, we’ll navigate through water tiles, which involves transforming into a seal-like creature—90s game mechanics were certainly unusual. As we explore this coast, we'll encounter wild Pokémon, and this is where the fun begins. Here, we come across our friend Missingno, who is level 168, much higher than the normal maximum level of 100.
00:04:31.680 We quickly run away and check our inventory. I had four Rare Candies before the glitch, but somehow the glitch transformed that into 128 Rare Candies! It's curious how part of the display showed a flower, rendering 13, which resulted from the glitch giving me 128.
00:05:23.000 If you've never seen this glitch before, it may seem like a random sequence of events leading to such a specific outcome. However, there are multiple bugs at play, and many of these aren’t really bugs at all; they are just properties of the code being utilized in unexpected ways.
00:05:59.280 I should clarify that while I have not worked on this game nor interviewed those who did, I have spent considerable time analyzing the game’s disassembly. Through this process, we can infer the programmer's original intentions while also considering the constraints they faced.
00:06:25.920 Let's delve into this glitch in more detail. You might be asking why we specifically visit that peculiar coast tile. The game operates on a grid system, so when the player occupies a tile, they technically occupy four sub-tiles. The upper left corner of the tile corresponds to coordinates (8, 8), while the bottom right corner is (9, 9).
Explore all talks recorded at NoRuKo 2020
+8