Lumenreel · Prism Crash is a slot machine for Chrome in which the only thing you can stake is time. It is packaged at 0.8.0 and the store listing is not submitted yet, so this is a working note rather than a launch. The project page is at Lumenreel · Prism Crash, and there is a fourteen-second clip of it below.
The objection is to one currency, not to reels
Nearly everything people object to in a slot machine follows from a single structural fact: the thing that goes in and the thing that comes out are the same substance, in a quantity the house picked. Return-to-player is the name of that ratio. The near-miss, the loss dressed as a win, the reel that pauses on the last symbol — all of them are ways of making a smaller number feel like a bigger one, and all of them need the two sides to be commensurable to work at all.
So Lumenreel has two currencies that never touch. Lumens accrue at one per second, online and offline, cannot be bought, and are the only thing you can stake. Facets are the only thing the reels pay, and the only thing critters cost, and there is no path from a Facet back to a Lumen. Put those together and there is no return-to-player figure to quote, because the ratio has no referent. A loss disguised as a win is not discouraged here. It is unrepresentable.
That is worth stating plainly because it is the kind of claim that is easy to make and hard to keep. Three dark patterns — engineered near-miss, loss-disguised-as-a-win, false-hope reel stop — are blocked by assertions in the test suite, and each of those assertions was first made to fail against a deliberately broken build. A check that has never failed is not known to be a check.
My own gate caught me
An early build printed “Features landed, but no line paid” when a splash effect fired on a spin that paid nothing. That is a zero, dressed as an event, and it is exactly the pattern the rule was written to prevent. The dark-law test found it in my own copy. The zero-pay message is byte-identical across every zero-pay spin now, and a test reads all one hundred and fifty of them to prove it stayed that way.
Bounding the bet is what paces the game
The brief said a complete collection should take at most twenty-four hours. A number like that is only real if something enforces it, so a horizon simulation runs the entire economy start to finish across many seeds and reports the spread. The build currently lands at 14.4 hours fast, 17.3 median, 19.3 slow.
Holding that band is why stakes unlock on critters owned rather than on lifetime currency, and I did not reason my way there. With Lumen-gated stakes the simulation showed late income compounding roughly tenfold every forty-seven minutes. A tenfold price rise, against that, buys forty-seven more minutes and nothing else. No price schedule paces an unbounded exponential; bounding the bet is the only move that turns completion time into a quantity somebody chose.
The related rule is duplicate suppression: a draw never returns a critter you already own. That removes the coupon-collector tail — roughly five hundred and nineteen expected pulls to complete a hundred uniform items, almost all of it spent on the last few — and gives every critter a printable maximum price. The gacha then weights each tier by its remaining stock times its rarity weight, so an emptied tier stops eating rolls and the end of the collection is not a wall of near-certain misses.
Sixty-three per cent of the payout arrived as a receipt
The most useful thing an audit pass found had nothing to do with correctness. Free spins are 43 per cent of every Facet the game pays and hold-and-spin another 20, and both of them used to resolve into a summary card: here is what you won, well done. The wheel, at 10 per cent, had the only real ceremony in the build. The biggest channel was a receipt and the small one had the parade.
Both are played out on the real grid now, step by step, with a live counter. The important part is that the round is already decided before any of it is drawn — the engine returns the complete list of spins and steps, and the interface replays a settled result and rolls nothing. Two tests assert that: the played-out spins must sum to the round’s payout, and replaying the hold steps must reconstruct the exact final cell set. Ceremony also gets a budget, nine seconds for a whole chain however long it runs, and it is skipped entirely below a four-times win, in turbo, and under a reduced-motion preference. Celebrating a 0.4x win is the same error as celebrating a zero.
The published number was off by one
The odds page promises that the wheel’s Ultra prize lands at least once every 110 spins. It landed once in 111. The forcing check ran before the counter incremented, so the real bound was one higher than the sentence — and the gate that owned it was blind, because it measured the run of misses, which resets on a hit, while the sentence claims the gap between hits. Those differ by exactly one. It surfaced only when a second, independently written check used the other definition and disagreed.
The rule I took from it: assert the promise as worded, not a convenient proxy for it. And when two harnesses disagree about the same quantity, one of them is answering a different question — find out which before believing either. Six times this project a probe has confidently reported a defect that was in the probe.
Where it stands
0.8.0 is built, tested and packaged: 125 critters across two skins, twenty fixed lines on five reels, three arcade minigames, forty-nine achievements, a playground the collection lives in, and three soundtracks synthesised from oscillators with no audio file anywhere in the package. One permission, storage. No network request of any kind. The Chrome Web Store listing is in preparation and nothing is submitted, which is why the project page says exactly that and not something more flattering.
What is still unverified is the only thing that matters and the only thing a simulation cannot reach: whether it is any fun. Nobody has played it yet. Spin cadence, whether seventeen hours reads as generous or as long, whether the critters are charming — all of that is unmeasured, and I would rather say so than imply otherwise.
Full details, the odds, and the complete privacy policy are on the Lumenreel · Prism Crash project page. The nearest neighbours here are Prism Cascade and Singularity Tower; everything else is on the projects page.
