We propose an agent for the game of Pokemon based on Monte Carlo tree search with a policy network, pre-trained on a three Pokemon, two move dataset (available here).
The MCTS pipeline is a docker compose setup where
our MCTS agent plays against our baseline agent
pmariglia.
To start the data collection process run
docker-compose -f mcts-docker-compose.yml build
docker-compose -f mcts-docker-compose.yml up
which will create a MCTS agent and one baseline
agent challenging each other on a local Pokemon
showdown server.
To configure the pipeline have a look at scripts/create-mcts-pipeline.sh
.
For data collection we use Docker and docker-compose
to create multiple pmariglia agents playing against
each other.
To start the data collection process run
docker-compose build
docker-compose up
which will create by default one pair of agents
playing against each other and saving the game states
to datasets/collector
.
To change the amount of agents or other configuration
options for this pipeline have a look into scripts/create-data-pipeline.sh
which creates all important configuration files.
For more indepth information have a look at our data documentation
The data for our 3 Pokemon, 2 Attack setting can be found here. You need
to extract the zip and change the directories in policynet/configs/config.json
accordingly.