Great Work!Solution Editor

ARMS
ARM20g
DUAL24g
TRI26g
HEX30g
GLYPHS
BOND10g
DEBOND15g
CALCIFY10g
DUPE20g
PROJECT20g
PURIFY20g
ANIMA20g
DISPOSE0g
drag parts onto the board · drag back here to remove
CYCLE 0 COST AREA SUM PRODUCT 0/9
ready
On-chain record
loading…

How to Play

the whole game in a couple of minutes, then every control the editor answers to

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.

The tray above the board, with the reference machine for Lead Amalgam loaded: one arm, one bond glyph, the reagent glyphs IN·Pb and IN·Hg, and the product glyph OUT
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 on the board with the round handle at its tip
A selected arm. The small circle past its tip is the handle: drag it to aim or lengthen the arm.
The tutorial card for the bond glyph, pinned to the board's top right
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:

Ggrabevery gripper closes on whatever rests at its cell. An atom brings its whole molecule along.
Dreleaseevery gripper opens; the cargo stays where it is.
↻ ↺turnthe arm swings a sixth of a turn about its base, carrying its cargo.
↷ ↶pivotthe cargo rotates a sixth of a turn about the gripper; the arm itself stays put.
·waithold still for one cycle.
repeatdo 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 SET OP palette above, the arm's tape of sixteen cells below
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: lead atoms on the board, the arm holding one, and the HUD below reading CYCLE 4, COST 30g, AREA 7, PRODUCT 0/9
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.
The GREAT WORK! stamp over the board: 9 of 9, 30g + 142c + 7a = SUM 179
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.

Controls

the board, the tapes, the run — everything the editor answers to

Board

drag a tray partplace it on the board. Each puzzle's tray offers only the glyphs its reagents can use.
drag a piece to the trayremove it. Reagents and the product are the puzzle's fixed pool: they move, they never vanish.
click a pieceselect it. Click the same spot again to cycle through everything stacked under the cursor.
the handleaims a selected arm, lengthens it (drag the handle out to 1, 2 or 3 cells), and rotates a glyph, reagent or product.
[ ]rotate the selection a sixth-turn either way.
Delete / Backspaceremove the selection (or the box-selected tape cells).
Escclear the selection.
drag empty boardpan the view.
drop an arm on a shaftmount it on that arm: +10g. Dropped at the tip it replaces the grabber (−5g); the parent then turns only.
ctrl+z / ctrl+shift+zundo / redo (also ctrl+y).

Tapes

click a cellput the cursor there; the SET OP palette or its key writes that cell.
g dgrab · release
q wturn clockwise · turn counter-clockwise
e rpivot clockwise · pivot counter-clockwise (the cargo turns about the gripper)
t ywait · repeat the run since the last repeat
insert / removeadd a wait cell at the cursor, or take the cursor's cell out (the loop lengthens or shortens).
»+ / »−add or drop a first-pass delay block, so an arm starts its loop later than the others.
drag on the marginbox-select cells; drag selected cells to move them to another slot or row.

Run and share

▶ Testrun the machine under the verifier's eye; ✎ Edit returns to the board.
Pause · Step · speedhold the run, advance one cycle, or change the pace (MAX skips the animation).
Copy code · Importa solution is a short code, puzzle.data: copy yours, or paste one to load it.
GIF linkafter a test, a link that plays the run as an animated GIF.
Submitseal a verified solution on-chain under your name and its own.

About

Hello! This is a free game based on Opus Magnum by Zachtronics. The gameplay will be very familiar, but there are a few changes:

  • Arms can move other arms by grabbing their base
  • Arms can be mounted to other arms in the editor. This costs 10 gold, or 5 if it replaces the grabber.
  • There are no tracks or pistons
  • Some gold costs are different — namely bi-arms and tri-arms are slightly cheaper.
  • You need to make 9 products instead of 6
  • The leaderboard only cares about Sum. Since you need 9 products, Sum in this game is more weighted towards cycles.

This game is currently in playtesting. I am not very good at Opus Magnum, tried to make something thought provoking and familiar, let me know what you think.

— agrippa

Submit solution

0 / 32 bytes
0 / 24 bytes