/gym-xiangqi

This repo sets up the environment to play Xiang Qi (chinese chess) following the OpenAI Gym framework.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Gym Xiangqi

CI Test Suite flake8 lint radon analysis Documentation Status PyPI version

Gym Xiangqi is a reinforcement learning environment of Xiangqi, Chinese Chess, game. The project is built on top of a popular reinforcement learning framework called OpenAI Gym.

Welcome Demo

Getting Started

Installing and using Gym Xiangqi is easy. If you are unfamiliar with Xiangqi, the Chinese Chess, we encourage you to read our Wiki page for a starter. We also welcome you to checkout our documentation page, but if you have experiences working with other OpenAI Gym environments you will be already off to a good start.

Prerequisites

In order to use Gym Xiangqi environment for your reinforcement learning project, you need to have,

  • A machine that supports video and audio outputs. For example, a headless server will not be a great choice here.
  • Python 3.6 or above

User Installation

Install Gym Xiangqi on your Python environment using pip

pip install gym-xiangqi

Test your installation by running

agent-v-agent

Development Installation

First, clone the repository

git clone https://github.com/tanliyon/gym-xiangqi.git

or download the latest release and extract the files

Enter the repository

cd gym-xiangqi

Install the core dependencies

pip install -e .

Install the dependencies for development

pip install -r requirements.txt

Software Handbook

Read through the software handbook for comprehensive explanation and development guide for the repository.

Built With

  • [OpenAI Gym] - Used for developing the reinforcement learning environment
  • [PyGame] - Used for rendering the game

Contributing

Please checkout our contribution guidelines in CONTRIBUTING.md and our software handbook.

Versioning

We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the GNU Lesser General Public License v3.0 - see the LICENSE.md file for details.