- Open command prompt
- Use one of "pip install poke-env" or "python -m pip install poke-env" or "py -m pip install poke-env"
- Copy-paste the next three lines:
git clone https://github.com/smogon/pokemon-showdown.git cd pokemon-showdown npm install
- Use "copy config\config-example.js config\config.js" for Windows, "cp config/config-example.js config/config.js" for Linux based systems
- Start local host with "node pokemon-showdown start --no-security"
This can be done on either local or official PS servers
- Click on Teambuilder
- Select New Team
- Click on the Format dropdown box and select [Gen 6] OU under the Past Gens OU column
- Click on Add Pokemon
- Proceed to add your Pokemons and select their items, ability, moves and EVs (we will be capping this)
- Once you're done adding Pokemons, go back to the team section and click on Validate. This will tell if you if your team is valid. If not, it will tell you what to change to validate it.
- Once validated, click on the Import/Export button at the top and save the output in a team.txt file. This will be your team we'll use for bot simulations.
Write the bot logic in prod-testing/players/POKE-BOT/bot.py
The file structure for the players directory must be maintained, but feel free to create extra files/modules. If you do, keep them in POKE-BOT to avoid import issues.
As for the pokemon team, use the output from the Teambuilder tool and replace the placeholder team data in players/POKE-BOT/team.txt with it For useful functions to aid in decision logic, refer to [Main Modules Documentation] in https://poke-env.readthedocs.io/en/stable/modules/battle.html - especially with functions marked with the "property" tag.
Run PSMainTestAccepter.py and challenge your bot directly. If you're on a local server, ensure that server_configuration is set to LocalhostServerConfiguration If on the actual server, use ShowdownServerConfiguration
NOTE: this configuration is specifically for VSCode AND LocalhostServerConfiguration Run PSMainTestAccepter.py in a dedicated terminal, then run PSMainTestChallenger.py in another dedicated terminal Ensure that the name in PSMainTestChallenger.py line 24 is the same as the name defined in PSMainTestAccepter.py account config name