Slot Presentation Flow — Template

Copy this file into the target game's documentation and replace every [GAME TODO] before frontend implementation. This document defines presentation order only. The backend response, wallet settlement and round state remain authoritative.

1. Document control

FieldValue
Game ID[GAME TODO]
Presentation versiondraft-v0.x
GDD version[GAME TODO]
Math/config version[GAME TODO]
Config SHA-256[GAME TODO]
StatusDEV ONLY · PRESENTATION DRAFT
Updated[GAME TODO]

2. Base player flow

flowchart TD
    A["Splash"] --> B["Load assets + open session"]
    B --> C["Main / Ready"]
    C -->|"Spin pressed"| D["Spin Start"]
    D --> E["Reel Spin Loop"]
    E --> F["Stop reels in order"]
    F --> G{"BONUS anticipation condition?"}
    G -- "Yes" --> H["Anticipation on eligible remaining reel(s)"]
    G -- "No" --> I["Finish reel stops"]
    H --> I
    I --> J{"Authoritative result"}
    J -- "No win" --> K["Settle silently"]
    J -- "Line win" --> L["Line + symbol win presentation"]
    J -- "Big win" --> M["Line win handover → Big Win popup/count-up"]
    J -- "Bonus trigger" --> N["Trigger presentation → Bonus intro"]
    K --> C
    L --> O["Total Win"]
    M --> O
    O --> C
    N --> P["Bonus loop"]
    P --> Q["Bonus outro + feature total"]
    Q --> C

The flow may omit branches that the game does not implement. It must not invent a branch that is absent from the GDD and backend contract.

3. Phase sheet

Complete one row for every player-visible phase. Comments should name the exact animation/audio asset or explicitly say that the asset is not ready.

PhaseTriggerPlayer-visible behaviorAnimation / VFX commentAudio commentPopupSkippableCompletion signalFailure fallback
SplashGame mountedShow branded entry screen[GAME TODO] Animation:[GAME TODO] Audio:NoneYes/No [TODO]splash:completeContinue to loading without blocking money state
LoadingSplash accepted or auto-completedLoad required assets and open/recover session[GAME TODO] Loading treatment:[GAME TODO]Optional loading errorNosession:readyStay blocked; never enable Spin without session
Main / ReadySession ready and no presentation pendingShow balance, bet, grid and enabled controls[GAME TODO] Idle animation:[GAME TODO] Ambient loop:Noneround:readyKeep Spin disabled if prerequisites are missing
Spin StartAccepted player actionLock controls and start reels[GAME TODO] Button/reel start animation:[GAME TODO] Spin start SFX:NoneNoreels:startedRecover pending round; never issue a second wager
Reel Spin LoopReels movingMaintain readable continuous motion[GAME TODO] Reel loop:[GAME TODO] Reel loop SFX:NoneOptional fast stopserver result available + minimum spin timeSnap only to authoritative grid
Reel StopEach reel reaches its resultStop in configured order[GAME TODO] Per-reel stop/land animation:[GAME TODO] Stop SFX:NoneNoreel:stopped(index)Snap that reel to authoritative symbols
AnticipationSee section 4Slow/emphasize only eligible remaining reel(s)[GAME TODO] Anticipation animation/VFX:[GAME TODO] Anticipation loop + resolve SFX:NoneYes/No [TODO]final eligible reel stoppedSnap to result; never alter outcome
No WinAuthoritative payout is zero and no feature opensEnd cleanly without win celebration[GAME TODO] Neutral settle:[GAME TODO]Noneround:presentedReturn to Ready after settlement is known
Line WinOne or more authoritative line/ways winsHighlight exact winning cells/lines[GAME TODO] Symbol win + line animation:[GAME TODO] Line win SFX:NoneYeswins:presentedShow final amount and clear highlights
Total WinStandard win presentation completeCount/show authoritative round payout[GAME TODO] Counter animation:[GAME TODO] Count-up/end SFX:Optional compact win panelYestotal:presentedSnap to authoritative final amount
Big WinPayout crosses configured presentation thresholdHandover from line win, show tier and count-up[GAME TODO] BIG/MEGA/MAX animation:[GAME TODO] Tier audio:Required tier popup [TODO]Yes after minimum hold [TODO]bigwin:dismissedSnap amount, close popup, continue settlement
Bonus TriggerBackend opens a featureShow exact trigger cells before scene transition[GAME TODO] Trigger animation:[GAME TODO] Trigger sting:Bonus intro [TODO]Yes/No [TODO]feature:intro-completePreserve open feature; never return to paid Ready
Bonus LoopFeature step responsePresent one authoritative feature step at a time[GAME TODO] Step animation:[GAME TODO] Feature loop/SFX:Feature HUD [TODO]Yestoken-matched round:presentedPark/recover on required presentation failure
Bonus OutroFeature closesShow authoritative feature total and return to base[GAME TODO] Outro animation:[GAME TODO] Outro/count-up SFX:Feature-total popup [TODO]Yesfeature:outro-completeSnap total, close feature presentation, return safely

4. BONUS anticipation rule

Default example for a feature triggered by three BONUS symbols:

  1. After each reel stops, count only server-authoritative BONUS symbols already revealed.
  2. Start anticipation when exactly two required BONUS symbols are visible and at least one unrevealed/eligible reel can still complete the trigger.
  3. Apply anticipation only to the eligible remaining reel(s), not to reels that can no longer help.
  4. If the third BONUS lands, resolve into Bonus Trigger presentation.
  5. If it misses, play a short miss resolve and continue to the ordinary result.
  6. Anticipation is presentation only; it does not reroll, delay settlement or change probability.

Per-game override:

[GAME TODO] Trigger symbol:
[GAME TODO] Required count:
[GAME TODO] Eligible reel/cell rule:
[GAME TODO] Anticipation starts after:
[GAME TODO] Duration per reel:
[GAME TODO] Win resolve animation/audio:
[GAME TODO] Miss resolve animation/audio:

If the game has no BONUS trigger, mark this section Not applicable and remove the branch from its game-specific diagram.

5. Result branching

Result classification comes from authoritative response fields and the approved presentation threshold configuration.

no payout and no feature     → No Win
standard payout              → Line Win → Total Win
configured big-win threshold → Line Win handover → Big Win → Total settled
feature opened               → Bonus Trigger → Bonus Loop → Bonus Outro

Rules:

  • Never calculate or increase payout on the client.
  • Present all authoritative contributing line/ways wins before or beneath the total.
  • Big Win is a presentation tier, not a second award.
  • A feature opening takes precedence over returning to paid-spin Ready.
  • If a round has both a base win and a feature trigger, document their exact presentation order in the game-specific copy.

6. Optional feature modules

Open the interactive presentation-flow reference to inspect the base flow, feature branches and placeholder visual storyboards.

Copy only the modules used by the target game, then resolve their [GAME TODO] fields against the GDD and authoritative backend contract:

  • Hold and Win — trigger, locked-cell respins, resets, collectors/jackpots and feature total.
  • Expanding Wild — source reveal, expansion order, affected wins and multi-expansion handover.
  • Cascade / Tumble — authoritative step replay, remove/collapse/refill, modifiers and terminal board.

If a game combines modules, its game-specific diagram must define the handover order between them. Do not merge their state machines merely because their animations overlap.

7. Visual reference requirement

Every player-visible state with unique behavior must have a stable visual reference. This includes BONUS anticipation, symbol transformations, Wild expansion, locked-cell behavior, cascade phases, special counters and popup transitions.

Use a GIF, MP4/WebM, storyboard, approved screenshot sequence or implementation recording. Link it directly from the state/animation block. A static screenshot is insufficient when timing, order or motion is load-bearing. A state without unique treatment must say N/A — uses standard <state>.

Visual Ref ID: VIS-[GAME]-[STATE]-[NN]
Reference link: [relative repository link or approved external URL]
Reference type: storyboard | GIF | video | screenshot sequence | implementation capture
What it proves: [behavior, ordering and terminal pose]
Approval status: placeholder | candidate | approved

Visual references are presentation evidence, not runtime assets. Track runtime asset status separately.

8. Animation comment format

Use one block per animation so implementation does not depend on prose hidden elsewhere:

Animation ID: [GAME TODO]
Visual Ref ID: [GAME TODO]
Visual reference link: [GAME TODO]
Phase: [GAME TODO]
Trigger: [GAME TODO]
Visual sequence: [GAME TODO]
Duration / timing budget: [GAME TODO]
Loop: none | loop | until signal
Skippable after: [GAME TODO]
Required final visual state: [GAME TODO]
Audio cue(s): [GAME TODO]
Popup/HUD interaction: [GAME TODO]
Completion event: [GAME TODO]
Failure fallback: [GAME TODO]
Asset source/status: placeholder | approved | runtime-ready

9. Popup inventory

PopupOpens whenRequired contentClose ruleBlocks next wager?Animation comment
Big Win[GAME TODO]Tier + authoritative amount[GAME TODO]Yes until terminal state[GAME TODO]
Bonus Intro[GAME TODO]Feature name + awarded steps/spins[GAME TODO]Yes[GAME TODO]
Bonus Total[GAME TODO]Authoritative feature total[GAME TODO]Yes until dismissed/finalized[GAME TODO]
Error/RecoveryRecoverable presentation/session failureSafe player message; no credentials/internal IDsRetry/reload policyYes[GAME TODO]

Delete unused rows in the game-specific document.

10. Skip, cancellation and recovery

  • Skip accelerates presentation; it never changes the settled outcome.
  • Every required phase defines a synchronous final visual state.
  • A skipped count-up snaps to the authoritative amount.
  • Scene destruction/cancellation clears listeners, timers, tweens and popups.
  • Reconnect reads the persisted round/feature receipts and resumes or finalizes the correct phase.
  • A stale completion token must not release a newer round or feature step.
  • Paid Spin remains disabled while a round is pending, recovery runs, or a feature is open.

11. Per-game completion checklist

  • Every [GAME TODO] is resolved or explicitly marked out of scope.
  • Diagram matches the GDD and backend state model.
  • Every selected optional feature module is copied, linked and fully resolved.
  • Every popup has an open, dismiss, skip and failure rule.
  • Every animation names its trigger and completion event.
  • Every state with unique behavior links to an approved visual reference.
  • Motion-dependent behavior uses a moving reference, not only a screenshot.
  • Two-BONUS anticipation is enabled only when the remaining reel can complete the trigger.
  • No-win, line-win, multi-line, big-win, bonus-trigger and bonus-close scenarios have deterministic test seeds where applicable.
  • Skip/reconnect cannot create another wager or change payout.
  • Final balance and win totals come only from the authoritative response.