/Nintendo-Switch-Pokemon-Shiny-Hunter

Search for shiny pokémon on your Nintendo Switch while sleeping!

Primary LanguagePythonOtherNOASSERTION



Search for shiny pokémon on your Nintendo Switch while sleeping!

Discord YouTube Channel Subscribers

Key FeaturesInstallationGetting StartedTroubleshootingCredits



⠀Creation Process

In my Youtube Channel you can follow the entire creation process of the project. Don’t miss it!

⠀Key Features

⠀ Use your computer to automatically search for shiny pokémon.

⠀ Works on physical games running on a Nintendo Switch, not emulators!

⠀ Automatically saves a video of the shiny encounter.

⠀ Plays a sound whenever a shiny Pokémon is found.

⠀Installation

If you are not familiar with Linux systems, please read Windows and MacOS before. Then, come back here.

Download or clone the repository. Open a terminal and run the following command:

git clone https://github.com/Dinones/Nintendo-Switch-Pokemon-Shiny-Hunter.git 

Linux Distributions

Warning: This project is not compatible with Python 3.12 due to the removal of the imp module, which affects dependencies like dbus-python. Please use Python 3.11 or earlier to avoid issues. If you followed the VM installation guide, don't worry about this warning.

Install the necessary libraries. Open a terminal in the project folder and run the following commands:

sudo apt-get install -y python3-pyqt5 tesseract-ocr libtesseract-dev
sudo pip install -r Requirements.txt && pip install -r Requirements.txt 

Please, take a look at the configuration of the Virtual Machine mentioned in Windows and MacOS. Even if you know about Linux systems, there are some important things to do. If something fails, it is probably due to a misconfiguration. This configuration has been tested multiple times and following all the steps should never raise any error.

Windows and MacOS

Install a Linux Virtual Machine and follow the installation steps for Linux Distributions. The program has been tested using Virtual Box with XUbuntu 22.04.3. You can find a step-by-step guide on how to setup the Virtual Machine here.

Verify Installation

In order to verify if everything has been properly installed, follow these steps.

⠀Getting Started

Material List

⠀Capture card that converts HDMI input into USB output.
⠀Nintendo Switch Dock.
⠀HDMI cable.

Setting Up the Nintendo Switch

Place the Nintendo Switch into the Dock. Connect the dock to the official Nintendo Switch charger. Connect the HDMI output of the Dock to the input of your capture card. Finally, connect your capture card to your computer / Raspberry via USB. If your game is not digital, insert the game card in the Nintendo. Set your Nintendo Switch to light mode and do NOT use any custom/animated theme.

NOTE: The program will always open the first game slot. Make sure the pokémon game you want to run is in the first position. If it's not, you can simply start the game and it'll move to the beginning.

⠀Running the Shiny Hunter

IMPORTANT: Before running the Shiny Hunter, there are a few variables of the Constants.py file that need to be mentioned. You will need to edit them in order to use the program. (See constants here).

Now, you must change the game configuration as follows:

  • Text Speed: Fast.

  • Battle Effects: Off.

  • Autosave: Off.

Finally, enter the game and place the player on the grass/water for a wild encounter; in front of the Pokémon for the static encounter; and one step before entering the lake for the starter encounter. See an example of the positions here. Once there, save the game and go to the home screen (leave the game as idle, don't close it); then, go to "Controllers" > "Change Grip/Order Menu". Plug in both controllers to the Nintendo Switch and if not, make sure they're not connected via Bluetooth. (See steps here).

Finally, open a terminal in the project folder, run the following command, and follow the instructions that will appear:

sudo python3 Shiny_Hunter.py

⠀Troubleshooting

⠀Credits

A big thank to all the contributors of NXBT repository. The whole program resolves around its work. Also thank to Learn Code By Gaming youtube channel, where I learnt most of what I know about image processing and object detection.