History
Built in 1978 by MIT students Danny Hillis and Brian Silverman, the Tinkertoy Computer is a legendary mechanical marvel that plays a perfect, unbeatable game of Tic-Tac-Toe without a single microprocessor.
Rather than calculating moves on the fly, the machine functions as a massive, physical lookup table. The creators compressed every possible game state down to 48 unique configurations, which were hardcoded into the framework as "memory spindles."
To play, a human inputs the current board state into a mechanical "read head" and turns a hand crank to power the machine. As the head descends, it physically scans the spindles. When its fingers find the exact structural match for the board state, the mechanism drops into place, triggering a linkage that points to the computer's winning counter-move. It is a brilliant piece of engineering, but it is also massive.

Source: Original Tinkertoy Computer / computerhistory.org
Introduction
My machine, which I call the "XXO Master," solves the exact same problem but at a fraction of the size. While the Tinkertoy computer is a massive 130×122×89 cm, the XXO Master fits on a desk at just 20×12×12 cm—and uses a different mechanical architecture to look up the best move.
The rules of the machine are simple: The human ('X') always goes first, and the machine ('O') will always reply. The machine never makes mistakes—it will never lose, and it will always seize an opportunity to win.
The Machine Design

The core of the machine consists of 9 horizontal rods, each equipped with a gear at the front and back. These gears ride on a rack (a rack-and-pinion system), ensuring that when the user shifts a rod to the left or right, it translates perfectly parallel to its original position without binding (see my Project Log, where I describe why a simple linear rail didn't work out)

These 9 rods serve two simultaneous functions: Display and Logic.
1. The Display (Indicator Plates)
At the front of the machine, the rods thread through small indicator plates printed with an 'X' on the left side, an 'O' on the right side, and a blank space in the center. These plates ride on small upper and lower rails. The front frame of the machine acts as a mask, featuring small square windows so you can only see one section of the plate at a time. When you shift a rod to the left or right, it physically moves the plate, revealing the 'X' or 'O' piece you just played on that specific field.

2. The Logic (Mechanical Punch Cards)
Internally, the rods pass through a stack of logic cards. Each card is divided into 9 fields corresponding to the board, and each field features a specific pattern of slots. At the start of a game, all rods rest in a horizontal baseline slot. Extending straight up from this baseline is a vertical slot, positioned either on the left, right, or in the center.
When the human makes a move, the rod positions shift. When the current board state (represented by the physical alignment of all 9 rods) perfectly matches the slot pattern on a specific logic card, gravity drops that specific card down. Finally, the dropped card is pushed to the left by the user via a "release handle." This horizontal motion forces one specific rod to slide to the left alongside it, shifting its front indicator plate to display an 'O'. The machine has just physically calculated and executed its reply move.
The following animation illustrates how a user enters their first move in the top right corner, how the logic card drops once aligned, and how the reply move is executed:

Note: The animation shows only the core concept but does not show the final design of the cards!
The Card Design
First, I wrote a Python script to generate the entire Tic-Tac-Toe game tree using a simple Minimax algorithm. This yielded 447 unique board states that require a reply from 'O' (excluding final states, win states, etc.). I optimized the script further: when there are multiple...
Read more »
Alex Krasno










Owen Trueblood
SAKURAI, atsushi
Jonathan Good
NandFarm Creator
I haven’t fully thought this through, but it seems to me like the hole in the cards for wildcard “*”, shaped like
XXXX
XX
XXX
could actually be shaped like
XXX
XX
XXX
(the slot at the top doesn’t need to extend all the way to the right, there can’t be a rod there that mustn’t be moved, otherwise the card would not have dropped)
and that would help with the resetting, because the higher slope on the slanted edge would help push misaligned rods into place.
I found it interesting that the cards appear to drop in a nice parallel movement – I would have expected that if a card is only supported by say the top left rod (matches all the other 8), then it would sag a bit at the right edge, tilt, and wedge itself.