REELS

Published 2026-09-17

My slot machine flashes a near miss every six seconds, and it still is not gambling

The near miss is the oldest trick in the slot machine industry, and REELS has one: the reel that broke your pair lights up red for 0.6 seconds, on about 52 percent of spins. Here is why I kept it, what the game prints next to it that no casino machine would ever print, and where the line between variable reward and gambling actually falls.

Every so often someone looks at REELS, sees three reels and a lever, and asks the reasonable question: is this a gambling game for people who do not want to admit they want a gambling game.

It is a fair thing to ask, and the answer people usually give is bad. They say the mechanics are different. They are not. I built a slot machine, I built a near miss into it, and it fires ten times a minute. The mechanics are close enough to be worth talking about honestly, which is what this post is.

The thing that makes the difference is not the mechanic. It is the stake.

What a near miss is

A near miss is an outcome that is a loss, but looks structurally like a win that fell one step short. Cherry, cherry, lemon. Two of the three windows agree and the third one does not.

The reason the industry cares is that people do not treat it like a loss. R. L. Reid named and framed this in "The psychology of the near miss" in the *Journal of Gambling Behavior* in 1986. More recently, Luke Clark and colleagues published "Gambling near-misses enhance motivation to gamble and recruit win-related brain circuitry" in *Neuron* in 2009, which is roughly what the title says: near misses produce activity in the same regions wins do, and increase the reported desire to keep playing.

Physical slot machines were built around this. Reel strips were laid out so that jackpot symbols appeared more often just above and just below the payline than on it, which manufactures near misses at a rate the raw odds would never produce. That practice has been regulated in various jurisdictions precisely because it is an engineered illusion about the odds.

So: a real effect, historically abused, and I put one in my game on purpose. Let me show you exactly what mine is.

What mine actually does, in code

Three reels drop every 3.0 seconds on the default machine. When the dust settles, the engine checks whether exactly two of the three windows show the same symbol. If they do, it marks the odd one out:

The window that broke the pair gets a red bakelite border for 0.6 seconds instead of its usual brass one, three pixels wide instead of two. If you have Double up colours switched on in the accessibility settings, it also gets a small label reading SO CLOSE, because a red ring and the green ring that means HELD are the same ring to a lot of people.

That is the entire feature. It is about fifteen lines. The comment I wrote above it in the source says, and I am quoting myself here, that the window flashes and the brain does the rest.

I am not going to pretend I did not know what I was building.

How often it happens

The default machine, The Honest One, draws each window independently: 42 percent star, 27 percent diamond, 31 percent skull, with an 8 percent chance per window of coming up BLANK instead.

That gives a 77.9 percent chance all three windows show a symbol at all, and given three symbols, a 66.6 percent chance that exactly two of them match. Multiply: 51.8 percent of spins produce a near miss marker. At one spin every 3.0 seconds, that is about ten of them a minute, one every six seconds, for the entire sixty second toll.

For comparison, a natural triple happens on 9.6 percent of spins.

Those numbers are not tuned to be gentle. They fall out of having three symbols and three reels. With only three possible symbols, "two the same and one different" is simply the most common thing that can happen, and no arrangement of weights makes it rare.

Why I kept it

Two reasons, and only one of them is about feel.

The first is that the marker is information. The spin resolves in a fraction of a second and then your weapons fire, enemies die, numbers pop. If two stars and a skull went past, you want to know which window was the skull, because that tells you whether the machine is currently leaning the way your build needs. Marking the odd one out is the cheapest way to make a fast event readable. This is the same reason the blank window draws a plate reading BLANK rather than showing nothing: an empty box next to two stars reads as a rendering bug, not as a result.

The second reason is that the feeling is real and I did not want to launder it. A near miss on a slot machine feels like something. Sanding that off would not make the game more honest, it would make it quieter about what it is. REELS is a game about a rigged funfair machine. Pretending the machine has no personality would be its own kind of lie.

The part that actually matters: there is nothing to feed it

Here is what a casino near miss is doing. It is a loss, it feels like an almost, and the only way to act on that feeling is to put more money in. The mechanic works because it sits directly upstream of a payment. Remove the payment and you have a light that blinks.

In REELS, the lever falls on its own. It is drawn, it is animated, and it is deliberately not tappable, because making it tappable would let a stray thumb during a fight look like an intentional pull. You cannot buy a spin. You cannot buy a faster spin. You cannot watch anything to get an extra spin, because there is nothing to watch: the project has exactly one third party dependency in its package list, TelemetryDeck, and it is not an ad network.

The near miss in my game fades after 0.6 seconds, and the next spin lands 2.4 seconds after that, on the same clock it was always going to run on. There is no action available to you in response to it. That is the whole difference, and it is not a subtle one.

The odds are printed in the corner of the window

This is the part I would point at first if I had to defend the design in one screenshot.

When a reel stops, the current probability of the symbol it landed on is printed in the bottom right corner of the window, in mono type, as a percentage. Not a marketing figure, not a payout table from the manual. The live number, recomputed from the same weights the draw uses, on every spin.

On The Honest One with no charms, the three windows show 42, 27 and 31. Take a star charm and the star weight goes up by four points, and the printed number goes up with it on the very next spin, because the number is derived from the weights rather than written next to them. The weight is capped at 0.70, so even a full star build leaves the machine at least three windows in ten it will not give you.

The stat panel is the same idea carried through: your spin interval in seconds, your three damage multipliers by symbol, your critical chance and multiplier, and your luck gain per kill are all listed as numbers you can read mid run.

A casino machine does not do this, and not because of an oversight. Hidden weights are the product. The near miss trick specifically depends on you not being able to check the reel strip.

The jackpot is a gauge, and you earn it by getting close to things

The word jackpot in REELS means three matching symbols, and there are two ways to get one.

The first is to roll it, at 9.6 percent.

The second is the gauge on the left of the machine, marked LK., which fills from 0 to 100 and prints its own number. At 100, the next spin is a guaranteed triple. No roll, no house edge, no percentage.

What fills it is the interesting part. Luck is gained on melee kills only: something has to die within 60 points of your character, which in practice means you walked into the crowd. The base rate is 6 per kill, so about 17 close kills to a guaranteed jackpot. Taking a hit costs you 15 of it.

Read that as an economy and it inverts the casino completely. In a casino the machine takes money and returns a random outcome. Here the machine takes risk, measured literally in distance, and returns a certain outcome. The price of a jackpot is how close you were willing to stand.

There is even a visible pity timer, which is the other thing a real machine would never show you. Blank windows fill a second gauge, drawn as six dots on the HUD. Six blanks and the machine owes you a triple. It appears on screen only once it has started filling, because a row of permanently dead pips teaches a player that nothing is happening.

The one tap in the whole fight costs thirty

There is exactly one thing you can tap during combat, and it is a reel window. Tapping one holds its symbol for the next spin. It costs 30 luck, which is a bit under a third of a jackpot, and releasing it does not refund, because the machine has already taken the money.

That is the only agency the machine gives you over the draw, and it is priced in the same currency as the jackpot, so using it is a real decision rather than a free fidget. Contrast that with the stop button on a video slot, which exists to let you feel like you influenced a result that was decided before your thumb moved.

Where the line actually is

The mechanic is not the thing to look at. Variable reward is in every roguelike, every card draw, every loot table, and in the weather. Judging a game by whether it contains randomness that feels good gets you nowhere useful.

The thing to look at is whether there is a stake, and what happens to you when you lose.

REELS costs one payment. It is free to download, the trial runs through toll 5, and a single purchase unlocks everything permanently with trial progress kept. There is no second transaction anywhere in the game. No ads, no lives, no continues, no tokens, no currency you can top up, no daily login bonus. When you lose a run you lose the run, and the next one starts from zero for free, whether that is one minute later or a year later.

Take my near miss and attach it to a purchasable spin and it becomes the exact thing the regulators went after, unchanged, same fifteen lines. Take the casino's near miss and put it on a machine that prints its odds, cannot be fed, and pays out on a gauge you fill by fighting, and it is a red border that tells you which reel let you down.

If REELS ever grows a second transaction, that border should come out the same day. It will not, so it will not.

https://apps.apple.com/app/id6801441632

All notes