/libriichi

C++23 backend library for Riichi Mahjong games.

Primary LanguageC++

libriichi

C++20 backend library for Riichi Mahjong games.

Aims:

  • Nice to use
  • The game of mahjong is so complicated and each part interconnected that it's really not possible to make a library that is flexible and extensible in the way that would allow for super powers and things like that. So I'm happy I made this but it's not really going to be able to be an 'independent' library by the time it's integrated with a full game.
  • Fun to play

TODOs key (in order of priority):

  1. TODO-MVP: Critical to play a game of riichi mahjong.
  2. TODO-DEBT: Tech debt that it would be nice to find solutions for.
  3. TODO-RULES: Required for implementing rulesets other than a standard yonma.
  4. TODO-AI: Required for functioning AI. AI not usable until all TODO-AI cleared.
  5. TODO-QOL: Quality of life feature not necessary for a playable game.
  6. TODO-OPT: Optimisation opportunity that it would be nice to improve if possible.