Skip to main content

Stage 10: Puzzle Room + publish

Course progressStage 10 of 10
~60 min
Before you start

Finish Stage 9. Your obby has nine working stages and a readable coin machine.

Build

the puzzle room, the Finish pad, the ExtensionPad celebration room, and a publish billboard with the game link

Learn

how to finish the 10-stage obby, publish a Studio file to Roblox, and verify the live game

Ship

a live, public, shareable Roblox tycoon obby focused on coins, upgrades, and a clear machine loop

Teacher demo

90-second demo:

  • Show the finished coin machine: Dropper -> Conveyor -> Collector, plus DropperUpgrade and CollectorUpgrade.
  • Show the ExtensionPad billboard with a live Roblox URL.
  • Open the game in the Roblox player, not Studio.
  • Explain: "Publishing is the final artifact. The coin machine is simple enough to understand and strong enough to keep building later."

The big idea

Today's capstone turns the Studio file into a real Roblox game with a URL.

The course stays coin-focused to the end. You are finishing the obby, publishing the world, and making the ExtensionPad point players back to the live game.

By the end of Stage 10, you have:

  • A complete 10-stage Roblox obby
  • A start-area coin machine with Dropper, Conveyor, Collector, and coin-machine upgrades
  • A published Roblox game with a public URL
  • A billboard in the world that shows where to play the game again
New words
Publish
uploading your local Studio file to Roblox's servers so it gets a public URL
live game
a published game players can join outside Studio
ExtensionPad
the celebration area behind the Finish pad where the final course artifact lives
republish
publishing again after edits so the live game receives the latest version

Build it

Step 1 — Build the puzzle room

A small room with three colored buttons. Pressing them in the right order destroys the back wall. Same recipe as the base obby Stage 10.

A puzzle room with three colored buttons

Build this part

PuzzleFloor

Block
Open recipe
Size
12 × 1 × 12
Color
Dark stone grey
Material
Concrete
Anchored
✓ Yes
Place
In front of the Stage 10 purple pad, stretching forward 12 studs
Build this part

PuzzleWall_Left

Block
Open recipe
Size
1 × 8 × 12
Color
Brick yellow
Material
Brick
Anchored
✓ Yes
Place
Along the left edge of PuzzleFloor
Build this part

PuzzleWall_Right

Block
Open recipe
Size
1 × 8 × 12
Color
Brick yellow
Material
Brick
Anchored
✓ Yes
Place
Along the right edge
Build this part

PuzzleWall_Back

Block
Open recipe
Size
12 × 8 × 1
Color
Really red
Material
Neon
Anchored
✓ Yes
Place
At the FAR end of the room

The script finds this wall by name. Leave it named exactly PuzzleWall_Back.

Build this part

Button_Green

Cylinder
Open recipe
Size
1 × 2 × 2
Color
Lime green
Material
Neon
Anchored
✓ Yes
Place
On PuzzleFloor, leftmost button
Build this part

Button_Red

Cylinder
Open recipe
Size
1 × 2 × 2
Color
Really red
Material
Neon
Anchored
✓ Yes
Place
On PuzzleFloor, middle button
Build this part

Button_Blue

Cylinder
Open recipe
Size
1 × 2 × 2
Color
Bright blue
Material
Neon
Anchored
✓ Yes
Place
On PuzzleFloor, rightmost button

Right-click each Button_* part -> Insert Object -> ClickDetector.

Right-click PuzzleWall_Back -> Insert Object -> Script. Open the editor, delete the placeholder line, and type:

local wall = script.Parent

local greenButton = workspace:WaitForChild("Button_Green")
local redButton = workspace:WaitForChild("Button_Red")
local blueButton = workspace:WaitForChild("Button_Blue")

local correctOrder = {"Green", "Red", "Blue"}
local currentIndex = 1

local function handleButton(buttonName)
local expected = correctOrder[currentIndex]
if buttonName == expected then
currentIndex = currentIndex + 1
if currentIndex > #correctOrder then
wall:Destroy()
end
else
currentIndex = 1
end
end

greenButton.ClickDetector.MouseClick:Connect(function()
handleButton("Green")
end)

redButton.ClickDetector.MouseClick:Connect(function()
handleButton("Red")
end)

blueButton.ClickDetector.MouseClick:Connect(function()
handleButton("Blue")
end)

Step 2 — Build the Finish pad

This is the final SpawnLocation past the puzzle wall. StageNumber = 11 is the convention every Roblox course in this series uses for the win pad.

Build this part

SpawnLocation (Finish — the win pad)

Block
Open recipe
Size
6 × 1 × 6
Color
Gold
Material
Neon
Anchored
✓ Yes
Place
Behind where PuzzleWall_Back stood

Also: check AllowTeamChangeOnTouch. Uncheck Neutral. Set TeamColor to Gold.

Tag this SpawnLocation with StageNumber = 11.

In Teams, insert a new Team named Finished. Set its TeamColor to Gold. Uncheck AutoAssignable.

Step 3 — Build the ExtensionPad celebration room

Behind the Finish pad, build the celebration room. Every Roblox course in this series ends with the same ExtensionPad.

Build this part

ExtensionPad

Block
Open recipe
Size
20 × 1 × 20
Color
Bright yellow
Material
Marble
Anchored
✓ Yes
Place
Behind the Finish pad — a large open celebration area

Wide enough to run around in. This is where the published-game artifact lives.

Decorate if time allows: banners, lights, or a small row of coin parts showing the tycoon theme.

Step 4 — Build the publish billboard

A large flat sign on the ExtensionPad displaying the game's URL once published.

Tycoon ExtensionPad with publish billboard

Build this part

PublishBillboard

Block
Open recipe
Size
10 × 6 × 0.5
Color
White
Material
Neon
Anchored
✓ Yes
Place
Standing upright at the back of the ExtensionPad

A SurfaceGui inside will display the game URL once you have one.

  • In Explorer, right-click PublishBillboard -> Insert Object -> SurfaceGui.
  • Inside the SurfaceGui, insert a TextLabel.
  • Set the TextLabel's Size to {1, 0, 1, 0}.
  • Set TextScaled to true.
  • Set Text to:
GAME COMING SOON

Publish the game

Save your file in Studio, then:

  1. In Studio's top menu: File -> Publish to Roblox.
  2. Click Create New Game or choose the existing game if you already published this file.
  3. Fill in Name with something clear, like My Coin Tycoon Obby.
  4. Fill in Description with one sentence: A 10-stage obby with a working coin machine.
  5. Choose a genre such as Adventure.
  6. Click Create or Publish.

Studio uploads your file. After a minute, your game has a URL like:

roblox.com/games/123456789/My-Coin-Tycoon-Obby

Update the billboard

Copy the live game URL. Click the PublishBillboard's TextLabel and replace GAME COMING SOON with:

PLAY THIS GAME:
roblox.com/games/123456789/My-Coin-Tycoon-Obby

Publish again so the live game includes the updated billboard.

Verify in the live game

  1. Visit your game's URL in a browser.
  2. Click Play so Roblox opens the game outside Studio.
  3. Test the coin machine: Dropper, Conveyor, Collector, DropperUpgrade, CollectorUpgrade.
  4. Play through the first few obby stages.
  5. Reach or inspect the ExtensionPad billboard and confirm it shows the correct URL.

Understand it

Publishing is the bridge from class project to real game. Until you publish, the tycoon is a Studio file. After publishing, it is a Roblox game other people can join.

Republishing matters. Any edit after the first publish stays local until you publish again. The billboard update is a good final proof: if the live game shows the URL, students understand that publishing pushes changes to the real Roblox version.

Try this

Learning beat

Try this

Three short experiments. Predict before you run, then test your guess.

Predict first

If you change the billboard text in Studio but do not republish, what will players see in the live game?

Compare

Test the coin machine in Studio, then test it in the live Roblox player. What feels the same? What takes longer to load?

Connect

If you kept building this game next week, which coin-machine upgrade would you add first: faster conveyor, faster dropper, or bigger collector bonus?

Test your stage

  • Press Play in Studio. Solve the puzzle in order: Green -> Red -> Blue.
  • The back wall disappears.
  • Touch the gold Finish pad. Counter increases by 11.
  • Walk to the ExtensionPad and see the publish billboard.
  • Publish the game to Roblox.
  • Copy the live URL into the billboard.
  • Publish again.
  • Open the live game outside Studio and verify the coin machine still works.
  • Send the URL to one friend or family member.
  • Design check. The finished game is understandable: obby path, coin machine, upgrades, finish, and publish billboard.

If it breaks

  • Publish to Roblox is greyed out. You are not signed in to Studio. Sign in from the top-right corner.
  • The live game still says GAME COMING SOON. You updated the billboard in Studio but forgot to publish again.
  • A friend cannot join. The game may still be private. Check the Creator Dashboard permissions and make the experience public if appropriate.
  • The puzzle wall does not disappear. Check each button has a ClickDetector and the button names match Button_Green, Button_Red, and Button_Blue.
  • The coin machine works in Studio but not live. Publish the latest version again and retest the live game.
Coach notes

Keep the capstone focused. Publishing plus live verification is enough real-world workflow for this course.

  • 60 minutes. Puzzle room 15. Finish pad + ExtensionPad + billboard 15. Publish + URL update 15. Live verification + sharing 10. Buffer 5.
  • The key final message: students built a complete obby and a working coin tycoon machine they can keep improving.