Skip to main content

Stage 6: Kinetic KillWall

Course progressStage 6 of 10
~40 min
Before you start

Make sure you've finished Stage 5: Rolling Rocks & Spinning KillBricks.

Build

a hallway blocked by a moving wall

Learn

how motion can turn a whole room into a timing puzzle

Ship

the obby's last hazard, set up for the finale


Stage preview
Roblox & YouTuber Studio - Stage 6
Preview the kinetic hallway where a moving wall turns a room into a timing puzzle.

Preview the kinetic hallway where a moving wall turns a room into a timing puzzle.

Build this stage below

The big idea

Stage 5's spinner danced in one spot. Today the danger slides across a whole hallway — a wall that comes from one side and exits the other. The player times when to enter, between passes. The lesson is the entire room becomes the hazard: there's no safe corner to hide in, only a when.

This is the last hazard before the finale, and it's the most dramatic of all — a wall bearing down on a player makes for one of the tensest clips you can record. Build it to look big and scary.

Build it

Step 1 — Build the hallway

A floor, two side walls, and open doorways at the ends. The walls keep the player in the hallway — without them, the player would just walk around the danger.

stage9Easy

Build this part

HallFloor

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

The Z size (30) matters — the script reads it to figure out how far the wall should slide.

Build this part

HallWall_Left

Block
Open recipe
Size
1 × 8 × 30
Color
Brick yellow
Material
Brick
Anchored
✓ Yes
Place
Along the left edge of HallFloor. Tall enough that a player can't jump over.
Build this part

HallWall_Right

Block
Open recipe
Size
1 × 8 × 30
Color
Brick yellow
Material
Brick
Anchored
✓ Yes
Place
Along the right edge of HallFloor, mirroring HallWall_Left

The two short ends are open — no part there. Those are the doorways players enter and exit through.

Step 2 — Build the sliding wall

A solid wall that fits inside the hallway. The script slides it end-to-end.

Build this part

SlidingWall

Block
Open recipe
Size
5.5 × 7 × 1
Color
Really red
Material
Neon
Anchored
✓ Yes
Place
Inside the hallway at the FAR end (away from the Stage 9 checkpoint), snug between the side walls

X (5.5) just barely fits between the side walls. Y (7) is tall but doesn't reach a ceiling. Z (1) is thickness. The script slides it toward the checkpoint, then back.

Step 3 — Add the script that slides the wall

Right-click SlidingWallInsert ObjectScript. Delete the placeholder.

Paste into Script
Script

SlidingWall

The Script goes inside SlidingWall. It finds the floor by name — make sure your floor is named exactly `HallFloor`.

local wall = script.Parent
local floor = workspace:WaitForChild("HallFloor")

-- Tune speed to change difficulty. Lower = slower = more time to dash.
local speed = 0.3

local hallLength = floor.Size.Z
local startZ = wall.Position.Z
local endZ = startZ - hallLength + wall.Size.Z

wall.Touched:Connect(function(otherPart)
local character = otherPart.Parent
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end)

while true do
-- Slide from startZ down to endZ
for z = startZ, endZ, -speed do
wall.Position = Vector3.new(wall.Position.X, wall.Position.Y, z)
wait(0.02)
end

-- Slide back from endZ up to startZ
for z = endZ, startZ, speed do
wall.Position = Vector3.new(wall.Position.X, wall.Position.Y, z)
wait(0.02)
end
end

Press ▶ Play. The wall slides smoothly end-to-end, forever. Touch it and you respawn.

speed = 0.3 is the default. Try 0.2 for a slower wall, 0.5 for a sprint. The script reads the hall length and wall thickness automatically, so if you resize the hallway later, you don't need to touch the script.

Step 4 — Creator Studio: spot your "best fail" moment

You can't record yet (that's Stage 8), but the moving wall is the perfect time to start thinking about which moments you'll want to capture.

Play your hallway a few times. Notice the moments worth filming:

  • The wall closing in just as you slip past — the near-miss.
  • Getting squished at the last second — the funny fail.
  • A clean, calm run timed perfectly — the flex.

Jot down which stages have your best moments. When you publish and record in Stage 8, you'll know exactly where the good clips live. Great creators don't film everything — they know which moments matter before they hit record.

Stage 6 clip target: In Stage 8, capture the KillWall chase from the hallway entrance. Start the clip before the wall moves so the viewer can feel the timing.

Step 5 — Add the next checkpoint

The Stage 10 checkpoint goes just past the hallway. This is the tenth checkpoint — the last regular one before the finale.

5.1 Add another SpawnLocation

Right-click WorkspaceInsert ObjectSpawnLocation.

5.2 Set its properties

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

5.3 Tag it with its stage number

In Attributes, add a StageNumber attribute (number type) and set its value to 10.

5.4 Add a Team

Insert a Team named Stage 10, uncheck AutoAssignable, match its TeamColor, and drag the SpawnLocation just past the hallway's exit.

Understand it

The script does something quietly clever: it reads HallFloor.Size.Z to figure out how far to slide. Make a longer hallway tomorrow and the script adapts — no edits needed. That trick (read a number from the world instead of writing it as a fixed value) is called parameterized geometry, and it's how real game scripts avoid breaking every time someone resizes a level.

The side walls are doing more than decoration — they prevent the player from cheating the hazard. Without walls, the player walks around. With walls, the player has to commit to the hallway. Any time a level has a moving threat, look for the walls boxing in the lane.

And the whole room being dangerous is what makes this the obby's tensest moment. There's nowhere to hide, only a moment to choose. That kind of all-or-nothing beat is exactly what viewers hold their breath for.

Try this

Learning beat

Try this

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

Predict first

Change speed = 0.3 to speed = 1.0. Predict what happens. Is there still a safe gap, or did you make it impossible?

Compare

Delete one side wall and play through. Compare to having both. Without the wall, what does the player actually do — and why does forcing engagement matter?

Connect

This is your scariest obstacle. Do you want it near the start of your video (a strong hook) or saved for the climax (a big finish)? Creators plan the order of their best moments.

Test your stage

Before moving on:

  • Press ▶ Play and start from the Stage 9 checkpoint.
  • Let the wall touch you once and confirm it sends you back.
  • Time a clean run through the hallway.
  • Touch the Stage 10 checkpoint, reset, and confirm you respawn there.
  • Design check. Does the wall give a clear opening to run through, or is the timing so tight it feels random?

If it breaks

  • The wall doesn't move. The Script must be inside SlidingWall. Check Output for a red error.
  • Output shows attempt to index nil with 'Size'. The script couldn't find the floor. It must be named exactly HallFloor (capital H, capital F, no spaces).
  • The wall teleports instead of sliding. The wait(0.02) inside the loops is missing — without it, every step runs on one frame.
  • The wall starts in the wrong place. Drag SlidingWall back to the FAR end of the hallway.
  • Players jump over the wall. Increase its Y size so it's taller than a Roblox jump (about 7 studs).
  • The Stage 10 checkpoint is the wrong color. Match BrickColor, TeamColor, and the Team's TeamColor.