Stage 8: Spinner Showdown

Your factory manufactures danger on schedule, saved at Checkpoint_08. Ahead, the arena itself starts moving — one long arm, sweeping in circles, daring your players to find the gap.
Narration transcript
- Stage Seven packaged danger into a reusable function, saved at Checkpoint zero eight. Keep that tested checkpoint open. Stage Eight begins there.
- Build a spinning arm and a safe place to read it, learn CFrame rotation, and ship a crossing won by timing.
- Spoken bridge: Mission ready. First, understand the idea that makes this stage work.
a rotating sweep arm and a safe place to read it
how small repeated rotations create motion
a crossing won by timing
Idea
Narration transcript
- Rotation is just repetition: turn a tiny amount, wait a tiny moment, repeat forever. The turnSize and stepTime variables decide how fast the arm sweeps — and how brave your players need to be.
- Spoken bridge: Turn that idea into three small Logic Cards.
Roblox stores an object's position and rotation together in a CFrame. Multiplying the current CFrame by a small angle turns the object a little. A loop makes those tiny turns look like continuous motion — the same trick that animates almost everything in games.
The player needs a safe place to watch the rhythm before committing. That waiting pad isn't kindness; it's design.

Logic Board
Finish these cards from left to right. Each card becomes a Code Quest below.
- 1Card A
Narration transcript
- Build the arena around a center.
- The arm can rotate without hitting scenery.
Build the arena
Build the arena around a center.
Done when: The arm can rotate without hitting scenery. - 2Card B
Narration transcript
- Repeat one tiny turn forever.
- The arm rotates smoothly.
Repeat a turn
Repeat one tiny turn forever.
Done when: The arm rotates smoothly. - 3Card C
Narration transcript
- Add the consequence, tune, and save the checkpoint.
- Three clean crossings work and Checkpoint zero nine saves.
- Spoken bridge: The plan is complete. Pick your Build Mode on the page and build one card at a time — pause after every Studio action.
Make it playable
Add the consequence, tune, and save the checkpoint.
Done when: Three clean crossings work and Checkpoint_09 saves.
Build
Pick your Build Mode for the arena — the rotation loop is the same for everyone.
Every builder plays this stage in their own mode. Which sounds like you?
Not sure? Start with Guided — you can level up on any stage, and your pick follows you through the whole course.
Names that must match
Build inside Workspace → Course → Stage08, from Checkpoint_08 to Checkpoint_09. The scripts here live inside the parts they control — no name hunting yet. These names keep your Explorer readable and your stage debuggable. Stages 9 and 10 hunt parts by name again — keep the habit.
WaitingPadA safe area outside the spinner's reach.CrossingThe area the spinner sweeps.SpinnerThe rotating arm.Must have: Material Neon · Script: SpinnerControllerLanding_09The landing that ends the stage — Checkpoint_09 stands here.
Reference buildStuck, or just want to copy ours? Here is exactly how we built this stage.
These values always work together. Copy them as-is, or borrow a few and keep the rest of the stage yours.
Build this partWaitingPad
Part · BlockOpen recipe
WaitingPad
Part · Block- Size
- 16 × 1 × 14
- Anchored
- ✓ Yes
- Orientation
- 0 × 0 × 0
- CanCollide
- ✓ Yes
- Place
- Position [0, 3.5, 474] inside Workspace → Course → Stage08
Build this partCrossing
Part · BlockOpen recipe
Crossing
Part · Block- Size
- 8 × 1 × 24
- Anchored
- ✓ Yes
- Orientation
- 0 × 0 × 0
- CanCollide
- ✓ Yes
- Place
- Position [0, 3.5, 497] inside Workspace → Course → Stage08
Build this partSpinner
Part · BlockOpen recipe
Spinner
Part · Block- Size
- 26 × 1 × 2
- Color
- Bright orange
- Material
- Neon
- Anchored
- ✓ Yes
- Orientation
- 0 × 0 × 0
- CanCollide
- ✓ Yes
- Place
- Position [0, 8, 497] inside Workspace → Course → Stage08
Children: Script: SpinnerController.
Build this partLanding_09
Part · BlockOpen recipe
Landing_09
Part · Block- Size
- 12 × 1 × 12
- Anchored
- ✓ Yes
- Orientation
- 0 × 0 × 0
- CanCollide
- ✓ Yes
- Place
- Position [0, 3.5, 518] inside Workspace → Course → Stage08
Code
Build around a center
Narration transcript
- Build your showdown per your track: a waiting pad outside the arm's reach, a crossing, and a spinner arm above it that sweeps the whole width.
- Spoken bridge: Card A now matches its success check. Continue to Card B.
A — The arena. Build your showdown per your track: a waiting pad outside the arm's reach, a crossing, and a spinner arm above it that reaches every corner. Two checks before any code: spin the arm by hand with the Rotate tool — nothing to clip through — and walk the crossing counting your steps. That step count is the time window you're about to design.
Turn a little, many times
Narration transcript
- Each pass turns the arm one small CFrame step, waits, and repeats — smaller steps look smoother, shorter waits move faster.
- Insert SpinnerController inside Spinner and type the rotation loop, then watch it spin.
- Spoken bridge: The behavior passed its focused test. Finish the checkpoint handoff.
Each pass turns the arm one small CFrame step, waits, and repeats. Smaller steps look smoother; shorter waits move faster.
B — Repeat a turn. Insert a Script in Spinner, rename it SpinnerController, and type the loop below. math.rad(3) converts three degrees into the unit CFrame expects. Press Play and watch it spin.
local spinner = script.Parent
local turnSize = math.rad(3)
local stepTime = 0.03
while true do
spinner.CFrame = spinner.CFrame * CFrame.Angles(0, turnSize, 0)
task.wait(stepTime)
end
Add consequence and tune
Narration transcript
- Add the touch consequence above the loop, tune turnSize or stepTime one at a time, then add Landing zero nine and complete the Checkpoint zero nine recipe.
- Spoken bridge: The next checkpoint saved. One designer check before you style it: does your stage pass?
C — Make it playable. Above the loop, reuse the touch handler you know from Stage 4. Then tune turnSize or stepTime — one at a time — until crossing takes timing, not luck. Add an anchored Landing_09 past the crossing (reference: [12, 1, 12]) and complete the checkpoint recipe.
spinner.Touched:Connect(function(otherPart)
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then humanoid.Health = 0 end
end)
Compare your finished script
local spinner = script.Parent
local turnSize = math.rad(3)
local stepTime = 0.03
spinner.Touched:Connect(function(otherPart)
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then humanoid.Health = 0 end
end)
while true do
spinner.CFrame = spinner.CFrame * CFrame.Angles(0, turnSize, 0)
task.wait(stepTime)
end
Checkpoint recipeSave progress at Stage 9
Using the voice guide? It reads one recipe step, waits while you work, then continues when you choose Done — hear next step.
- Insert one SpawnLocation in Workspace and rename it
Checkpoint_09. Set Size to about[6, 1, 6]and Anchored totrue. Centered on the landing that ends Stage 8, with its top just above the landing surface. (Our reference build puts it at Position[0, 4.5, 518].) - Set Neutral to
false, Enabled totrue, and AllowTeamChangeOnTouch totrue. - Set the SpawnLocation TeamColor to
Deep orange. Set its visual BrickColor to the same named color. TeamColor controls respawning; BrickColor only controls what the pad looks like. - Point at Teams in Explorer, select its +, and insert one Team named
Stage 9. Set its TeamColor toDeep orangeand AutoAssignable tofalse. Never reuse this TeamColor on another checkpoint. - Press Play. Climb to and touch
Checkpoint_09, then reset your character and confirm you respawn there. Press Stop before editing again.
Workspace → Checkpoint_09Teams → Stage 9 (Deep orange)Does It Pass?
Narration transcript
- Time for the designer check. Play your showdown and walk the pass list: the arm sweeps everything, the waiting pad never gets hit, and three timed crossings work in a row. A rule that fails is just the next thing to tune.
- Spoken bridge: Your stage passes — it is a real level now. Time to make it feel like your game.
Does your stage pass?
Play your stage and check each one. A rule that fails isn't a mistake — it's just the next thing to tune.
- Nothing moves, falls, or drifts — every part stays exactly where you put it.Check: Press Play — everything stays put.Tip: Anchored on for every part, and CanCollide on for anything players stand on.
- The arm sweeps the whole crossing at head height — standing still in its path never works.Check: Stand in the crossing: the arm reaches you everywhere.Tip: Measure the crossing corner to corner — the arm must reach that far.
- The waiting area sits fully outside the arm's reach.Check: Stand on the waiting pad through three full spins untouched.
- A player can read the spin and time a clean crossing.Check: Cross three times by watching the arm, never by luck.
Make It Yours
Narration transcript
- Theme the arena: what spins in your world? A windmill blade, a candy cane, a ghostly broom? Restyle the arm and dress the crossing so the showdown belongs to your game.
- Spoken bridge: That is your stamp on the stage. Now explain what made it work.
What spins in your world? A windmill blade, a giant candy cane, a ghostly broom, a satellite arm? Restyle the arm and dress the crossing so the showdown belongs to your game — as long as the sweep still reads as danger.
Help Ladder
Stuck? Choose what went wrong
Pick the problem that matches. Open one clue, try it, then return only if you still need help.
My parts overlap or miss the next checkpoint
Clue 1: small hint
Narration transcript
- Stop Play mode and check one part against the stage rules before touching anything else.
Clue 2: where to look
Narration transcript
- Check Workspace, Course, Stage zero 8, and keep both checkpoints directly inside Workspace.
Workspace → Course → Stage08. Find Checkpoint_08 and Checkpoint_09 directly inside Workspace.Clue 3: worked answer
Narration transcript
- Walk your stage rules top to bottom and fix the first rule that fails. If you want a layout that always works, open the reference build and copy its values.
Checkpoint_08.the spinner moves in a giant circle
Clue 1: small hint
Narration transcript
- The rotation may be happening around another object's pivot.
Clue 2: where to look
Narration transcript
- Confirm the Script is inside Spinner and its first line uses script dot Parent.
script.Parent.Clue 3: worked answer
Narration transcript
- Use one centered Part named Spinner, anchor it, place the Script inside it, and multiply spinner dot CFrame by CFrame dot Angles.
spinner.CFrame by CFrame.Angles.Learn What Happened
Narration transcript
- Tiny turns repeated forever became smooth rotation, and two variables tuned the whole challenge. Repetition plus small steps is how games animate almost everything.
- Spoken bridge: Use one small prediction to transfer that idea.
The code never says "spin forever" in one instruction. It commands one tiny rotation, waits, and repeats — and your eye does the rest. Smaller steps look smoother; shorter waits move faster. Repetition plus small steps is how games animate almost everything.
Try This
Narration transcript
- Predict whether halving stepTime or doubling turnSize spins faster, compare with one playtest, and connect the result to the loop.
- Spoken bridge: Finish with four proof checks. Each check must match something you can observe or explain.
Try this
Three short thinking checks. Use evidence from the stage you just built.
Prove It
Narration transcript
- Spoken bridge: Final proof. Confirm one result at a time.
- Your spinner sweeps the whole crossing, and the waiting area stays safe.
- Rotation and damage work through three clean crossings.
- Checkpoint_09 saves progress and reset returns you there.
- You can explain how repeated CFrame turns create rotation.
Narration transcript
- Stage Eight complete. You made rotation fair and earned one hundred XP. Stage Nine hides a key — and teaches your game to remember.