FFORGEBLOX

Tutorial · 9 min read · Updated October 2026

How to make a Roblox obby with AI, step by step

An obby is the best first game to build with an AI agent: the rules are simple, the bugs are visible, and a playtest tells you immediately whether it works. This is the message sequence that produces a complete, publishable obby inside your own Roblox Studio place. The prompts are written for ForgeBlox; the design rules at the end apply to any obby.

Before you start

Message 1: stages and checkpoints

Build an obby in Workspace/Stages with 10 stages laid out in a line, each a
Model with a Stage attribute and a Checkpoint SpawnLocation (Neutral false).
Stage 1 is the spawn. When a player touches a checkpoint with a higher stage
than their leaderstats Stage, update the stat and set their RespawnLocation.
Keep stages 1-5 easy: jumps under 7 studs, platforms at least 4x4. Playtest,
walk to stage 3, die, confirm respawn at stage 3, screenshot, stop the test.

What to check: the leaderboard shows Stage going up, and after dying you respawn at the last checkpoint rather than the start. If the checkpoints are plain Parts instead of SpawnLocations, the agent should teleport you on CharacterAdded; either is fine as long as the playtest proves it.

Message 2: hazards

Add hazards tagged with CollectionService and handled by one server script each:
KillPart (touch sets Humanoid health to 0), MovingPlatform (anchored, moved with
TweenService on CFrame, never physics), FadingPlatform (on touch tween
Transparency then CanCollide false, restore after 3 seconds, debounced), and
JumpPad (briefly raises JumpPower, debounced). Place at least one of each between
stages 4 and 10. Playtest each hazard, screenshot, stop.

The important words are anchored and TweenService. Platforms pushed by physics drift, stutter and fling players. Tagging with CollectionService means one script handles every kill brick, so adding a hundred more later costs nothing.

Message 3: saving

Save each player's highest Stage with DataStoreService, session-locked, autosave
every 60 seconds and on leave. On join, restore the stat and teleport them to
that checkpoint. Test: reach stage 4, stop the playtest, start again, confirm
you spawn at stage 4.

Message 4: the skip-stage product

Add a Skip Stage developer product. The client prompts the purchase from a HUD
button; MarketplaceService.ProcessReceipt on the server (the only one in the
game, in ServerScriptService/Monetization) grants exactly one stage forward,
idempotently, saving before returning PurchaseGranted. Use a placeholder
product id constant I can replace. Test with a Studio test purchase, screenshot.

Skip-stage is the standard obby monetization and it is cheap to get wrong. Only one script in the whole game may set ProcessReceipt, and the grant must be saved before the function returns, or Roblox will retry and double-grant. You still create the product on the Roblox website and paste its id; the agent cannot do that part.

Message 5: timer, reset, HUD

Add a speedrun timer that starts on first stage-1 touch and records the best
time per player. Add a Reset button that fires a remote to kill the character.
Make the HUD (stage, timer, Skip Stage, Reset) scale-based, safe-area aware, and
check it in the device emulator iPhone preset. Screenshot.

Message 6: polish and the security pass

Give each pair of stages a colour theme, add Lighting.Atmosphere and a skybox,
and a soft looping soundtrack from the Creator Store (no scripts inside the
asset). Then review every RemoteEvent handler on the server: validate arguments,
rate-limit per player, and never trust a client-sent stage number. Summarise.

Design rules that keep an obby fun

What it costs

On Sonnet 5.5 this sequence runs about 1,500 to 4,000 credits ($15–40). The $25 pack covers a lean run. Every message shows its price before you send it, and ForgeBlox pauses at a safe point if you hit a cap.

Publishing checklist

  1. Create the Skip Stage developer product on the Roblox website and paste its id into the constant.
  2. Playtest with two clients (Test ▸ Clients and Servers) and confirm checkpoints are per player.
  3. Set the genre to Obby, put "obby" and your theme in the first sentence of the description, make an icon readable at 150×150.
  4. Publish private first, play it on your phone, then publish public.

Next: build a tycoon, build a clicker simulator, or wire game passes and developer products correctly.

Run this sequence in ForgeBlox. The "Obby with checkpoints" chip in the app is a one-message version of this whole guide; paste Message 1 instead if you want to go step by step. Sign in with Roblox, pair your Studio, and go. Open ForgeBlox →