iGaming Lab
API-gestützte Demo

Cherry Hot

REST · 5×3 / 5 lines
Server-backed slot engineWeiter
native.typescript / AGT

Cherry Hot

Calibrated reel strips, recognizable symbols, and server-owned win evaluation behind a responsive slot cabinet.

connecting
Demo credits1,000.00
Total bet5.00
Last payout0.00
Source RTP95.0644%
slot.cabinet / spin 0005 REELS · 5 LINES
🍒
🍓
🍐
REEL 01
🍎
🍒
🫐
REEL 02
SCATTER
🍒
🍑
REEL 03
🍒
🍓
REEL 04
🍐
🍒
🍎
REEL 05
Spin the calibrated reel setREADY
result.contract

Normalized win records

Spin results expose pay, multiplier, payout, symbol count, line, kind, and exact screen coordinates.

engineering.case-study

Die Systemgrenze von Cherry Hot im Detail.

Was Spieler erleben, wofür die Implementierung tatsächlich verantwortlich ist und wo die Aufgaben eines Produktionssystems beginnen.

01

Hintergrund des Spiels

Cherry Hot is a five-reel fruit slot combining left-aligned payline wins, a dedicated scatter, and a multiplier based on consecutive fully filled columns. It demonstrates how independent win rules must compose without losing their coordinates or provenance.

02

Funktionsweise

  1. Choose bet per line and up to five paylines.
  2. The backend samples five strips and builds a 5×3 reel-major screen.
  3. Line wins, scatter wins, and full-column multipliers are evaluated separately.
  4. Normalized win records are returned and summed into the final payout.
03

Backend-Architektur

A configured slot session delegates to Cherry Hot’s multi-rule evaluator. The server sampler owns stops; the evaluator owns left-aligned matching, scatter counts, and full-column multiplication.

ClientREST APIGame sessionReel samplerMulti-rule scannerResult
04

Systemgrenzen

Game Client
Presentation, input, accessibility, and demo-credit display.
REST API
Request validation and routing into one isolated game session.
Game Session
Ephemeral configuration and the previous authoritative result.
Game Engine / RNG
Outcome generation, game rules, win evaluation, and result contracts.
Multi-rule Scanner
Line, scatter, and filled-column evaluations with exact coordinates.
05

Kritische Engineering-Entscheidungen

  • Separate each win family before aggregation.
  • Keep reel-major coordinates stable in the result contract.
  • Apply fill multipliers after identifying the base combination.
  • Test full-screen multiplication with deterministic screens.
06

Fehlerbehandlung

  • A client disconnect does not rewrite a completed server result; reconnecting requires the session identifier while it remains in memory.
  • An unknown or expired session is rejected instead of silently creating a replacement outcome.
  • A timed-out spin or draw should not be blindly retried as though commands were idempotent; these demos do not yet persist command identifiers.
  • The browser’s virtual credits are not a ledger. If UI credit state is lost, it cannot be reconstructed from these focused game-engine modules.
07

Fairness / RNG

Five backend CSPRNG reel-stop selections determine the screen. The imported math model is testable, but this portfolio engine is not certified or provably fair.

08

Konzeptionelles Datenmodell

GameSession- gameId- betPerLine- selectedLines- lastActivity
SpinResult- screen- wins- totalBet- totalPayout- net
Win- line- symbol- count- positions- multiplier- payout