Modder shows off how to catch the perfect Pokemon — by building a robot

Rebecca Hills-Duty
Modder makes a pokemon-playing robot

A modder has created a robot that can play Pokemon FireRed, all in search of the perfect Pokemon to catch.

There are several ways to play Pokemon. Some people like to play through the story, catch some Pokemon, and beat the Elite Four. Others prefer to fill the Pokedex and collect those elusive Shiny Pokemon. For those in the competitive scene, however, there is another goal – perfect Internal Values, or IVs.

IVs are hidden stats assigned to every Pokemon you catch. These range from zero right up to 31. These values affect the performance of your ‘Mons in battle, so those engaging in battles with other players will have an advantage if their team has higher IVs.

YouTuber Im_a blisy sought to give himself a better chance at catching a creature with perfect IVs by utilizing an Arduino single-board computer.

Though these IV values are hidden, a player can game the system in their favor by manipulating the Pseudo Random Number Generator, or PRNG.

Computers cannot produce a truly random sequence of numbers. So software relies on calculations done on a ‘seed’ value to produce a sequence that looks random but actually isn’t.

In Pokemon FireRed and LeafGreen, this all-important seed value is locked in as soon as you press A on the start screen. With correct timing, it is possible to select a specific seed value. This then affects every other ‘random’ value in the game.

These seeds can then be used to control the values in-game. As Im_a_blisy says, these seed values can then be used to spawn specific Pokemon with perfect IVs, or for farming Shiny Pokemon.

Modder makes a pokemon-playing robot

However, human reaction speed isn’t really capable of matching up to a computer processor, even an older one like that in the Game Boy Advance, prompting the innovative use of the Arduino.

By using two GameCube peripherals, the Game Boy Player and the E-reader, Im_a_blisy was able to hook the GameCube console playing FireRed up to the Arduino. The Arduino was capable of pressing the button at the precise Frame to generate a specific ‘seed value’.

Im_a_blisy has captured thousands of seed values so far and shared them with the Pokemon community. This will enable other players to manipulate their own playthroughs, and potentially finally catch the Perfect Pokemon.