I chose 21 matches in nevet, the bot that accompanies bytecode.news, deliberately. It's a command, triggered with "21 matches," and it wants you to take between one and three matches every turn; the bot does the same, and the loser is determined by whoever has to take the last match on the board. It's fundamentally simple: the strategy is for the bot to make sure that four matches are removed every turn (so 4-"player choice" every round) and, done correctly, the bot can never lose.
It's not exactly an entrancing game. But it's very effective here.
"21 Matches" was a deliberate design choice. Like "Hello World" for compilers, 21 Matches serves as a "gamer Hello World" - a pedagogical stepping stone that exercises the full programming cycle without taxonomic complexity
The game encompasses fundamental programming concepts: state management across multiple turns, input handling (player choices), output generation (computer responses), loops, and exit conditions. Its simplicity is intentional - the computer cannot lose if programmed correctly, which itself becomes a validation mechanism.
For nevet specifically, 21 Matches proved critical architectural patterns. While other bot operations had already validated basic call-and-response I/O mechanisms, they lacked persistent state. Implementing 21 Matches required building state storage that allowed operations to access historical context - essentially proving out the stateful operation model that subsequent features would require. The game's trivial winning condition (the computer always wins with correct logic) made it an ideal testbed: complex enough to require real state management, simple enough that bugs would be immediately obvious.