Game-Mahjong Mahjong, the four-player tile game, under the World Mahjong Organization's competition rules (2006): 144 tiles including the eight flowers, chow, pung and kong claims, robbing the kong, the eighty-one scoring elements in twelve grades, and a minimum of eight points to win. The engine prints nothing, reads nothing and never calls rand. A refused move comes back as a flagged object rather than an exception, a game serialises as its seed and its move log, and a log that records something the rules would not have produced is refused on replay. The tile table is C, published perl-free in include/mahjong_abi.h so the decomposer and the shanten, which a bot walks for every candidate discard, read the one table the Perl side reads. There is no pure-Perl fallback, so a working C compiler is needed to install it; Makefile.PL says so in one sentence when there is none. This is version 0.01, phase 01 of the plan: the tiles, the notation and the error object. The wall, the hand, the decomposer, the scorer, the rules, the bot and the terminal follow. INSTALLATION perl Makefile.PL make make test make install LICENSE AND COPYRIGHT This software is Copyright (c) 2026 by LNATION . This is free software, licensed under the Artistic License 2.0.