Skip to content
MZSFightersPublic

About

Let's do this!!!

Resources

Stars

0 stars

Watchers

2 watching

Forks

Repository files navigation

Onitama Simulator: An RL Environment for OpenAI Gym

CircleCI codecov

Find the documentation here : https://docs.google.com/document/d/12b2fTcx07lm320-jrQE8ksLk9YjDtIOlbUDgYCB2X3k/edit?usp=sharing

The goal of this project is to develop a simulator for Onitama , which can also be used as an OpenAI gym environment for reinforcement learning (RL) research. Onitama is a two player abstract strategy board game that originated in Japan. It is played on a 5x5 grid and each player starts with five pieces: a Master and four Pawns. The goal of the game is to either capture the opponent's Master or to move your own Master onto the opponent's Temple Arch. Players take turns moving one of their pieces according to its unique movement pattern, which is determined by a card drawn randomly from a set of 16 possible cards. The card used by each player is switched with a card from a central deck after every move. The game is won by the player who can outmanoeuvre their opponent using the unique movement patterns of their pieces and the limited options presented by the changing card deck. The simulator, which should fully capture the rules of Onitama , should allow for a user to play against an AI opponent (or allow for 2 AI players to compete), should support multiple visualisations of the game (state based or image based), and should integrate with OpenAI gym.

Table of Contents

General Information

  • Big Theta developed a japanese board game called Onitama. We are also in the process of making a fully functioning AI learning environment using Gym AI in the next semester. This game would not just help one play the challenging game of onitama but also train an AI on the environment.
  • What is the purpose of your project? The purpose of our project was to create the game of Onitama and a reinforcement learning environment in which anyone can train their agents to become better at the game of Onitama. It is very mcuh like chess and just like chess, we want to train some hard-to-beat onitama agents.
  • Why did you undertake it? It was a project undertaken as part of the Softwarre Design module in Computer Science.

Technologies Used

  • Python
  • Pygame
  • OpenAI Gym library

Features

List the ready features here:

  • The game of Onitama can be played in local multiplayer
  • The Main Menu is in progress (60% completed)
  • An easy AI opponrnt has been devloped and more

Screenshots

Example screenshot

Setup and Usage

How does one go about using it?

If one wants to try the game out, the latest release on Github contains the source code. One can open the code folder in Visual Studio Code or a similar IDE and run the main.py file to play our game. As the project is still in progress, there is no executable available to run the game easily.

Project Status

Project is: in progress.

Room for Improvement

As the project is still in progress, there is still a massive room for improvement in the project.

Room for improvement:

  • Most of the OpenAI Gym integration is not developed yet
  • The Main Menu is incomplete as some options are not functional yet

To do:

  • Addition of Custom Cards in the game
  • Loading saved games in the Main Menu
  • Some functionality which is available on the terminal version of the game but not the PyGame version.

Acknowledgements

  • This project was inspired by Branden Ingram.
  • This project was based on the game of Onitama.
  • Many thanks to Branden and the entire team of Big Theta.

Contact

Created by team Big Theta - feel free to contact us on this email: mzaidmns@gmail.com Team Big Theta:

  • Mohammad Zaid Moonsamy
  • Ulrich Main
  • Tumi Jourdan
  • Muhammad Omar
  • Lefa Moraba

About

Let's do this!!!

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages