The 1.0 version of this game was released in 2002, and every few months the author would make improvements until the version became more stable as it is now. The game itself isn't very complex, but what's interesting is the algorithm for initializing the tiles. Every time you start a new game, the positions of the 144 Mahjong tiles are randomly generated, but the algorithm still ensures that all the tiles can be uncovered. The code isn't very long, but I've looked at it several times and still haven't understood it. 😢