An interface for optimising Pokémon teams using genetic algorithms!
git clone git@github.com:alan-turing-institute/p2lab-pokemon.git
cd p2lab-pokemon
git submodule update --init --recursive
git clone git@github.com:smogon/pokemon-showdown.git
cd poke-env
pip install -e .
cd ..
pip install -e .
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-security
In 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 species
Alternatively, 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.