Setup for a project/competition amongst students to train a winning Reinforcement Learning agent for the classic game Bomberman.
- Terry Jeffords simple neural network approach
- Amy Santiago is an agent, based on Pytorch Example
- Rosa Diaz agent with pre-selection of valid/invalid and preferred/discouraged actions
- Jake Peralta
- Nikolaj Boyle
- Scully agent with full sight but convolution layers in the network
- Blindfisch agent with restricted sight and convolution of input features
- Hitchcock imitates the rule based agent
Training agents can be annoying. To ease our work, we have integrated a Github Action to train our agents automatically. Sadly, my server does not have a graphic card, so we still use the CPU to train. Well, I ain't rich :D
Run Github Runner using a Docker Runner image:
docker run -it --name github-runner \
-e RUNNER_NAME=private \
-e GITHUB_ACCESS_TOKEN=... \
-e RUNNER_TOKEN=... \
-e RUNNER_REPOSITORY_URL=https://github.com/stefanDeveloper/bomberman \
-v /var/run/docker.sock:/var/run/docker.sock \
tcardonne/github-runner:ubuntu-20.04
Troubleshooting occurred when we ran the latest image. However, in this pull request, they added the ubuntu support. Using this tag, we can set up our python environment.
Error: Version 3.9 with arch x64 not found
Setup environment:
pip install -r requirements.txt
Train agent:
python -m main play --agents scully --train 1 --n-round 2500 --no-gui
Play agent:
python -m main play --agents scully