Standout Builder Studio · planning Index / Examples / Reskin · Neon Heist review Updated 12 Jun 2026

Worked example · Neon Heist (reskin of Crash)

A builder wants a cyber-noir skin of the certified Crash mechanic: neon palette, dark cityscape art, new copy — but zero changes to the game's math or timing. This example traces every step from path choice to a playable sandbox session. No config work, no scaffold PR, no math gate. The fastest path to a new game.


The path

At the Build Path Picker, the builder selects Reskin — a theme-and-assets-only path that branches from an existing certified game. The base game chosen is Crash (crash-shared-world in the mechanics library — certified, RTP 97.0%, shared-world real-time cashout-timing mechanic).

What a reskin unlocks
A reskin path gives the builder control over theme tokens (palette, typography overrides), art assets (hero image, lobby tile, icons), and copy strings (game name, help text, UI labels in each locale). These are the only inputs. The asset checklist is live from the moment the path is chosen.
What a reskin locks
Config is read-only for the duration of the reskin path. Every field in CrashConfig is inherited unchanged from the base game — no betting limits adjustment, no house-edge tuning, no timing tweaks. The certified math record is also inherited: there is no math gate, and no scaffold PR is raised. If the builder later decides to change any config value, the path must be changed to Variant, which opens the math gate and raises a scaffold PR. See the mechanic record for the full certified config schema.

Theme

Crash ships with the platform's default flame palette. Neon Heist replaces it with a cyber-noir ramp: electric cyan leading into deep violet with a hot-pink accent, on a near-black navy background. No other design tokens change.

Base · Crash
Ramp 1 — warm coral
#f3906b
Ramp 2 — flame
#ee6a52
Ramp 3 — hot pink
#e8607f
Background
#0b0b0d
Build · Neon Heist
Ramp 1 — electric cyan
#38e8ff
Ramp 2 — deep violet
#7a5cff
Ramp 3 — neon magenta
#ff4fd8
Background — navy void
#070b14

The palette swap is visible at tile level — both tiles carry the identical mechanic and RTP; only the skin changes.

Game tile — base Crash vs Neon Heist CONCEPT · proposed
×12.4
Crash
Shared world · Real-time
RTP 97.0%
×12.4
Neon Heist
Shared world · Real-time
RTP 97.0%

Assets

The asset checklist is generated from the base game's manifest at path-choice time. For a Crash reskin, five deliverables are required. The builder supplies the art and audio; the Asset agent handles derived formats (thumbnails, safe-area crops). A file passing all checks is sandbox-ready; passing the full package checklist (including operator tile specs and locale coverage) is required for handoff.

Neon Heist — asset checklist CONCEPT · proposed
shell-skin.css
Theme token overrides — palette, typography, gradient ramp
Complete
neon-heist-hero.png
Key art — 1920×1080, used for full-bleed lobby header
Complete
neon-heist-tile-1024x768.png
Lobby tile — primary branding element is partially outside mobile safe area
Safe-area warn
cashout.wav
Cash-out sound effect — replaces base game's default cashout audio
Complete
copy-strings.en.json
English copy strings — game name, help text, UI labels, legal blurb
Complete
Sandbox vs handoff distinction
The safe-area warning on the lobby tile is a sandbox blocker: it must be resolved before a playable session can be launched. It is not yet a handoff blocker because operator tile dimensions and locale completeness are checked separately in the package checklist.

Validation

Config diff

A reskin proves itself by changing nothing. The table below shows all nine CrashConfig fields: every base value is identical to the build value. No math gate is triggered; no scaffold PR is raised. The Build column is the proposed worked-example state; the Base column values are real defaults extracted verbatim from packages/shared/src/templates.ts.

CrashConfig — base vs Neon Heist build CONCEPT · base values are real crash defaults
Field Group Base (Crash) Build (Neon Heist)
minBet
Minimum bet amount
Betting 1 1
maxBet
Maximum bet amount
Betting 10000 10000
maxAutoCashout
Max auto-cashout multiplier
Betting 100× 100×
houseEdge
House edge — drives RTP
Math & RTP 0.03 (3%) 0.03 (3%)
minCrashPoint
Minimum crash point
Math & RTP 1.0× 1.0×
maxCrashPoint
Maximum crash point
Math & RTP 100.0× 100.0×
pendingDurationMs
Pending (betting) phase duration
Timing 5000 ms 5000 ms
tickIntervalMs
Multiplier update tick interval
Timing 100 ms 100 ms
broadcastIntervalMs
State broadcast interval
Timing 100 ms 100 ms

Nine fields. Nine identical values. A reskin proves itself by changing nothing in the config.

Gate run — first pass

PASS
Config integrity
All nine fields match base — no math gate triggered
no gate
PASS
Theme tokens
shell-skin.css validates against token schema
auto
PASS
Key art dimensions
neon-heist-hero.png — 1920×1080, passes size and format checks
auto
WARN
Asset safe area
neon-heist-tile-1024x768.png — primary logo element within 12px of edge; mobile safe area is 32px
needs fix
PASS
Audio format
cashout.wav — WAV 44.1 kHz stereo, within size limit
auto
PASS
Copy strings (en)
All required keys present, no placeholder tokens remaining
auto

Asset agent fix

The safe-area warning is the only blocker. The Asset agent resolves it automatically and the builder approves the fix before the gate re-runs.

16:42:10
Asset
Safe-area check failed on neon-heist-tile-1024x768.png — logo element at y=8px, minimum 32px margin required. Regenerating with 40px safe-area padding.
running
16:42:31
Asset
Regenerated lobby tile within mobile safe area — composition recentred, logo at y=44px. Awaiting builder review.
needs-review
16:43:05
Builder
Approved revised tile — safe-area composition accepted.
approved

Gate run — second pass

PASS
Config integrity
no gate
PASS
Theme tokens
auto
PASS
Key art dimensions
auto
PASS
Asset safe area
neon-heist-tile-1024x768.png — logo at y=44px, 40px safe margin confirmed
auto
PASS
Audio format
auto
PASS
Copy strings (en)
auto

All gates green. The build is sandbox-ready.


Sandbox

With all gates passing, the builder opens the Launch Lab composer and launches a sandbox session: operator standout-demo, player builder-preview-01, currency AUD, device desktop, jurisdiction AU, no wallet faults. The Deploy agent provisions the session and the game is immediately playable via the signed launch URL.

Neon Heist sandbox — session log excerpt CONCEPT · proposed
16:45:02
Deploy
Sandbox session created — session:nh-sb-0044, game Worker provisioned in sandbox dispatch namespace. Launch URL signed and ready.
live
16:45:04
Engine
WebSocket connected — player builder-preview-01 joined room nh-room-0001. Pending phase started (5000 ms).
connected
16:45:09
Engine
Bet received — builder-preview-01 bet AUD 10.00. Round started, multiplier climbing.
in-round
16:45:14
Engine
Cash-out — builder-preview-01 cashed out at ×3.84. Win AUD 38.40. Cashout audio triggered.
cashed-out
16:45:22
Deploy
Session health check passed — WebSocket stable, no error events, RTP within expected bounds after 1 round.
healthy

The clock

Elapsed time from path choice to playable sandbox session.

0:00
Path chosen
Reskin selected in the Build Path Picker; base game set to Crash
0:25
Theme attached
shell-skin.css authored and uploaded; palette tokens validated against schema
1:10
Assets complete
Key art, audio, and copy strings uploaded; Asset agent safe-area fix approved
1:40
Validation green
Second gate run — all six checks pass, build is sandbox-ready
2:05
Playable sandbox session
First bet placed and cashed out in Neon Heist; session healthy

Two minutes and five seconds from "Add a game" to a live session. No math gate, no scaffold PR, no engineering engagement. The fastest path — and the benchmark the guided flow is optimising toward.