noahzemlin / PyOnitama

Onitama Board Game Simulator with Reinforcement Learning opponents (CS 5033)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyOnitama

This project was made for CS 5033 Machine Learning. It emulates the Onitama board game.

The associated paper with motivation, methods, and results can be viewed here.

Run Instructions

Use Python 3.6 or higher

python3 -m pip install -r requirements.txt
python3 main.py

Set Experiments and Agents

Place new agents in src/agents. See others as example. BaseAgent will act as a human player, but is also the base class for all agents

Place new experiments in src/experiments. See others as example. Make sure to set blue_agent, red_agent, and do_render. game_ended() will be called after every round with the final game state. Agents can be reassigned at any time (e.g. swapping blue_agent and red_agent every match)

Tell PyOnitama which experiment to use in main.py as the argument to the Game constructor. (Line 10 at time of writing)

About

Onitama Board Game Simulator with Reinforcement Learning opponents (CS 5033)


Languages

Language:Python 100.0%