Discuss a project

Research

Reconstructing the math of a live slot from public data

A live 3×3 hold & win slot, its public demo and nothing else — no server, no config, no PAR sheet. This was a test assignment done by one of our team; the playable result is the Anvil of Storms preset.

The task

Rebuild a mathematical model of a live slot that plays like the original: same frequencies, same bonus shape, same RTP within what the data allows. The only source was the game's public demo.

The game: a 3×3 grid with five lines, coins on reels 1 and 3, a Collector on reel 2, four jackpots (25, 50, 150 and 1,000× bet) and a hold & win bonus driven by hammers. Four bet modes: the classic bet and three boosted modes at 1.4 and 2 bets.

The data

We recorded 350,000 rounds from the demo (guest access, minimum bet): 200,000 rounds of the classic bet and 50,000 in each boosted mode — 4,137 bonuses in total.

That sounds like a lot, but recorded rounds alone pin the RTP of the classic bet only to about ±2.8 percentage points: 94.4% on 200,000 rounds, with a 95% interval of 91.6–97.2%. So we did not fit the RTP. Every parameter of the model was taken from the structure of the rounds — which symbols, coins, hammers and multipliers appear and how often — and the RTP was then computed by the model over hundreds of millions of spins.

The main finding: the outcome is decided before the grid is drawn

A plain reel model could not reproduce the game. The server first picks what happens in the round — a bonus, a line win, a coin collect or nothing — and then draws a grid that shows that outcome. The bonus works the same way: its total is chosen first, then the hammer strikes are played out to match it. The evidence:

  • Bonus triggers. A grid built from the reels would show the trigger condition about once in 312 spins; in the game it appears once in 164. Another 38% of bonuses arrive through "rush", where the game openly adds the missing coins or the Collector — together a bonus every 102 spins. In 198,000 rounds without a bonus the trigger condition never appeared on the grid.
  • Line wins. Reels give a line win in 6.5–6.8% of spins for any number of reel sets; the game gives 7.5%.
  • Hammers avoid coins. In the bonus a coin sits under a hammer in 11% of strikes and in 48% of cells without a strike. The collect on a respin is decided in advance; the other coins are decoys.
  • The bonus total is narrow. Only 1.5% of bonuses end below 15× bet and 58% land between 20× and 50×. Independent hammer strikes would give a much wider bonus: about 8% below 10× and 2% above 200×.

So the model is built the same way: outcome first, grid second. For this game that scheme reproduces every measured frequency at once; a "clean" reel model does not.

Reels and pays

The reels are physical, not virtual: each reel shows a finite set of 460–480 three-symbol windows, and after the first 50,000 spins almost no new windows appear. There are four reel sets, chosen per spin. They show up as dependence between reels — independent reels would have none, while the joint frequency table splits into exactly four layers above noise. The set weights are about 1 : 1 : 1 : 4 and do not change between bet modes.

Source How it works Recorded rounds Model
Lines 5 lines, three in a row; the Wild substitutes and pays the top amount 28.6% 28.3%
Coin collects the Collector on reel 2 takes the values of all coins on the grid 20.6% 20.8%
Bonus hold & win with hammers 45.2% (±2.7) 45.4%

Where the RTP comes from

The bonus

  • Start. The Collector becomes a coin; 3–8 coins are on the grid (3 — 39%, 4 — 40%, 5 — 17%), all collected at ×1, and their cell multipliers grow.
  • Respins. One, two or three hammers fall over each reel (45 / 39 / 16%). A coin under a hammer is collected with its cell multiplier, then the multiplier grows.
  • Counter. Three respins to start; a collect resets the counter to 3, a miss takes one away. The rule held in all 25,736 recorded bonus steps.
  • Collect chance. A coin is under the hammer in 12% of strikes on a ×1 cell and 8–9% on a ×4–5 cell; on the last respin the chance is about 20% higher.
  • The total is chosen in advance: median 39× bet, mean 46×, 90% of bonuses within 20–76×. A bonus lasts 13 respins on average.

Bonus win distribution

How close the model is

Classic bet: 200,000 recorded rounds against 100 million simulated rounds of the model (seed 20261028).

Recorded Model
Any win 1 in 8.29 1 in 8.29
Bonus 1 in 102.3 1 in 102.3
Share of bonuses via rush 37.7% 37.8%
Mean bonus, × bet 46.2 (±1.7) 46.5
Respins per bonus 13.2 13.2

RTP by mode

Mode Price Recorded (95% interval) Model (95% simulation interval)
Classic bet 1 94.4 (91.6–97.2) 94.52 (94.40–94.64), 100M rounds
Bonus chance 1.4 92.4 (87.5–97.4) 91.67 (91.47–91.87), 30M
Power bonus 1.4 97.1 (88.7–105.5) 95.50 (95.21–95.79), 30M
Chance & power 2 92.7 (86.9–98.4) 94.40 (94.14–94.66), 30M

The model interval covers only simulation noise. The main uncertainty is the mean bonus, known from the data to about ±3.6%, which is ±1.7 points of RTP; the declared RTP of the original lies within that range. We did not tune the model to the declared value — it shows what the rounds show.

Differences between modes are known better than the absolute level. The bonus-chance mode has the same bonus as the classic bet, so an error in the bonus moves both almost equally — and the model says that this mode returns about 2.9 points less than the classic bet: the player pays 40% more per spin and gets the bonus 1.75 times more often, which is not enough to cover the extra price.

Limits

  • The bonus distribution comes from 2,811 bonuses (classic and bonus-chance) and 1,326 (the two power modes). The tail above 200× is a single bucket; inside it the shape comes from the bonus mechanic and the 2,000× cap rather than from observations.
  • Stacks and symbol order inside the reels were not reconstructed: the model stores each reel set as weighted three-symbol windows — an exact equivalent of reels with stop weights, but not the reels themselves.
  • How exactly the server picks a bonus total and fits the strikes to it is not visible in the rounds. The model reproduces the result — total distribution, length, collect chance by multiplier — not the algorithm.

What it shows

Recorded rounds are enough to rebuild a working model of a live game, as long as every parameter is measured from structure and the RTP is left to the simulation. The same tools — round corpora, PAR sheets with intervals, distribution checks — are what we use on our own games and on audits of yours.

Play the reconstruction Discuss a project