Skip to main content

Course

Roblox Studio

NewGame Dev

Roblox Studio, from a blank baseplate to a published obby

CodeWithPurpose lessons that build one real obstacle course in Luau, and explain the engine underneath it as you go. Studio is free.

0%

Ready when you are

Go at your own pace. Your progress saves on this device.

Syllabus

What you'll learn

Take it one chapter at a time. A short quick check at the end of each one opens the next.

Part 1

Inside Studio

What the editor actually is, the live tree of objects behind it, and the handful of properties that decide what a block does.

  1. What Studio Actually IsStudio looks like a level editor, and it is also a server, a client, and a publishing pipeline running together on your laptop. Notice which of those you are looking at before you write a line, because each one fails differently.
  2. Everything Is an Instance in a TreeThe Explorer looks like a list of folders and is really your running game, live, with every object in it. Click down through the tree and watch the path assemble itself exactly as a script would have to write it.
  3. A Part, and the Four Properties That MatterA new block falls to the floor, drifts through walls, or hangs in mid-air, and a handful of checkboxes decide which. Toggle each one and watch the same part stop being the same object.

Part 2

Scripting in Luau

Where code goes, what it can reach, and the fact that your game is running on two computers that do not agree by default.

  1. Where Code Goes, and Where It RunsThe same eight lines of Luau will run for everyone, run for one player, or never run at all, decided entirely by which object you dropped them under. Move one script between four parents and see which of them start it.
  2. Names, Values, and the Only Two Things That Are FalseLuau agrees with most languages about what a variable is and disagrees sharply about what counts as false. Hand it a zero and an empty string, and find that it treats both as true.
  3. Reaching Into the Tree From Codeworkspace.Obby.Laser works beautifully until somebody renames a part, and then the script stops dead on that line. Compare the four ways to find an object and see which survive a part that is missing, renamed, or has not loaded yet.
  4. Two Computers, One ExperienceYour obby runs on Roblox's server and on every player's own machine at once, and by default they disagree. Move a part from a LocalScript, watch it move for exactly one person, and see why a killbrick cannot live there.

Part 3

Events, and Doing Something Once

Nothing polls in Roblox — the engine tells you. Then it tells you forty more times, and you deal with that.

  1. Code That Waits to Be ToldNothing in an obby sits in a loop asking whether a player has arrived — the part announces it. Connect a function to Touched, walk across the part once, and count how many times it actually fired.
  2. Doing It Once, When the Engine Says It Forty TimesOne step onto a platform can fire Touched forty times in a quarter of a second, and now forty copies of your handler are running at once. Add a single boolean and watch thirty-nine of them turn around at the door.

Part 4

Building the Obby

The three classic obstacles, written properly: a laser that kills, a platform that drops you, and one you can only pass one way.

  1. The Laser That Actually KillsA killbrick is four lines, and three of them exist to answer the question Touched refuses to: whose leg was that. Trace one touch from the limb it hit all the way back to the player it belonged to.
  2. The Platform That Drops YouMaking a part vanish is two properties; making it come back reliably is where every bug lives. Step on the naive version twice in a second and watch the platform stay gone for the rest of the round.
  3. Solid From Above, Empty From BelowA one-way platform compares two heights and flips one property, and that version falls apart the moment a second player joins. Drag one player through it, add another, and watch a single shared property fail them both.

Part 5

Shipping It

Reading what the engine says when it breaks, and the settings that stand between a finished place and a friend being able to open it.

  1. Reading What Went WrongThe Output window names the script, the line, and the exact object that was nil, and most people close it. Read three real Roblox errors and find the single word in each that identifies the problem.
  2. Getting It in Front of PeoplePublishing is one menu item, and four settings underneath it decide whether a friend can actually open what you made. Walk each one, in the order that stops a finished obby from being unplayable.

Open source

Your chapter goes here

Every chapter here was written by a student. Propose your own topic, or fix one that confused you. Drafts stay invisible until they are ready, so nothing you start can break the site.

Keep building things people can play

These lessons are part of CodeWithPurpose's free learning library, built by students, for students, everywhere.