Multi-Agent Reinforcement Learning Environment for the board game Gobblet using PettingZoo.
Project description
gobblet-rl
Multi-Agent Reinforcement Learning Environment for the Gobblet board game board game using PettingZoo.
Installation
Using pip (recommended)
pip install gobblet-rl
Local
git clone hhttps://github.com/elliottower/gobblet-rl.git
cd gobblet-rl
pip install -e .
Usage
Setting up a basic environment
In a Python shell, run the following:
import pettingzoo
from gobblet gobblet_v0
-rl
env = gobblet_v0.env()
Train a basic agent with Tianshou
In the terminal, run the following:
python gobblet/example_tianshou.py
This will train a DQN model from Tianshou for 50 epochs, and then render the trained agent playing against a random agent in an example match.
Playing a game with a random agent
In the terminal, run the following:
python gobblet/example_random.py --render_mode="human" --agent_type="random"
Command-line arguments
--render_mode="human"
will render a 3x3 board only showing the topmost pieces (pieces which are covered by others, or 'gobbled', are hidden):
AGENT: player_1, ACTION: 50, POSITION: 5, PIECE: 6
| |
- | - | -
_______|_______|_______
| |
- | - | -
_______|_______|_______
| |
+5 | -6 | -
| |
--render_mode="human_full"
will render three different 3x3 boards representing the small, medium and large pieces. This gives full information about pieces which are covered or 'gobbled' by other pieces. :
AGENT: player_0, ACTION: 42, POSITION: 6, PIECE: 5
SMALL MED LARGE
| | | | | |
- | - | - - | - | - - | - | +5
_______|_______|_______ _______|_______|_______ _______|_______|_______
| | | | | |
- | - | -2 - | - | - - | - | -
_______|_______|_______ _______|_______|_______ _______|_______|_______
| | | | | |
- | - | - - | - | - - | - | -6
| | | | | |
Testing
Testing can be done via pytest:
git clone https://github.com/elliottower/gobblet-rl.git
cd gobblet-rl
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gobblet_rl-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f700e6ba37fdcfc8a2c0ab688a6f21f4e20b4d8b1e9911421ffc2bc24ec7d32 |
|
MD5 | 97d3ded1a8f0149dd1b10d31bda9876f |
|
BLAKE2b-256 | 61705cfc6d5b49fadcf0fb70478c3e4a515f56bee24ce55f1664ed9bbddc1639 |