Pokemon Shiny Hunter
Hardware- 10 Devlogs
- 29 Total hours
A box that will automatically shiny hunt pokemon for me!
A box that will automatically shiny hunt pokemon for me!
Welcome back to another development update! Here’s what I’ve been working on recently.
I updated the UI by using CustomTkinter instead of normal Tkinter. This made it really easy to add outlines and rounded corners, and I think the overall look is a lot better now.
The only weird issue I’ve run into is that things don’t seem to be the size they say they are. For example, a button that’s supposed to be 100×100 ends up looking rectangular instead, so who knows what’s going on there.
I also put together the UI for Shining Pearl. It includes all of the version-exclusive Legendary Pokémon and the other important encounters.
There isn’t any implementation behind it yet, but the groundwork is there, and I’ll be hooking everything up as development continues.
I’ve also made some more progress on my Sword copy, so I have a few more Pokémon to add.
Current plan:
The fossils will probably be the trickiest to integrate since they don’t fit very well into my current system, but I’ll figure something out when I get there.
That’s all for this update! Stay tuned for more cool things coming!
I got the implementation for shiny Regirock added and let it run while I went downtown. When I came back, I had a shiny Regirock waiting for me! It was very fun to see that.
I split the Pokémon games into their own separate buttons. Originally, there was just a Sword/Shield option, but now Sword and Shield each have their own buttons.
The stats for each hunt are also saved specifically to the game that the hunt was performed in.
I added functionality for the webhook to send a screenshot to my Discord whenever it finds a shiny.
Previously, I had to ask my brother to check the machine for me, but now I can simply look at Discord to see when a shiny is found. This is a really nice quality-of-life improvement.
I added the code for Regidrago on the Switch 2, as it was the next Pokémon on the list. I should be finishing that implementation soon.
After the regis and the swords of justice, I will be moving on to fossil restoration shiny hunting, which should be interesting. Fossils do not have the animation that I currently rely on, so I will need to implement color recognition instead.
I still need to create the dynamic timing system so the program can run as efficiently as possible on both Switch 1 and Switch 2.
That’s it for this devlog. I will see you in the next one!
I let this run all night, and I woke up to a shiny notification in my Discord! I checked the game, and sure enough… it was there!
After a whopping 6,045 resets and over 3 full days of hunting, the wait is finally over. It was definitely a grind, but I absolutely love this shiny. The green looks so good!
Now that the shiny hunt is complete, I made a version of the setup for the Nintendo Switch 1 as well!
I borrowed my mom’s Switch to increase my hunting output, so I also designed and printed a box for it. It’s currently hunting Giratina in Pokémon Brilliant Diamond.
One thing I discovered is that the Switch 1 and Switch 2 run at different processing speeds. Because of that, the timing in my current code isn’t perfectly universal.
I’m going to be working on a better solution that automatically handles these differences, so the code:
I have a lot of cool ideas planned for future updates, so this is only the beginning.
Thanks for following along, and stay tuned for more!
Shiny Regirock + Discord Webhook!
I put it compatibility for Regirock! It was basically the same code, but it is slightly slower. I didn’t catch registeel yet, but started working on something else for a minute.
I put in a Discord Webhook! All logs are sent to various channels on my discord server! This makes it easy to see what is happening from anywhere I am! It gives a status and a timestamp so I can see if it is still running.
I’ll add more pokemon hunting later! I gotta get one of these guys soon, right?
Improved Aesthetics and Reliability
I changed the visuals of the program a lot. It looks more visually pleasing in my opinion.
I changed up and added more status texts so they are more informative at a glance.
Added in timeout counters if inputs were taking too long. This is an issue on load sometimes, but hasn’t been present since I implemented it.
I will devlog catching this guy!
I put in checks, data, and sped up the process!
Before this update, if anything went wrong my whole system would be cooked. There is now 3 checks, besides the shiny check. One makes sure that the encounter was initialized, another makes sure we made it home, and another one makes sure we booted up the game. If any of these go wrong, it will fix them.
I put it some more data such as how much time this machine has spent hunting this pokemon in its lifetime, as well as the total amount of resets.
Another cool piece of data is the time per reset. That was how long the last go-through went. This is cool for estimating how long it will take to find the shiny pokemon.
Finally, I sped it up. Before this encounters would take 42 or 43 seconds, but now they are consistently faster that 36 seconds. because I have yet to find the shiny charm, my math says that this will save me hours. Looking forward to seeing how this project goes and expanding it for other pokemon soon.
I made it detect a shiny pokemon!
I haven’t found a shiny yet, but we are getting there. It checks to see if a menu chunk is there to know if it is shiny or not. The shiny plays an animations that delays the menu from popping up. Pretty cool stuff so far. It is actually running as a write this devlog!
I made it so the pi can control my switch and start hunting!
While there is no image recognition to see if it is shiny yet, it is able to get the encounter to spawn, which is pretty neat.
This is done through using a tool called Nxbt, which emulates a nintendo switch pro controller. This is all being run with a pi4 and a capture card hooked up to my switch 2.
The next steps are to hook up shiny recognition and get this machine chugging!
I got my box all printed and started working on functionality!
I finished designing my box after tweaking for a bigger screen, and got it all printed off. I assembled everything this morning and starting working on the software today. There is no actual shiny hunting yet, but we are getting there.
I made the whole box! Unless there is something I need to tweak later, this is it for the box. It houses the switch two, the rpi, and everything else needed to shiny hunt pokemon!
This will use a tool called nxbt to control the switch via bluetooth, and it will use a capture card to view the screen. It will output its results to the external screen and that will also be a menu of sorts.
Now I need to 3D print this and start writing the accompanying software!