Skip to main content

Stage 4: KillBrick Path

Course progressStage 4 of 10
~30 min
Before you start

Make sure you've finished Stage 3: Plank Walkway.

Build

a path around dangerous KillBricks

Learn

how hazards guide player timing and route choices

Ship

a safer-looking path that still has real challenge


Stage preview
Stage 4
Preview the KillBrick path where danger blocks shape the route players must read.

Preview the KillBrick path where danger blocks shape the route players must read.

Build this stage below

The big idea

Stages 1–3 punished the player for falling. Today's stage adds a brand-new way to lose: touching the wrong part. A KillBrick is a brick that defeats the player on contact — they respawn at the last checkpoint and have to try again.

The new design lesson is hazards turn a path into a puzzle. A wide flat floor isn't a challenge — but the same floor with KillBricks scattered on it asks the player to read the layout before they move. That reading time is what makes a stage feel like a real obstacle.

This is also the first time we'll write a real script. We'll build the KillBrick ourselves, then paste in the code that makes it dangerous. You don't have to write the script from memory — copy what we give you and read along.

Build it

Step 1 — Build the path

A wide flat path with a few KillBricks scattered on it. The hazards do all the work.

stage4Easy

1.1 Build a straight path

Build this part

HazardPath

Block
Open recipe
Size
10 × 1 × 30
Color
Dark stone grey
Material
Concrete
Anchored
✓ Yes
Place
Right in front of the Stage 4 checkpoint, stretching forward 30 studs

10 studs wide on purpose — we want safe space *between* the hazards so the player has somewhere to walk. Pick a different Color or Material if you want; the design still works.

1.2 Build a KillBrick

Build this part

KillBrick_1

Block
Open recipe
Size
4 × 4 × 4
Color
Really red
Material
Neon
Anchored
✓ Yes
Place
On the path, in the middle of one of the lanes

Red + Neon = the brick *looks* dangerous before the script makes it dangerous. That's a design trick. Anchored = true keeps it from falling.

1.3 Add the script that kills on touch

A KillBrick is just a normal red brick until a script tells it to defeat the player. Right-click KillBrick_1 in Explorer → Insert ObjectScript. Delete the placeholder code inside.

Paste into Script
Script

KillBrick_1

The Script lives inside KillBrick_1. If you don't see the Script indented under the brick in Explorer, drag it inside.

local brick = script.Parent

brick.Touched:Connect(function(otherPart)
local character = otherPart.Parent
local humanoid = character:FindFirstChildOfClass("Humanoid")

if humanoid then
humanoid.Health = 0
end
end)

Press ▶ Play. Touch KillBrick_1 — you respawn at the Stage 4 checkpoint.

1.4 Make two more KillBricks

You wrote the script once. Now make two more bricks that do the exact same thing.

  • Click KillBrick_1 in Explorer, press Ctrl+D twice. You now have KillBrick_2 and KillBrick_3.
  • The duplicates don't have the Script inside yet. Drag the Script from KillBrick_1 onto KillBrick_2 in Explorer — Roblox copies it. Do the same for KillBrick_3.
  • Drag each new brick to a different spot on the path so the player has to weave between them.

Press ▶ Play. All three bricks kill on touch. The wide path makes it possible to find a safe route.

Step 2 — Add the next checkpoint

The Stage 5 checkpoint goes at the far end of the hazard path. Same checkpoint pattern as Stages 1–3 — this is the fourth time you've done it.

2.1 Add another SpawnLocation

In Explorer, right-click WorkspaceInsert ObjectSpawnLocation.

2.2 Set its properties

  • BrickColor → a new color.
  • AllowTeamChangeOnTouch → checked.
  • Neutral → unchecked.
  • TeamColor → matches the BrickColor.

2.3 Tag it with its stage number

Same gesture as Stage 1. In the Attributes section of Properties, add a StageNumber attribute (number type) and set its value to 5.

2.4 Add a Team

  • In Teams, insert a new Team named Stage 5.
  • Uncheck AutoAssignable.
  • Set TeamColor to match.

Drag the SpawnLocation onto the end of your path.

Understand it

A KillBrick is just a normal part with a tiny script attached. The script listens for a Touched event, and when a player character touches the part, the script sets the player's Health to 0. That's the whole thing. You'll see this exact pattern (touched event → do something) in every script-based hazard in Roblox.

The script we pasted does three things in order: find the brick (script.Parent), wait for something to touch it (Touched:Connect), and check whether the toucher was a player (FindFirstChildOfClass("Humanoid")). If it was a player, set their Health to 0. Real game devs spend a lot of time reading and pasting code that already works — that's the same skill you just used.

The wide path is a deliberate design choice. A narrow path with KillBricks just becomes Stage 3 with extra danger — not actually harder, just meaner. A wide path with hazards lets the player choose a route. Pick the wrong route and you lose. Pick the right route and you feel smart. That choice is the difference between a puzzle and a punishment.

We also color the KillBricks Really red + Neon for a reason: red bricks look dangerous, gray bricks look harmless. The player reads the color before they read the script. Visible danger is fair danger.

Try this

Learning beat

Try this

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

Predict first

Place a KillBrick directly in the middle of your path so the player can't avoid it. Predict what happens. Now move it slightly to one side. Why does the second version feel completely different to play?

Compare

Color your KillBricks bright red. Play through. Now color them the same color as the path. Play through again. Which version feels fair? Which feels cheap?

Connect

Stage 5 swaps static hazards for timed hazards — fireballs flying across a path. Look at your KillBrick path. Which is harder for the player: a danger that never moves but is in their way, or a danger that moves but only sometimes?

Test your stage

Before moving on:

  • Press ▶ Play and start from the Stage 4 checkpoint.
  • Touch one KillBrick on purpose and confirm it sends you back to the checkpoint.
  • Complete the path without touching a KillBrick.
  • Touch the Stage 5 checkpoint, reset, and confirm you respawn there.
  • Design check. Is there a safe path through that every player could find, or do they have to stumble into it?

If it breaks

  • The KillBrick doesn't kill me. The Script is probably outside the brick. In Explorer, the Script should appear indented underneath KillBrick_1, not next to it. Drag it inside the brick.
  • KillBrick_2 and KillBrick_3 don't kill me, but KillBrick_1 does. You forgot to drag the Script onto the duplicates. Each brick needs its own Script inside. Drag the Script from KillBrick_1 onto each one in Explorer.
  • Output shows a red error mentioning "Humanoid". You probably misspelled Humanoid — case matters. Re-check the line local humanoid = character:FindFirstChildOfClass("Humanoid").
  • My character respawns at Stage 1 instead of Stage 4. Your Stage 4 SpawnLocation isn't actually finished. Re-check: AllowTeamChangeOnTouch is on, Neutral is off, BrickColor matches TeamColor, and the Stage 4 Team exists with the same TeamColor.
  • Players cheat by jumping over the KillBricks. They're too short. Increase their height — try [4, 6, 4] — so they actually block the player's normal jump.