Published 2026-09-10
REELS had 51 charms and 28 of them said times something. The machine itself, the thing the game is named after, was not a place you could build. Here is the day the spin got a vocabulary, what the six hands are, and why the blank reel stopped being dead weight.
Three reels drop, your weapons fire on what they land on, and a toll comes due every sixty seconds. That is REELS. For the first two weeks of development the reels did the one thing a slot machine is supposed to do, which is produce symbols, and nothing else. They were not a place you could make decisions.
On 14 August 2026 I opened the charm file, counted, and wrote the number in the commit message: 51 charms, and about forty of them said some version of times 1.25 damage. The three masteries and the three weapon combos were the only things in the roster that changed a behaviour. Everything else was a percentage wearing a costume.
The worse problem was one line below that. The machine, the object the game is named after, was not a build surface at all. Three fixed reels, each symbol resolved on its own, and the blank windows were dead. This is the commit that fixed it, and the parts of it I would defend in an argument.
The old resolver counted symbols and let each one act separately. Star, star, diamond meant eight projectiles plus one small shockwave: two effects that had nothing to say to each other. Star, diamond, skull, one of each, was the worst outcome the machine could produce. Three effects, all at the bottom rung, all weak. A player who had drafted across two families was being punished for it, and the punishment was invisible, because the screen just showed three symbols and a shrug.
So the spin got a vocabulary. Six hands, read off the window before anything resolves:
The important property is that hands are additive. Per-symbol resolution is untouched, so not one damage number in the game moved when this shipped. A hand only raises the floor rung applied to every symbol present. Star at rung one is 4 projectiles at 14 damage, rung two is 8 at 18, rung three is 12 at 24. Diamond's shockwave radius is 90, 130 and 185. A hand does not touch those tables, it just says which row you are entitled to.
The Rainbow raises the floor rung to two. Three effects, all at their middle tier, at once. That single line turns the worst result in the game into the payoff of a deliberate build: you can draft to align nothing, and the hybrid build stops being a mistake. It gets its own banner and its own ceremony, because a hand you built toward should announce itself.
Two hands carry a banner and the other four do not. Shouting MISMATCHED at you every three seconds is noise, not information.
The Rainbow is deliberately not counted as a jackpot. Fifteen cumulative jackpots unlock a machine, and inflating that counter with a hand that is not a triple would be a lie told by the progression screen.
Then there is The Prism, a legendary charm: the Rainbow counts as a triple of *every* symbol. Three triples off one spin. Two details there took longer than the feature. The banner has to stay on THE RAINBOW, because the loop fires per symbol and the last symbol's name would have overwritten it. And the spin still counts as one jackpot, not three, for the same reason as above. The code has a flag whose only job is that honesty.
A reel comes up blank 8 percent of the time on the default machine. Before this commit, that was simply a spin you did not get. Nothing happened, the toll clock kept running, and you looked at an empty window.
Now every blank reel fills a gauge, and when the gauge tops out the machine owes you a spin: the next one is an armed jackpot. Six blank reels do it. It is counted internally in half notches rather than notches, and that is not decoration: it lets a hammer, one of the rewirings the game offers at floors 3, 6 and 9, change the exchange rate without touching the display. The Blank That Pays hands you 30 souls per blank immediately and halves the fill rate, so twelve blanks arm the jackpot instead of six. Cash now against a jackpot later. The heads up display shows six pips either way.
The consequence I did not expect is that this gave four machines an identity they did not have. The Feverish One spins every 2.2 seconds, equalises the symbol weights so there is no safe family to lean on, and stalls at roughly 14 percent per reel. Before the gauge, that stall rate was a straight tax and nobody would pick her. Now she stalls often and her misses pay. The Wobbler stalls about one reel in five and takes 3.9 seconds a spin, but counts every symbol one rung higher, so a pair is a triple: the gambler's machine, and the reward for a player who never bought anything. The Mute never stalls at all, every spin gives three symbols, and pays for it with equalised weights. The Rusty One takes 3.6 seconds and also counts a rung higher.
Same gauge, four different relationships with failure.
Then five charms that were the actual point of the exercise. They do not multiply a number. They change what the window means.
The Joker forced a fix in a system that had nothing to do with it. The near miss flash, the one that marks the reel that broke your pair, was reading the raw window. After a Joker it has to read the corrected one, or it points at a reel that did not break anything. The reels are not the same object before and after a charm reads them, and every consumer downstream has to agree on which version it is looking at.
I ran the same count this morning that I ran in the commit message on 14 August, using the same crude method: how many charms have a times sign or a percent sign in the description the player reads on the draft card.
Every one of the ten charms added since is a rule, not a coefficient. Five of them are the machine charms above and five are autonomous weapons that fight on their own beside the reels: a piercing beam, a turret you plant, a chain arc, a lobbed burst that lands far away, a returning plate. That the numeric count is frozen at exactly 28 is a coincidence of arithmetic, but the direction it reveals is not.
I am not claiming the 28 should be zero. Star projectiles hitting 25 percent harder is a real decision and a legible one. But 28 out of 61 is a roster where the majority of your draft changes how the machine behaves, and 40 out of 51 was a roster where the draft was a spreadsheet with art on it.
The two charms that change the reading most, The Joker and The Prism, are the two hardest things in the game to reach. The Joker wants a seven day play streak. The Prism wants ten minutes survived in Endless mode. They are also the two charms held back from the free trial along with the legendaries, because the moment the window stops meaning what it looks like is the best surprise the game has, and I would rather it land after the purchase than before it. That is a commercial decision and I would rather write it down than have you find it.
And the machine still leans toward your build in a plain numeric way that predates all of this: each charm you carry from a family adds 4 percentage points to that family's weight, from a base of 42 percent star, 31 skull, 27 diamond. The star weight is capped at 70 percent, so a full projectile build feels every charm and the machine still keeps 30 percent of its reels for something else. It leans, it does not submit.
REELS is on the App Store. The trial runs through toll 5 and includes the hands, the empty spin gauge and three of the five machine charms. One purchase unlocks everything for good, no ads, no lives, no continues. Get REELS.