Skip to content

An open-source mahjong engine in Java.

License

Notifications You must be signed in to change notification settings

bonarc712/commonjong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

commonjong

An open-source mahjong engine in Java.

What are the goals of commonjong?

The idea with commonjong is to drive the backend of a game of mahjong entirely. The following points are included in the scope.

Game Engine

With Commonjong, the following will be possible.

  • Have a running game structure.
  • Make calls for a win, a triplet, a quad, or a run.
  • A hand can be recognized as ready or X from ready.
  • A hand can be scored as though it was played normally.

Rules

The MVP of Commonjong is introducing Riichi rules first, as these are the rules the coders are most familiar with, but we thrive to be able to have a structure that allows to make your own rules.

  • Riichi rules and winning conditions will come out of the box and cover WRC, Tenhou, Mahjong Soul and Montréal rules.
  • A framework will be implemented to allow for tweaks to rules.
  • We plan to eventually add other variants (eg. MCR, American, SBR).

API

  • The idea is to have a common API that will be usable by any outside application to drive mahjong games effectively and quickly.

Out of scope

  • Network connectivity
  • UI
  • Social interactions between players See the Related Projects section for info on the upcoming projects.

Would you like to contribute?

We use Slack as an internal communication tool and Trello as an issue tracker.

Join the Slack here : Link to Slack

Join the Trello board here : Link to Trello

Related Projects

Sanshoku will be the UI on which players will be able to play mahjong through the commonjong engine.

Sanman will be the game servers on which the players will connect for their mahjong games.

About

An open-source mahjong engine in Java.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages