Cracking the mixed-base counting machine
What happens when each column counts in a different base, why carrying is the key to the whole puzzle, and how to plan a sequence of lever pulls that reaches the target reading with nothing wasted.

A counter that does not count in tens
Most people count in base ten without thinking about it. Each column holds the digits zero through nine, and when it passes nine it rolls back to zero and adds one to the column on its left. Tally takes that idea and scrambles it. Every wheel on the machine has its own base. One might count in threes, the next in fours, the next in fives. When a wheel passes its limit it drops back and carries one into its neighbour, but that neighbour might wrap at a completely different number.
This is not an invented oddity. Hours, minutes and seconds already work this way. Sixty seconds carry into sixty minutes, which carry into twenty-four hours. Old British money did the same with twelve pence to a shilling and twenty shillings to a pound. Tally turns that style of arithmetic into a puzzle.
What you see on the screen
The top row shows the wheels. Each one displays three things: its current reading, the target reading printed underneath, and the base it counts in. A wheel in base three can show 0, 1 or 2. The moment it would reach 3, it drops to 0 and sends a carry leftward.
Below the wheels sit the levers. Each lever has a label that tells you exactly what it does. A lever marked +2 on wheel 3 will always add two to the third wheel. It never changes which wheel it acts on or how much it adds. What does change is the side effect. If wheel 3 is already at 2 in base four, adding 2 takes it to 4, which wraps to 0 and pushes 1 into wheel 2. The same lever on the same wheel does something very different when the wheel is at 0.
The stats bar shows the current reading across all wheels, how many pulls you have left, and the fewest pulls needed. That last number is not a guess. The game searches every possible sequence of lever pulls to find the true shortest path, so it is exact.
The carry is everything
Many puzzles have no lever that acts directly on the leftmost wheel. The only way to change it is to overflow the wheel next to it until a carry spills over. That carry is not an accident to avoid. It is your main tool.
Think of it this way. A base-three wheel with a +1 lever needs three pulls to complete one full cycle. After those three pulls the wheel is back where it started, but it has quietly sent one carry to the left. If you need to raise a wheel that has no lever of its own, you must pull a neighbour's lever enough times to generate the right number of carries.
The order in which you pull the levers matters enormously. Because each carry depends on where a wheel stands at the time, the same set of levers pulled in a different order will land on a different reading. There is no shortcut that adds up the pulls and divides.
Planning a solution step by step
Start by comparing the current reading with the target. Look at the leftmost wheel first. If it needs to go up by one and it has no lever, count how many pulls on the next wheel will generate one carry. Work out whether that sequence leaves the second wheel at the right number or whether you will need to adjust it afterward.
Next look at the rightmost wheel. It is the only one that nothing spills into, so whatever you do to it stays put. That makes it the easiest to set, but you should set it last, because earlier lever pulls might change it as a side effect.
A useful rule of thumb: set the wheels from the left, accepting that you will overshoot on the right, and then use the right-hand levers for fine adjustment at the end.
Overshooting on purpose
Going past the number you want is not always a mistake. If the target on a base-four wheel is 1 and the wheel currently reads 3, adding 2 takes it to 5, which wraps to 1 and sends a carry. You hit the target and moved the left wheel up at the same time. That kind of overshoot is often the only route, and recognising it early saves several pulls.
The same logic works in reverse for catching an unwanted carry. If your right-hand wheel is already correct but you need more carries from it, pulling its lever will break the reading. But if the number of pulls happens to be a full cycle, the wheel comes back to where it was. Three pulls of a +1 lever on a base-three wheel leave it unchanged and deliver one carry. That free round trip is the key to many solutions.
Mistakes that cost extra pulls
- Pulling levers at random and hoping to stumble onto the answer. The budget is only a few pulls above the minimum, so there is no room for guessing.
- Ignoring the bases. Adding 2 to a base-three wheel is not the same as adding 2 to a base-six wheel. The first one will overflow on the very next pull. The second has plenty of room.
- Setting the right-hand wheel first. It is the most tempting because nothing spills into it, but every subsequent lever pull on other wheels might send a carry into it and undo your work.
- Forgetting that a carry off the left-hand end is lost forever. If the leftmost wheel overflows, that carry disappears. There is no hidden column to catch it.
- Not using two levers on the same wheel together. When two levers feed one wheel, their difference gives you a fine adjustment. If one adds 1 and the other adds 3, pulling the first once and the second once adds 4 in total, which on a base-five wheel is the same as subtracting 1.
The three machine sizes
Small gives you two wheels and three levers. The total number of possible readings is the product of the two bases, often twelve or fifteen, and the minimum solution is usually three to five pulls. It is a good place to learn how the carry works without too many moving parts.
Medium adds a third wheel and a fourth lever. The reading space jumps into the hundreds, and the minimum is typically four to eight pulls. The extra wheel means carries can cascade, so a single lever pull can move two wheels at once.
Large has four wheels and four levers. The reading space can reach several thousand, carries cascade across three boundaries, and the minimum is often eight to twelve pulls. Planning ahead becomes essential because the budget leaves very little margin.
A worked example
Suppose you have two wheels, base 3 and base 4, reading 0 and 0. The target is 1 and 2. You have a lever that adds 1 to wheel 2 and a lever that adds 2 to wheel 2. Adding 2 to wheel 2 takes it to 2, which is the target for that wheel. Now you need wheel 1 to read 1. There is no lever for wheel 1, so you must overflow wheel 2. Pull the +2 lever again: wheel 2 goes from 2 to 4, which wraps to 0 and carries 1 into wheel 1. Wheel 1 now reads 1 but wheel 2 has dropped to 0. Pull the +2 lever once more: wheel 2 goes from 0 to 2. The reading is now 1, 2. Three pulls in all.
If you had started by trying to set wheel 1 first, you would have needed three pulls of the +1 lever just to generate one carry, and then two more to fix wheel 2. That is five pulls for the same result. The order made the difference.
When two levers feed the same wheel
Some machines have two levers that both act on the same wheel, with different amounts. A +1 and a +3 on a base-five wheel give you fine control. Pulling the +1 lever once adds one. Pulling the +3 lever once adds three. Together in the same turn they add four, which is one short of the base. On a base-five wheel, adding four is the same as subtracting one because one more pull would wrap past five and land on zero. That near-subtraction is often the only way to bring a wheel down without resetting it.
When the two amounts share no common factor with the base, you can reach any reading on that wheel given enough pulls. That makes a machine with two levers on one wheel more flexible than one with a single lever, even though the budget is tighter.
Nothing leaves your browser
The puzzle is generated and solved entirely on your own machine. No reading, no lever pull, and no score is ever sent to a server. Your best result is kept in local storage inside this browser and will not follow you to another device. Once the page has loaded you can play offline.
