Build a small obstacle course
Outcome and prerequisites
Create a five-platform course that you can traverse with default movement. This is a greybox: simple geometry for testing a game idea before spending time on art. You need Studio navigation and a local save workflow; scripting begins in the next lesson.
Open a new Baseplate. Save it locally as obby-workshop-05.rbxl. Make this the continuing project for lessons 05–11. Delete disposable scripts from earlier experiments if you reused a file. Keep a backup before deleting scene objects.
Build the platforms
Insert a Folder under Workspace named Obby. Create five ordinary Parts inside it. Set Anchored=true and CanCollide=true for each. Use the following properties exactly for the first pass; positions are center coordinates in studs.
| Name | Size X Y Z | Position X Y Z |
|---|---|---|
| Platform0 | 12, 1, 12 | 0, 1, 0 |
| Platform1 | 8, 1, 8 | 12, 2, 0 |
| Platform2 | 12, 1, 12 | 24, 3, 0 |
| Platform3 | 8, 1, 8 | 36, 4, 0 |
| Platform4 | 14, 1, 14 | 48, 5, 0 |
Use different colors for alternating platforms. The gaps are intentionally modest so you can learn the mechanics before tuning difficulty. Size is the full extent of a part; Position is its center, so its top surface is Position.Y + Size.Y / 2.
Create a Folder under Workspace named Checkpoints. Move the template's SpawnLocation into it and rename it Start. Set Size=(8,1,8), Position=(0,2,0), Anchored=true, Neutral=true, Enabled=true, AllowTeamChangeOnTouch=false, and Duration=0. Duration=0 avoids a temporary spawn shield obscuring the hazard exercise later. This is a SpawnLocation class, not a Part with that name.
There should now be one SpawnLocation, Start. Remove the template Baseplate only after the five platforms and Start are present. Otherwise a large floor catches every missed jump and conceals the course's risk/recovery loop. If you delete the wrong object, undo immediately or reopen the saved checkpoint.
Play before decorating
Run Test. Spawn at Start and try to reach Platform4. If you fall, the world eventually removes a character below its fallen-parts height and you respawn. The next lesson adds a visible hazard and intermediate checkpoints; for now, focus on movement and camera behavior.
Do not change jump power to compensate for a badly placed platform. First verify Size, Position and Anchored against the table. Once the baseline works, change one gap and replay. Design is easier to reason about when you change one variable at a time.
Watch the landing, not only the takeoff. A jump can be physically possible but hard to read because the next platform blends into the background or is hidden by the camera. Wider landing zones and clear contrast often make a better first family playtest than higher speed.
Establish a layout contract
Your Explorer tree should contain:
Workspace
Obby (Folder)
Platform0 ... Platform4 (Part)
Checkpoints (Folder)
Start (SpawnLocation)
ServerScriptService
[no course scripts yet]
Save again. Later scripts will use those exact folder names. Keeping scene organization predictable reduces debugging work when the project gains UI and networking.
In this course, parts are created in edit mode for the obby. The co-op project later demonstrates scripted scene generation. Both are valid; mixing them without a clear ownership rule can produce duplicate floors and coins.
Verify
- Start is the only spawn and is above Platform0
- All five platforms remain stationary during Test
- You can reach the last platform using default movement
- A missed jump does not land on a hidden leftover Baseplate
- Stop returns to the same edit-time layout
Troubleshooting
Spawn is random: search Explorer for extra SpawnLocations. A platform falls: set Anchored in edit mode. You walk through a platform: check CanCollide and class. The camera cannot see the next jump: rotate or widen the route; do not solve every issue with a custom camera script. Nothing remains after Stop: you built during Play; rebuild in edit mode.
Exercise
Add one optional side route that returns to Platform2. Let someone else try it without explanation, then ask where they thought they should go. Record one confusing moment and make one adjustment. You are testing legibility, not whether the tester can guess your intention.
Sources and navigation
Verified 2026-10-03: Core Curriculum, parts, BasePart, SpawnLocation.
Previous: Events · Next: Checkpoints and hazards · Related: Project map