Skip to content

Ricochet ​

A single-step instant game. The player picks a shot pattern — Tight, Scatter or Wild — and a bet, and presses FIRE: pellets ricochet around a chamber off reflectors, and canisters burst into secondary pellets. Every distinct prize plate a pellet hits adds its displayed value once, and the total is the round's return multiplier × the bet (the total includes the stake). A red hazard plate wipes the whole shot. Five of the prize plates carry cartridge badges: three matching badges on a clean shot unlock BREACH, four OVERKILL and five FULL METAL — an automatic bonus volley at twelve bonus plates, whose return is added to the shot's. One press = one round: one stake, one draw, one payout, and nothing is decided after the press.

The outcome is decided by the RNG at the bet: one draw picks one entry of the pattern's catalogue — a catalogued shot of the game's pinned collision model (the plates it hits, a hazard included) and, for a special round, the catalogued bonus volley that follows it. The pellets, ricochets and bursts are presentation: the client replays the catalogued shot from its seed and cannot change the result.

PropertyValue
Game IDricochet
Engine version1.0.0
Typesingle_step
VolatilityPlayer-selectable: Tight lower, Scatter medium, Wild higher (registered as medium)
Max Win215.30× bet (a FULL METAL special round with the Wild pattern; Tight 25.10×, Scatter 72.70×)
RTP variants92.00% / 94.00% / 96.00% / 97.00% — exact for every accepted round, uncapped or under any operator or money cap (a round whose cap would fall below 2× is refused); payouts round down to the minor unit
Minimum stake100 minor units (1.00 in 2-decimal currencies), over any lower operator setting
Random drawsOne per round, at the bet
ThemeA ricochet chamber: reflectors, canisters, prize plates, hazard plates and cartridge badges

How a round works ​

PhaseDescriptionPlayer input
Set upChoose the shot pattern and the betPattern selector, bet
FireThe stake is debited, ONE draw decides the whole shot — and any special round — and the round settles in the same callPress FIRE, tap the chamber, or Enter / Space
RevealThe client replays the shot: pellets ricochet, canisters burst, plates light up and add their values; a hazard plate wipes the shot; three or more matching badges on a clean shot play the special round's bonus volley, whose return is added; the result and the balance are shown as it settlesNone

The round is complete when the response arrives: there is no round to resume, cash out or abandon. Returns at or below the stake are shown neutrally ("Partial return", "Stake returned"), never as a win, and a wiped shot is shown plainly.

Shot patterns ​

The three patterns share the chamber. Each has its own plate values and its own special-round values:

  • Tight — a focused spread: the most frequent returns and modest special rounds.
  • Scatter — a wider spread: the same plate values, more special rounds and bigger ones.
  • Wild — the widest spread: the biggest plate values and the biggest special rounds, with rarer returns.
PatternBet value (mode)Badge plates b1 · b2 · b3 · b4 · b5Prize plates p1 … p9All platesBREACH: twelve bonus platesOVERKILL: twelve bonus platesFULL METAL: twelve bonus platesMax win
Tighttight0.15× · 0.25× · 0.30× · 0.40× · 0.55×0.10× · 0.10× · 0.20× · 0.15× · 0.10× · 0.10× · 0.10× · 0.10× · 0.10×2.70×2.10×8.40×22.40×25.10×
Scatterscatter0.15× · 0.25× · 0.30× · 0.40× · 0.55×0.10× · 0.10× · 0.20× · 0.15× · 0.10× · 0.10× · 0.10× · 0.10× · 0.10×2.70×2.80×14×70×72.70×
Wildwild0.25× · 0.35× · 0.60× · 0.95× · 1.25×0.10× · 0.25× · 0.50× · 0.35× · 0.20× · 0.10× · 0.10× · 0.20× · 0.10×5.30×8.40×42×210×215.30×

Each plate pays once per shot, however many pellets hit it. A hazard plate pays nothing and wipes the shot — whatever else the pellets hit, badges included — so a hazard shot never starts a special round.

Special rounds ​

PatternSpecial roundUnlocked byTier factor × pattern scaleBonus plates q0 … q11Shot + volley total (catalogue range)
TightBREACH3 matching badges on a clean shot×0.75 × 0.040.05× · 0.10× · 0.20× · 0.25× · 0.10× · 0.15× · 0.25× · 0.35× · 0.05× · 0.10× · 0.20× · 0.30×2.65× – 4.30×
TightOVERKILL4 matching badges on a clean shot×3 × 0.040.25× · 0.50× · 0.70× · 0.95× · 0.35× · 0.60× · 0.95× · 1.45× · 0.25× · 0.50× · 0.70× · 1.20×8× – 10.95×
TightFULL METAL5 matching badges on a clean shot×8 × 0.040.65× · 1.30× · 1.90× · 2.55× · 0.95× · 1.60× · 2.55× · 3.85× · 0.65× · 1.30× · 1.90× · 3.20×14.70× – 25.10×
ScatterBREACH3 matching badges on a clean shot×1 × 0.040.10× · 0.15× · 0.25× · 0.30× · 0.10× · 0.20× · 0.30× · 0.50× · 0.10× · 0.15× · 0.25× · 0.40×3.10× – 5.10×
ScatterOVERKILL4 matching badges on a clean shot×5 × 0.040.40× · 0.80× · 1.20× · 1.60× · 0.60× · 1.00× · 1.60× · 2.40× · 0.40× · 0.80× · 1.20× · 2.00×12× – 16.40×
ScatterFULL METAL5 matching badges on a clean shot×25 × 0.042.00× · 4.00× · 6.00× · 8.00× · 3.00× · 5.00× · 8.00× · 12.00× · 2.00× · 4.00× · 6.00× · 10.00×42.20× – 72.70×
WildBREACH3 matching badges on a clean shot×1 × 0.120.25× · 0.50× · 0.70× · 0.95× · 0.35× · 0.60× · 0.95× · 1.45× · 0.25× · 0.50× · 0.70× · 1.20×7.40× – 13.10×
WildOVERKILL4 matching badges on a clean shot×5 × 0.121.20× · 2.40× · 3.60× · 4.80× · 1.80× · 3.00× · 4.80× · 7.20× · 1.20× · 2.40× · 3.60× · 6.00×33.85× – 46.85×
WildFULL METAL5 matching badges on a clean shot×25 × 0.126.00× · 12.00× · 18.00× · 24.00× · 9.00× · 15.00× · 24.00× · 36.00× · 6.00× · 12.00× · 18.00× · 30.00×124.10× – 215.30×

A special round starts automatically after the clean shot that unlocked it. Its bonus volley pays every bonus plate it hits, once each, and that return is added to the shot's own — one stake, one payout. The values are the same in every RTP variant; a lower variant only makes an empty shot a little more likely.

Near misses are never more frequent than in the collision model's own play. A clean shot with exactly two badges, and a hazard shot that had two — or three or more — badges before the wipe, appear at most as often as the physics produces them naturally: in every RTP variant and at every cap the game accepts (2× and above), not just uncapped. The game's math model lists each rate uncapped, at the worst accepted cap, and in the physics' natural play.

Every accepted round returns the RTP ​

Each pattern's catalogue entries carry integer weights over an exact draw range, built so that the pattern returns the variant's RTP exactly — not approximately, and never above. There is no decision after the press, so no way of playing returns more or less than the RTP: choosing a pattern changes the spread of results, not their average.

VariantPatternRTPBelow the RTP (points)Max winSD of one round (stakes)Rounds to 99.9% house-ahead (normal approximation, optimistic for right-skewed outcomes)
rtp-92Tight92.00%0 (exact)25.10×1.2582,363
rtp-92Scatter92.00%0 (exact)72.70×2.79111,624
rtp-92Wild92.00%0 (exact)215.30×5.33742,507
rtp-94Tight94.00%0 (exact)25.10×1.2654,242
rtp-94Scatter94.00%0 (exact)72.70×2.81821,064
rtp-94Wild94.00%0 (exact)215.30×5.39377,162
rtp-96Tight96.00%0 (exact)25.10×1.2709,632
rtp-96Scatter96.00%0 (exact)72.70×2.84448,287
rtp-96Wild96.00%0 (exact)215.30×5.449177,193
rtp-97Tight97.00%0 (exact)25.10×1.27317,199
rtp-97Scatter97.00%0 (exact)72.70×2.85786,634
rtp-97Wild97.00%0 (exact)215.30×5.476318,189

"Rounds to 99.9% house-ahead" is the normal approximation (3.09 × SD / edge)² for a casino whose every round is played with that pattern. It is an indication, not a guarantee, and it is optimistic for right-skewed outcomes such as Wild's: the real horizon is longer.

Max win and caps ​

The round's effective cap is the lowest of the pattern's max win, the operator's multiplier cap (when one is set for your casino) and the money cap (the tenant's or the jurisdiction's maximum win per round ÷ the stake). It is fixed at the bet, before the draw, and a round never pays more than cap × stake. Ricochet has no default operator cap.

Caps are RTP-neutral (rule fair-cap-v1): when a cap binds, the weight it removes from the entries above the cap moves to empty shots, so every accepted round still returns the variant's RTP exactly — the cap lowers the spread, not the return. A bet whose effective cap would fall below 2× is refused (HTTP 422, before anything is debited or drawn), so an operator multiplier cap must be at least 2× for the game to play, and at large stakes the money cap can refuse a stake (the game shows "This stake is above the maximum for this game. Lower your stake.").

Effective capTight (max 25.10×), rtp-96Scatter (max 72.70×), rtp-96Wild (max 215.30×), rtp-96
below 2.00×refused before the draw (no round is played)refused before the draw (no round is played)refused before the draw (no round is played)
2.00×96.000% — exact (trim)96.000% — exact (trim)96.000% — exact (trim)
3.00×96.000% — exact (trim)96.000% — exact (trim)96.000% — exact (trim)
5.00×96.000% — exact (trim)96.000% — exact (dead)96.000% — exact (trim)
10.00×96.000% — exact (dead)96.000% — exact (dead)96.000% — exact (dead)
25.00×96.000% — exact (dead)96.000% — exact (dead)96.000% — exact (dead)
50.00×no effect (above the pattern's max)96.000% — exact (dead)96.000% — exact (dead)
100.00×no effect (above the pattern's max)no effect (above the pattern's max)96.000% — exact (dead)
200.00×no effect (above the pattern's max)no effect (above the pattern's max)96.000% — exact (dead)

The money cap binds only at large stakes — with a 500,000.00 max win per round, Wild above a 2,322.34 stake, Scatter above 6,877.57 and Tight above 19,920.31 — and the RTP stays exact there too.

Ricochet needs no operator cap: its largest win is 215.30× (Wild, FULL METAL). An operator who wants a lower ceiling can set one of 2× or more; the RTP stays exact under it, and a capped round is shown as MAX WIN. The spread at rtp-96:

Operator capTight: SD / rounds to 99.9% house-ahead (normal approx., optimistic)Scatter: SD / rounds to 99.9% house-ahead (normal approx., optimistic)Wild: SD / rounds to 99.9% house-ahead (normal approx., optimistic)
none (the pattern's max)1.270 / 9,6322.844 / 48,2875.449 / 177,193
100×— (above the pattern's max)— (above the pattern's max)4.356 / 113,261
50×— (above the pattern's max)2.570 / 39,4063.957 / 93,430
20×1.248 / 9,3002.111 / 26,5922.708 / 43,756
10×1.155 / 7,9631.644 / 16,1252.250 / 30,211

Payout rounding ​

The payout is floor(stake × multiplier) in the currency's smallest unit — never rounded up — so the money returned can sit slightly under the RTP at stakes where a multiplier does not divide evenly. Every plate and bonus plate value is a multiple of 0.05×:

PatternEvery payout exact at stakes that are multiples ofWhy
Tight20 minor unitsevery multiplier is a multiple of 0.05×
Scatter20 minor unitsevery multiplier is a multiple of 0.05×
Wild20 minor unitsevery multiplier is a multiple of 0.05×

(A cap that is not itself one of those multiples can round a capped payout.) At other stakes the rounding costs less than one minor unit per paid round — a fraction of a point of return at most (the worst stake from 1.00 to 10.00 is the table's last row), and less as the stake grows (rtp-96, the table below). Below 1.00 it would cost more, which is why the game's minimum stake is 1.00.

Stake (2-decimal currency)Tight, rtp-96Scatter, rtp-96Wild, rtp-96
0.10 (below the 1.00 floor)93.810%94.967%95.428%
0.50 (below the 1.00 floor)95.562%95.793%95.886%
1.0096.000%96.000%96.000%
1.0195.871%95.882%95.897%
1.0595.742%95.875%95.916%
1.1095.801%95.906%95.948%
1.5095.854%95.931%95.962%
9.9995.949%95.977%95.989%
10.0096.000%96.000%96.000%
10.0195.987%95.988%95.990%
100.0096.000%96.000%96.000%
Worst stake from 1.00 to 10.0095.569% at 1.19 (−0.431 pt)95.806% at 1.19 (−0.194 pt)95.886% at 1.03 (−0.114 pt)

Provably fair ​

For tenants with provably fair enabled, the round's one draw is derived from the committed server seed at the bare round block (clientSeed:nonce, no sub-nonce — Ricochet is a single-step game like Slotty Slots, Shatter, Strike and Overload), purpose label shot, a uniform integer in [0, W − 1], where W is the total weight of the pattern's catalogue for the round's variant and cap. The published paytable carries the whole scenario table — every catalogued shot with the plates it hits, every bonus volley with the bonus plates it hits, the plate values and the group weights — and the catalogue's SHA-256 (catalogueHash); the verifier regenerates the catalogue from the table and checks the hash before reading the draw, and never needs to run the physics. The round record stores the pattern (mode) and the round's effective cap (capHundredths); with them and the published paytable that priced the round, the verifier reproduces the weights, the draw, the entry, the shot (plates, hazard, badges, special round and bonus plates) and the payout, and the verification page does the same in the browser and compares it with what the round booked. See Provably Fair.

Integration notes ​

  • Bet: POST /games/ricochet/rounds with { "betAmount": <whole minor units>, "mode": "tight" | "scatter" | "wild", "currency": "…" }. The pattern is required. Refused with HTTP 422 before anything is drawn or debited: an unknown or missing pattern (20001, "mode must be one of tight, scatter, wild"), a stake that is not a whole number of minor units (20001), an effective cap below 2× (20001, "This stake is above the maximum for this game. Lower your stake.", with details.reason max_win_cap and details.engineCode 30605), a stake under the 1.00 floor (30007) or above the maximum bet (30008), and an insufficient balance (40001).
  • The response settles the round: the stake debit, the draw and the credit happen in the one call (there are no actions, no cash-out and no open round: GET /games/ricochet/rounds/active always answers { "round": null }). The response's balance is the balance after the debit and the credit, and its outcome carries mode, seed and bonusSeed (the catalogued shot and volley the client replays), group, hazard, plates, badges, tier (0 none, 1 BREACH, 2 OVERKILL, 3 FULL METAL), bonusPlates, baseHundredths, bonusHundredths, fullMultiplierHundredths (the shot's total), multiplierHundredths and multiplier (what the round paid, after the cap), capped, winAmount and catalogueVersion — everything the client needs to animate the result, and no RNG internals.
  • Game metadata (rules): catalogueVersion, catalogueHash, the plates and bonusPlates ids, the special rounds (tiers: name and badges needed), and per pattern the plate values, the bonusValues of each special round and maxMultiplier, plus operatorMaxWinMultiplier when the operator set a cap and the round's money ceiling (roundMaxWin, maxWinAmount) — never weights, chances or the RTP.