The goal
Each puzzle names a product. Build a machine that makes nine of them and it counts. The board already holds the pieces you cannot do without: the product glyph, OUT, and one reagent glyph for each ingredient — IN·Pb, IN·Hg and so on. A reagent glyph spawns a fresh copy of its molecule whenever its cells are empty. The product glyph consumes a finished molecule laid on it just so: right atoms, right cells, right bonds. You can move and turn these glyphs, but you can never remove them.
Lead Amalgam with the reference machine loaded: the tray above, the board below. IN·Pb and IN·Hg feed one arm; OUT wants a lead bonded to a quicksilver.
Parts
Two kinds. Arms stand on a cell and reach out one, two or three cells. An arm has one gripper at its tip, or two, three or six spaced evenly around it — ARM, DUAL, TRI and HEX in the tray. Glyphs are markings on the floor: at the end of every cycle each one acts on the atoms resting on its cells — a bond glyph joins two atoms, an unbond glyph parts them, and so on. Every part has a price in gold. Each puzzle's tray offers only the glyphs its reagents can use, so a short tray is not a bug.
Placing parts
Drag a part from the tray onto the board. Drag it back to the tray to remove it. Click a part to select it; a selected part shows a handle. Drag the handle to aim an arm, drag it further out to lengthen the arm, or drag it around a glyph, reagent or product to rotate it. Drag empty board to pan, scroll to zoom. Select a glyph and a card appears at the board's top right telling you what the glyph does, cell by cell, and when it fires.
A selected arm. The small circle past its tip is the handle: drag it to aim or lengthen the arm.
The card for the bond glyph: its cells before and after it fires, and a note on what it needs.
Programming an arm
Every arm runs a tape: a row of instructions, one per cycle. Click an arm and its tape lights up below the board; a new arm's tape is a single wait. Click a cell of the tape, then pick an instruction from the SET OP palette, or press its key:
| Ggrab | every gripper closes on whatever rests at its cell. An atom brings its whole molecule along. |
| Drelease | every gripper opens; the cargo stays where it is. |
| ↻ ↺turn | the arm swings a sixth of a turn about its base, carrying its cargo. |
| ↷ ↶pivot | the cargo rotates a sixth of a turn about the gripper; the arm itself stays put. |
| ·wait | hold still for one cycle. |
| ↪repeat | do everything since the last repeat once more. |
When a tape reaches its end it starts over, forever, and every arm loops on its own: two arms with tapes of different lengths drift apart, so give arms that work together the same length (insert adds a wait cell, remove takes one out). »+ adds a delay block at the front of a tape. It runs once, on the first pass only, so an arm can start a beat late without changing its rhythm.
The tape panel with ARM a0 selected. The cursor sits on the first cell; whatever you pick from SET OP goes there.
Testing
Press ▶ Test. The verifier runs your machine one cycle at a time: Pause holds it, Step advances a single cycle, and the speed buttons set the pace (MAX skips the animation). Two atoms sweeping through each other, a molecule pulled two ways, an arm grabbing its own base — any of these is a fault. The run stops and a red stamp says what went wrong and on which cycle. Nine products, and the stamp reads GREAT WORK! instead. ✎ Edit takes you back to the board.
A test paused at cycle 4. One lead is parked on the bond glyph and the arm holds the next; the HUD counts cycles, cost, area and products.
Nine of nine. The stamp carries the score.
Scoring
Three numbers. COST is the gold you spent on parts. CYCLES is the cycle on which the ninth product was made. AREA is every cell anything ever touched, plus every glyph cell. SUM = COST + CYCLES + AREA, and lower is better. The leaderboard ranks by SUM alone, so spend gold to save cycles, or the other way round — whichever comes out smaller.
Sharing
A solution is a short code. Copy code puts yours on the clipboard; paste one into the box and press Import to load it. Once a test ends in GREAT WORK!, Submit seals the solution on-chain under your name and its own, score and all.