Boost
November 27, 2020
pip install boost-game
git clone https://frie.dev/boost.git
A Python implementation of the Boost board game designed by Dr. Brady J. Garvin. It can be run interactively on the terminal, or as a Discord bot.
Original description of Boost:
Boost is a turn-based abstract strategy board game like checkers, chess, Xiangqi, or Arimaa. It was designed to be new and interesting for humans to play while still admitting a simple AI and supporting various homework assignments on algorithms and data structures in the SOFT 260 course at UNL.
Boost was designed and first implemented by Dr. Brady J. Garvin. The original implementation was a Progressive Web App made with React.js.
This is a Python implementation that closely conforms to the original rules of the game. It runs in a terminal, similar to gnuchess.
For a transcription of the rules, see RULES.md.
If you're looking for the original Discord bot functionality, please use version 1.2.0 (tag v1.2.0
).
Features
- Terminal UI with colored output
- Local hotseat multiplayer
- Online multiplayer
- AI for solo play
Dependencies
- termcolor (optional, required for colored output)
Installation
pip install boost-game
Usage
Client
boost
To see a list of game commands, enter help
in-game.
For more usage information:
boost --help
Server
boost-server [host]
Troubleshooting
Connection Refused
If you get the following error when trying to connect a client to a remote server:
ConnectionRefusedError: [Errno 111] Connection refused
Make sure you are launching the server with the same hostname that you are trying to connect to. For instance:
# Server
boost-server example.com
# Client
boost -H example.com
Contributing
If you want to submit a patch, please follow these guidelines:
- Run the game to check for bugs.
- Run some Python linters on the files you've changed and ensure there are as few lint issues as possible.
License
This Boost implementation is licensed under the GNU Affero General Public License. The original implementation was closed source and unlicensed, but this implementation has received written permission from Dr. Garvin to be publicly distributed.