Skip to content

jonah-chen/openmj

Repository files navigation

OpenMJ : Open Source Mahjong Library

The aim of this project is to build a user-friendly high-performance library of applications for all things mahjong. We should attempt to cover multiple mahjong varients starting from the various rulesets of riichi mahjong.

Current Vision

Currently, I would like to have at least the following features:

  • High-performance core library to deal with basic things like tiles and scoring.
  • Online multiplayer game where the host can select which variants (i.e. red dora, kan dora, Washizu, starting points, etc.) with the choice of running a server capable of hosting multiple games simultaneously.
  • 2D and 3D GUI clients for playing the games (likely with OpenGL + ImGUI).
  • Mathematical or Monte-Carlo simulators that can help analyze different situations that can arise in a game (similar to the various poker solvers). Should have a user-friendly 2D GUI.

I really wish to have the following (long term):

  • VR client.
  • High-performance python wrapper for machine learning, particularly for training different reinforcement learning agents.

Usage

The project is currently very WIP, but the instructions for using each component will be linked here as they get closer to completion.

Contributing

If you have any ideas or performance improvements for any of the currently developed algorithms, I really appreciate it if you can contribute. Also, please read the contributing instructions.

Licence

This project is licensed under the GPL3 Licence

Releases

No releases published

Packages

No packages published