Tallyworks › rules

Tallyworks: rules

Every day, the same workshop for everyone. Sequences of numbers enter on belts from the left; you place stations so that exactly the requested sequences come out on the right. A correct machine is scored on three measures: cost, cycles and area; some workshops also set a constraint.

The grid

The daily workshop is a grid of 6 columns on 3 belts, A, B and C from top to bottom; the big workshop of the week has 8 columns on 4 belts. A cell is named by its belt and its column: B3. A cell holds at most one station; a cell without a station simply moves the number on.

Each workshop allows only some of the stations, listed on its sheet: + − × only on Monday, then a little more each day (Fast from Friday); Sunday and the big workshop allow them all.

The numbers of a belt enter on its column 1, one per cycle, from the cycle given. They move one column per cycle; at the end, a number is delivered to its belt's output. No number moves back. Each output expects an exact sequence, in order; an empty output means nothing must come out there.

The stations

SignStationCostCellsSettingEffect
+n Plus 1 1 n from 1 to 9 adds n to the number; over 999: jam
−n Minus 1 1 n from 1 to 9 takes n from the number; below 0: jam
×n Times 2 1 n from 2 to 9 multiplies the number by n; over 999: jam
÷n Divide 2 1 n from 2 to 9 divides the number by n if the division is exact, otherwise jam
↗ Up 1 1 none on the next step, the number moves one column and goes up one belt
↘ Down 1 1 none on the next step, the number moves one column and goes down one belt
⇅ Sort 2 1 direction of the evens and direction of the odds (↗, →, ↘), different sends the even numbers one way and the odd ones another (0 counts as even)
◷ Waiting for 1 1 none the number stays one more cycle on the cell; another number can arrive next to it
» Fast 2 1 none on the next step, the number moves two columns on the same belt; the skipped cell is not touched
⊕ Merge 3 2 partner cell above or below if a number arrives on the partner cell on the same cycle, it is added to the station's number and disappears
⇉ Copy 3 2 partner cell above or below a double of the number appears on the partner cell, on the same cycle

Merge and Copy take two cells of the same column: the station's cell, where the kept number stays, and its partner cell, just above or below, which holds no station (sign ┊ and an arrow towards its station). Placing a station on a cell that already holds one replaces it.

A cycle

At each cycle, in this order:

  1. Moves. Each number moves to the cell on its right, or diagonally if it was marked by Up, Down or Sort, or two cells further if it was marked Fast. A number on Wait stays one cycle. Past the last column, the number is delivered to the output of the belt it arrives on.
  2. Inputs. The numbers due at this cycle appear on column 1 of their belt.
  3. Copies. A number arriving on a Copy makes its double appear on the partner cell.
  4. Collisions. Two numbers arriving on the same cell, or delivered to the same output, jam the machine. On Wait, a waiting number and an arriving number can share the cell.
  5. Merges. If the cell of a Merge and its partner cell each receive a number, they add up on the station's cell.
  6. Simple stations. Each number that arrived on a station this cycle is computed or marked for its next step. A waiting number is not processed twice.

The machine stops when all the numbers have entered and none is left on the grid, or at the first jam.

The measures

Cost
the sum of the costs of the stations placed.
Cycles
the number of the cycle of the last delivery.
Area
the number of cells taken; Merge and Copy take two.
Sum
cost + cycles + area of the same run: today's ranking goes to the smallest.

The par is the generator's machine, the one that proves the workshop has a solution: beat it. Your records are kept measure by measure, each from your best run for that measure.

Some workshops set a constraint: a cost, cycles, an area or a sum at most. That is the case of T03, T10 and T12 in the tutorial, and of the members' workshops whose author constrains them; the sheet says so. A correct machine that exceeds it is “solved, but over the constraint” and does not count: no record, no score.

Jams and wrong outputs

CodeWhenExample
B1a number goes off the top or bottom edgeThe 12 goes off the edge at A4 on cycle 5.
C1two numbers arrive on the same cell on the same cycleCollision at B2 on cycle 2: 14 and 9.
C2two numbers are delivered to the same output on the same cycleTwo numbers at output C on cycle 9: 21 and 30.
V1a result goes below 04 − 7 at A3 on cycle 3: negative result.
V2a result goes over 999125 × 9 at B2 on cycle 4: over 999.
V3a division is not exact15 ÷ 2 at A2 on cycle 3: inexact division.
S1an output receives a number other than the expected oneOutput A, 2nd number: 21 received, 20 expected.
S2an output receives one number too manyOutput B: one number too many (7).
S3an output is missing numbersOutput C: 2 numbers missing.

A jam stops the machine. A wrong output does not: the trace goes to the end to help you.

Modes and points

Daily workshop
The same for everyone, from midnight to midnight (Paris time), unlimited runs: 20 a minute and 400 a day at most. Score: 1,000 × par sum ÷ your best sum, rounded down, 1,500 at most; 0 without a solve (par 40 and sum 52: 769). Without an account, your first action creates a guest profile for you, ranked like the members.
Big workshop
An 8 × 4 grid for the whole week, from Monday to Sunday midnight. Score: 2,000 × par sum ÷ your best sum, rounded the same way, 3,000 at most.
Week and league
The week's points add up the daily scores and the big workshop's; your first score of the week puts you in a league group of your tier (up to 30 players, 6 tiers). The week closes on Monday at 00:10. A group of fewer than 5 players is first merged with another group of its tier or of a neighbouring tier. Then, in each group of at least 5 players, one player in 6 goes up a tier (rounded, at least one) and, from 10 players on, one in 6 goes down; the top tier does not go up, the bottom one does not go down. The first gets 50 credits if they have points and a member account (a guest is ranked, without a prize). On equal points, whoever reached them first goes ahead.
Season
Each month, the same scores make the season; a big workshop counts for the month of its Monday. Prizes: 150 credits for 1st, 100 for 2nd, 60 for 3rd, 25 for 4th to 10th, by rank among the players who solved at least 8 workshops in the month (big workshop included), excluding archived or blocked accounts and guests (a guest is ranked, without a prize; the next player takes their rank). A prize needs points: at 0 points nothing is paid, even with those workshops solved, and the place passes to nobody. On equal points, whoever reached them first goes ahead. They are paid when the last big workshop of the month closes, up to six days after the end of the month.
Blitz
One workshop a day for every player, a single run in three minutes, counted even if it fails; a daily ranking (solved first, then the smallest sum, then the fastest) and a “Blitz of the month” title (the most Blitz solved, then the best total), no credits nor weekly points. Today's Blitz
Duel
Started from the site's duels, between members: the same workshop for two, ten minutes each within 24 hours of the acceptance; the smaller best sum wins, on a tie the one reached fastest after one's own “Start”. Same second, or no solve on either side: a draw, stakes returned. Whoever has not started within 24 hours loses by forfeit; if nobody started, the duel is cancelled. Like every duel of the site, it can carry a stake and counts for the duel Elo.
Express
A duel of questions, also started from the site's duels: 8 questions of 25 seconds, the same for both. Three numbers go in, three come out: which of the four machines gives them? Score: 1,000 × right answers ÷ seconds, the highest wins.
Members' workshops
Proposed by the members and reviewed before they are published, each with its own ranking; the par is its creator's machine, who is not ranked on it. No weekly or season points. Every player plays them; to propose one, you need a member account, 5 daily workshops solved, 3 waiting for review at most and one proposal a day.
Tutorial
Twelve workshops to discover the stations and a few ideas, one station or idea at a time, with hints, unranked.

Examples

Example 1: An affine output

Four numbers enter on belt A, four must come out: 3 gives 10, 8 gives 20, 5 gives 14, 12 gives 28. Each output is twice the input plus 4, that is 2 × (x + 2).

BeltInputsExpected output
A 3 · 8 · 5 · 12 (from cycle 1) 10 · 20 · 14 · 28
B empty nothing
C empty nothing

Machine

Plus 2 at A1, then Times 2 at A2.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, Plus 2 Belt A, column 2, Times 2 Belt A, column 3, empty Belt A, column 4, empty Belt A, column 5, empty Belt A, column 6, empty output A
B Belt B, column 1, empty Belt B, column 2, empty Belt B, column 3, empty Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 3 · cycles 10 · area 2 · sum 15

See how it runs, cycle by cycle
Cycle 1: 3 enters belt A
Belt123456delivered
A+2 5 ×2
B
C
Cycle 2: 8 enters belt A
Belt123456delivered
A+2 10 ×2 10
B
C
Cycle 3: 5 enters belt A
Belt123456delivered
A+2 7 ×2 20 10
B
C
Cycle 4: 12 enters belt A
Belt123456delivered
A+2 14 ×2 14 20 10
B
C
Cycle 5: the numbers move on
Belt123456delivered
A+2 ×2 28 14 20 10
B
C
Cycle 6: the numbers move on
Belt123456delivered
A+2 ×2 28 14 20 10
B
C
Cycle 7: 10 delivered at A
Belt123456delivered
A+2 ×2 28 14 20 10
B
C
Cycle 8: 20 delivered at A
Belt123456delivered
A+2 ×2 28 14 20
B
C
Cycle 9: 14 delivered at A
Belt123456delivered
A+2 ×2 28 14
B
C
Cycle 10: 28 delivered at A
Belt123456delivered
A+2 ×2 28
B
C

Fast variant

The same, with Fast at A3: one cycle less, but more expensive.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, Plus 2 Belt A, column 2, Times 2 Belt A, column 3, Fast Belt A, column 4, empty Belt A, column 5, empty Belt A, column 6, empty output A
B Belt B, column 1, empty Belt B, column 2, empty Belt B, column 3, empty Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 5 · cycles 9 · area 3 · sum 17

Very fast variant

Fast at A3 and at A5: the shortest in cycles, the most expensive in sum.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, Plus 2 Belt A, column 2, Times 2 Belt A, column 3, Fast Belt A, column 4, empty Belt A, column 5, Fast Belt A, column 6, empty output A
B Belt B, column 1, empty Belt B, column 2, empty Belt B, column 3, empty Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 7 · cycles 8 · area 4 · sum 19

Example 2: Merge: Wait against Fast

Belt B starts one cycle after belt A. Each output of B is the sum of the two numbers of the same rank; nothing must come out of A.

BeltInputsExpected output
A 4 · 7 · 2 · 9 (from cycle 1) nothing
B 10 · 20 · 30 · 40 (from cycle 2) 14 · 27 · 32 · 49
C empty nothing

Machine 1

Wait at A1 delays A by one cycle; Merge at B2, partner above (A2). Best in cost.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, Waiting for Belt A, column 2, partner cell of the merge at B2 Belt A, column 3, empty Belt A, column 4, empty Belt A, column 5, empty Belt A, column 6, empty output A
B Belt B, column 1, empty Belt B, column 2, Merge, partner above Belt B, column 3, empty Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 4 · cycles 11 · area 3 · sum 18

See how it runs, cycle by cycle
Cycle 1: 4 enters belt A
Belt123456delivered
A◷ 4 ┊↓
B ⊕↑
C
Cycle 2: 7 enters belt A ; 10 enters belt B
Belt123456delivered
A◷ 4 waiting 7 ┊↓
B 10 ⊕↑
C
Cycle 3: 2 enters belt A ; 20 enters belt B ; 10 + 4 = 14 at B2
Belt123456delivered
A◷ 7 waiting 2 ┊↓
B 20 ⊕↑ 14
C
Cycle 4: 9 enters belt A ; 30 enters belt B ; 20 + 7 = 27 at B2
Belt123456delivered
A◷ 2 waiting 9 ┊↓
B 30 ⊕↑ 27 14
C
Cycle 5: 40 enters belt B ; 30 + 2 = 32 at B2
Belt123456delivered
A◷ 9 waiting ┊↓
B 40 ⊕↑ 32 27 14
C
Cycle 6: 40 + 9 = 49 at B2
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49 32 27 14
C
Cycle 7: the numbers move on
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49 32 27 14
C
Cycle 8: 14 delivered at B
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49 32 27 14
C
Cycle 9: 27 delivered at B
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49 32 27
C
Cycle 10: 32 delivered at B
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49 32
C
Cycle 11: 49 delivered at B
Belt123456delivered
A◷ ┊↓
B ⊕↑ 49
C

Machine 2

Fast at B1 catches up with A; Merge at B3, partner above (A3). Best in cycles, same sum.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, empty Belt A, column 2, empty Belt A, column 3, partner cell of the merge at B3 Belt A, column 4, empty Belt A, column 5, empty Belt A, column 6, empty output A
B Belt B, column 1, Fast Belt B, column 2, empty Belt B, column 3, Merge, partner above Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 5 · cycles 10 · area 3 · sum 18

Example 3: Sort evens and odds

The even numbers, divided by 2, come out at A; the odd ones, tripled, come out at B.

BeltInputsExpected output
A 6 · 3 · 10 · 7 (from cycle 1) 3 · 5
B empty 9 · 21
C empty nothing

Machine

Sort at A1 (evens straight on, odds downwards), Divide 2 at A2, Times 3 at B2.

Belt 1 2 3 4 5 6 Output
A Belt A, column 1, Sort, evens →, odds ↘ Belt A, column 2, Divide 2 Belt A, column 3, empty Belt A, column 4, empty Belt A, column 5, empty Belt A, column 6, empty output A
B Belt B, column 1, empty Belt B, column 2, Times 3 Belt B, column 3, empty Belt B, column 4, empty Belt B, column 5, empty Belt B, column 6, empty output B
C Belt C, column 1, empty Belt C, column 2, empty Belt C, column 3, empty Belt C, column 4, empty Belt C, column 5, empty Belt C, column 6, empty output C

Solved: cost 6 · cycles 10 · area 3 · sum 19

See how it runs, cycle by cycle
Cycle 1: 6 enters belt A
Belt123456delivered
A⇅ 6 ÷2
B ×3
C
Cycle 2: 3 enters belt A
Belt123456delivered
A⇅ 3 ÷2 3
B ×3
C
Cycle 3: 10 enters belt A
Belt123456delivered
A⇅ 10 ÷2 3
B ×3 9
C
Cycle 4: 7 enters belt A
Belt123456delivered
A⇅ 7 ÷2 5 3
B ×3 9
C
Cycle 5: the numbers move on
Belt123456delivered
A⇅ ÷2 5 3
B ×3 21 9
C
Cycle 6: the numbers move on
Belt123456delivered
A⇅ ÷2 5 3
B ×3 21 9
C
Cycle 7: 3 delivered at A
Belt123456delivered
A⇅ ÷2 5 3
B ×3 21 9
C
Cycle 8: 9 delivered at B
Belt123456delivered
A⇅ ÷2 5
B ×3 21 9
C
Cycle 9: 5 delivered at A
Belt123456delivered
A⇅ ÷2 5
B ×3 21
C
Cycle 10: 21 delivered at B
Belt123456delivered
A⇅ ÷2
B ×3 21
C

Back to Tallyworks