Every mahjong engine, read side by side.
Who built it, which rules it plays, how it thinks, and how strong it really is. From Tenhou 10-dan research bots to the open-source models you can run tonight.
What an engine sees
Riichi · East 2 · Turn 9Illustrative policy output, not taken from a specific engine. Tap a tile to see its weight.
Coverage by rule set
Engine research is lopsided. Riichi has a deep bench; most other tables have barely been touched.
Japanese Riichi
7 engines · 2 envsChinese Official
Botzone ladderHong Kong
Not yet cataloguedTaiwanese 16-tile
Not yet cataloguedAmerican (NMJL)
Not yet cataloguedIndian
Not yet cataloguedThe engines
Strength figures are as reported by each project. Click through for papers, repos and match logs.
Suphx
LuckyJ
NAGA
Mortal
Kanachan
Akochan
Bakuuchi
Protocols & environments
The plumbing engines plug into: message formats for live play, simulators for training, and ladders for ranking.
mjai
JSON-over-socket protocol for riichi bots. Most open-source engines and log reviewers speak it.
{"type":"dahai","actor":0,"pai":"P","tsumogiri":false}
Mjx
Fast riichi simulator built for reinforcement learning, with Tenhou-compatible rules and mjai interop.
Botzone
Peking University's bot arena. Hosts Chinese Standard Mahjong matches and past IJCAI competitions.
RLCard
Card and tile game toolkit with a simplified mahjong environment. A common starting point for coursework.
How strength is measured
Mahjong is noisy. A hundred hanchan prove little, so we note the ladder, the sample size and who ran it.
Tenhou dan
Rank earned in Tenhou's Tokujou or Houou room. 10-dan is the ceiling only a handful of humans and bots have reached.
Stable dan & R
Estimated long-run rank from placement rates. Better than peak dan because it washes out lucky runs.
Duplicate matches
Engines replay the same walls from every seat. Cuts variance enough to separate close bots in thousands of games, not millions.
Built an engine?
Hong Kong, Taiwanese, American and Indian tables are wide open. Send us the repo, the rule set and a match log, and we'll write it up.