r-luo / camelup

Multi agent algorithm applied to the board game camel up

Home Page:https://michael-gracie.github.io/camelup/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

camelup

Introduction

Camelup is a boardgame where you bet on camels racing around a board, published by Pegasus Spiele. The driving idea behind this package was to build a computer player for this game that would play optimally. Using a multi agent system the computer recursively searches for the play that will maximize their utility within the game. While building a game playing robot is fun, its more fun when you expose that robot. This package contains a lo-fi tkinter app that exposes the gameplay to users and allows for play against the robot. For more information on that gameplay and information about the multi agent implementation, sphinx documentation can be found here.

Quick Installation

pip install git+https://github.com/michael-gracie/camelup.git

Gameplay

After installation, to start playing camelup run the command

python -m camelup.app

This will start a tkinter app and you will be brought to the start game screen.

img/start_screen.png

By inputing robot in the player name boxes it will initiate a robot player. If you just want to play against your friends input their names. From there this will bring you to the game screen.

img/game_screen.png

On the right of the screen you will select your move until the game is finished at which point you will be prompted to whether you wish to play again.

If you need to familiarize yourself with the rules of camelup the video below is helpful.

https://img.youtube.com/vi/hQftUMnLZd8/0.jpg

Developer Instructions

To install the package with development dependencies run the command

pip install -e .[dev]

This will enable the following

  • Unit testing using pytest - Run pytest in root package directory
  • Pre commit hooks ensuring codes style using black and isort
  • Sphinx documentation - To create sphinx run make clean html in package docs folder - To view locally run python -m http.server

About

Multi agent algorithm applied to the board game camel up

https://michael-gracie.github.io/camelup/

License:MIT License


Languages

Language:Jupyter Notebook 97.7%Language:Python 2.3%