An interface for optimising Pokémon teams using genetic algorithms!
- Clone required repos:
git clone [email protected]:alan-turing-institute/p2lab-pokemon.git
cd p2lab-pokemon
git submodule update --init --recursive
git clone [email protected]:smogon/pokemon-showdown.git- Install p2lab and poke-env:
cd poke-env
pip install -e .
cd ..
pip install -e .- Have node installed and install showdown
cd pokemon-showdown
npm install # -g flag sometimes solved problems on our machines
cd ..To run locally start the pokemon showdown server:
node pokemon-showdown start --no-securityIn another terminal, from this project's root directory run:
p2lab <args>usage: p2lab [-h] [--generations GENERATIONS]
[--team-size TEAM_SIZE] [--teams TEAMS]
[--seed SEED] [--unique UNIQUE]
options:
-h, --help show this help message and
exit
--generations GENERATIONS
Number of generations to
iterate over
--team-size TEAM_SIZE
Number of pokemon per team
(max 6)
--teams TEAMS Number of teams i.e.,
individuals per generation
--seed SEED Random seed to use
--unique UNIQUE Determines if a team can have
duplicate pokemon speciesAlternatively, using docker: docker build -t p2:latest .
docker run -it p2:latest docker exec -it your_container_id /bin/bash
Run docker build with --no-cache to rebuild with newer versions of the repos.
- Has instructions on setting up our own server (needed to run battles!)
- Also features command-line utilities for generating/validating new teams
- Wicked fast at simulating battles via pokemon showdown engine
- https://poke-env.readthedocs.io/en/stable/getting_started.html
