An open-source mahjong engine in Java.
The idea with commonjong is to drive the backend of a game of mahjong entirely. The following points are included in the scope.
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.
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).
- The idea is to have a common API that will be usable by any outside application to drive mahjong games effectively and quickly.
- Network connectivity
- UI
- Social interactions between players
See the
Related Projects
section for info on the upcoming projects.
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
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.