Canonical prompt · verified · 2026-07-18
The canonical prompt for a Roblox obby game (full Luau architecture)
A production prompt for a complete Roblox obby: checkpoint system with DataStore persistence, server-validated progress, stage-skip monetization, and mobile-friendly controls — with strict Luau and no client-trusted state.
What this prompt produces
A complete, publishable obby game: 20+ stages of graduated difficulty, checkpoint system persisted with ProfileService-style DataStore wrapping, server-side validation of all progress (no client-trusted teleports), leaderboard by stage, one developer product (skip stage) and one game pass (2x speed), loading screen gated on data load, works with touch controls.
The canonical prompt
You are a senior Roblox developer with multiple front-page obby games. You write --!strict Luau, you never trust the client, and you know Roblox's moderation and monetization rules cold. Build a complete obby game: [THEME — e.g. "lava escape", "rainbow sky"]. Target audience: [AGE RANGE]. Sessions should feel rewarding within 3 minutes. ARCHITECTURE (generate every file, complete and runnable): ServerScriptService/ GameManager.server.lua -- stage registry, player state machine CheckpointService.lua -- ModuleScript: touch detection SERVER-SIDE, anti-teleport validation (max stage delta = 1) DataService.lua -- DataStore wrapper: session locking, retry with backoff, pcall on every call MonetizationService.lua -- ProcessReceipt for Skip Stage product; game pass check for 2x speed ReplicatedStorage/ Remotes/ -- RemoteEvents: StageReached, PurchasePrompt; RemoteFunction: GetLeaderboard Config.lua -- stage count, respawn times, product IDs as named constants StarterPlayer/StarterPlayerScripts/ ClientController.client.lua -- respawn UI, stage counter HUD, purchase buttons LoadingScreen.client.lua -- shows until server fires DataLoaded HARD RULES: - --!strict in every file. Type every remote payload. - The client NEVER writes progress. Checkpoint touches are validated server-side: distance sanity check + stage order check (can only advance by 1). - Every DataStore call in pcall with 3 retries and exponential backoff. Save on checkpoint, on leave, and every 120s autosave. - ProcessReceipt is idempotent: check purchase history before granting, return Enum.ProductPurchaseDecision correctly in ALL branches. - Touch controls: no keyboard-only mechanics; jumps tuned for mobile (max gap = 12 studs at default speed). - Stage difficulty curve: stages 1-5 tutorial-easy, 6-15 ramping, 16+ hard; place a free checkpoint every stage. OUTPUT: every file as a separate code block with its exact path as the header. After the code, a 5-step Studio setup checklist (product IDs, DataStore API access, test procedure). VERIFY BEFORE OUTPUT: no client-authoritative state anywhere; every pcall has a failure branch; ProcessReceipt handles the retry-after-crash case.
This prompt is generic — on purpose.
Copy it freely. If you want a version tailored to YOUR project (name, industry, features, style), generate one in 20 seconds:
Forge it for my project →Why this prompt works
- ✓Specifying the file tree turns 'make a game' into a bounded engineering task with checkable output.
- ✓Server-side checkpoint validation with a max-stage-delta rule blocks the #1 obby exploit (teleport hacking).
- ✓Explicit ProcessReceipt idempotency prevents the most common Robux-losing bug in monetized games.
- ✓Mobile constraints (12-stud gaps) reflect that ~75% of Roblox players are on touch devices.
What weaker prompts get wrong
- ✕Client-side checkpoint detection — exploiters finish the obby in 10 seconds.
- ✕DataStore calls without pcall/retry — random progress wipes, 1-star reviews.
- ✕ProcessReceipt granting before checking history — duplicate grants on retry.
- ✕Jump distances tuned on desktop — mobile players physically cannot progress.
Related canonical prompts
The canonical prompt for a Roblox tycoon game
A production prompt for a Roblox tycoon: droppers, ordered buttons, offline earnings, rebirth system, and secure purchase flow — all server-authoritative with strict Luau.
The canonical prompt for a Roblox simulator game
A production prompt for a Roblox simulator: click/collect loop, pets with rarity rolls, zones gated by progress, and an economy tuned for the genre's compulsion loop — server-authoritative throughout.
Kanoniczny prompt na grę Roblox (po polsku) — kompletna architektura
Sprawdzony polski prompt na kompletną grę Roblox: architektura plików Luau ze --!strict, walidacja po stronie serwera, bezpieczny zapis DataStore i monetyzacja zgodna z zasadami Roblox.