Ok, here’s what you need to know:
- Pokémon X/Y is a mildly popular game on the Nintedo 3DS.
- While playing, you come across wild pokémon that you can catch so they join your team.
- Very rarely, the wild pokémon you find will be “shiny”, making it highly coveted.
Now, it’s known in X/Y that the shiny rate in the wild is 1/4096. It is also known that the Shiny Charm increases the wild rate. What is not known is the shiny rate in Friend Safaris, or whether the Shiny Charm affects the Safari Shiny Rate.
That is what this project is about: Finding out exactly how likely shiny pokémon are, and how the different variables effect the outcome. The end result, the Safari Hunter, can be seen below. It’s a little robot that plays the 3DS, evaluates each encounter to determine if it’s a shiny, and deploys an attention getting device if it is.
This is all made possible by the fact that when a shiny is found, the bottom screen goes dark for a slightly longer time than when a typical pokemon is found.
We wanted to make something that was non-intrusive: the 3DS did not need to be modified, and could be removed and played with with no fuss or bother. We settled on a design that used two servo motors controlled by an arduino for interacting with the DS (that’s what we had lying around) and a light sensor to monitor the screen. That’s all we need. We designed and laser-cut a chassis to hold it all in place, and used a standard arduino Uno R3 to run the electronics. The arduinos are powered by USB, connected to a computer, where a python script takes in all the data and logs it to a file for later analysis.
The shield for the arduino is a modified Diyode Codeshield. running this sketch. The modifications on the codeshield included removing analog pin 2 from the arduino interface, and bridging digital pin 5 to the solder pad on analog pin 2. This allowed us to easily put a three pin header where the pot normally goes to plug the second servo in. We also put in a two pin header where the light sensor normally goes, so that we didn’t have to hard-wire the servo on. This also meant swapping the red and orange wires on servo 2 so that everything hooked up right.
We currently have 2 DSs working on generating some statistically significant data. Stay tuned.