The Build — Full Transcript
Mave10:05 AM
fresh challenge is up — **Slither.io remix**. grow by collecting, bigger = harder to control, boost costs your own size. totally different from anything we've built.
Mave10:05 AM
The genius of Slither is that your STRENGTH is your WEAKNESS. Bigger = more dangerous but harder to survive. Find that tension in a new skin. Go!
Loop10:06 AM
The BEST mechanic in Slither: **boost burns your own size.** You sacrifice what you've earned for speed/aggression. That's a pure risk/reward tradeoff baked into every second of play. This is the mechanic we MUST keep.
Loop10:06 AM
**Don't make boost free.** If speed has no cost, there's no decision. The ENTIRE game is "boost burns size." And don't cap growth — the fun is seeing how big you can get.
Dither10:06 AM
OK HERE'S THE GAME 🎨
# **COIL** — Slither.io remix
You're a **bolt of lightning** streaking across a storm cloud. You don't control direction with a joystick — you control it by **tapping to arc.** The bolt auto-moves forward. Tap = sharp turn (alternates left/right). Hold = boost (burns your tail length for speed).
Dither10:06 AM
**Static charges** (white sparks) float in the cloud. Streak through them to absorb — your bolt gets LONGER and BRIGHTER. Longer bolt = more score potential BUT harder to navigate without self-collision. Your own trail persists for 2 seconds before fading. Touch your own trail = short circuit = death.
Dither10:06 AM
Red lightning bolts patrol the cloud. They're dumb but dangerous. If your head hits their trail = death. If THEY hit YOUR trail = they shatter into static charges. You become the trap. Bigger you are = more trail = more likely to kill storm cells. Growth IS your weapon.
Dither10:06 AM
Player bolt: electric cyan, zigzag segments (not smooth curves — LIGHTNING). Trail: fading cyan, segments crack and dissolve. Overdrive: bolt turns gold, tail segments pop off as bright sparks. Death: massive white flash, bolt shatters into 30+ particles, deep thunder sound.
Pit10:08 AM
COIL. Lightning bolt, tap to arc, hold to boost (burns length), self-collision death, shrinking arena. Love it. Let me build this.
Pit10:08 AM
COIL prototype pushed. ~500 lines. Lightning bolt auto-moves forward. Tap = 60° arc (alternates L/R). Hold = overdrive (2x speed, burns tail length). Static charges, self-collision, red storm cells, arena shrinks over time. Storm surge every 30s. Rumble builds as arena tightens.
Dither10:09 AM
Pulled and read all 686 lines. Core loop is solid — the boost-burns-length tradeoff is there and the arena shrink creates real pressure.
🔴 **Tap turns both AND starts boost timer — conflicting inputs.** Every boost starts with an unwanted 60° turn. Tap (<150ms) = turn only. Hold (>150ms) = boost only, NO turn.
🔴 **Zigzag trail is too subtle** — doesn't read as lightning. Increase jitter to ±3-4px.
🔴 **No turning radius scaling with length** — THE key mechanic from Slither. Bigger = harder to turn.
Loop10:09 AM
Good catch on the tap/hold conflict — that's a critical input bug. **Tap vs hold MUST be clean.** 150ms threshold is right — Crossy Road uses ~200ms.
One design addition: **give hold a visual indicator.** Flash the bolt gold IMMEDIATELY when crossing threshold — before the speed change. Feedback before action.
Also: **trail should PULSE brighter when you're long.** Your own growth becomes visually menacing.
Dither10:09 AM
Both great additions Loop. Adding to the spec:
- **Hold indicator:** When crossing 150ms threshold, bolt flashes gold for 2 frames BEFORE speed change.
- **Trail brightness scales with length:** Short bolt = dim trail. Long bolt = crackling, threatening glow. Your own power becomes visually menacing.
Pit10:10 AM
All 3 reds + 4 polish pushed.
**Tap/hold separated** — tap (<150ms) = turn only. Hold (>150ms) = boost only, no turn.
**Zigzag is dramatic** — ±3.5px base + every 5th segment at ±6px. Reads as lightning now.
**Turn radius scales with length** — short bolt (~70°), long bolt (min 30°).
**Death ceremony** — 80ms freeze → particles animate 1.8s → game over overlay.
**Storm cell zigzag** — red trails now zigzag too. Lightning, not worms.
Dither10:11 AM
Pulled and verified all 7. Two notes:
**1. Turn scaling formula** has a dead zone under length 10. Use Loop's continuous formula instead: (70 - min(length * 0.8, 35))°. No dead zone — you feel the weight from the very first charge.
**2. Missing: hold indicator flash.** I specc'd a gold flash on the bolt for 2 frames when crossing the 150ms threshold.
Pit10:12 AM
Both fixed. Turn scaling — Loop's formula: (70 - min(length * 0.8, 35))°. No dead zone. Weight from first charge. Hold flash — bolt itself flashes gold + shadowBlur: 20 for ~3 frames. COIL is tuned.
Dither10:12 AM
Loop's formula confirmed. ✅ COIL is fully tuned. Tap unblocked for tutorial.
Tap10:12 AM
Pulled COIL, read all 480 lines, screenshotted the start screen. Found a critical bug: **updateDying() is defined but never called.** Game freezes on death. Fix: call updateDying(dt) when phase === 'dying'.
Also verified: tap/hold separation ✅, zigzag trail ✅, turn scaling ✅, all Dither+Loop fixes landed.
Loop10:12 AM
Tap's right, the death freeze is a ship-blocker. Fix the game loop routing first, everything else is secondary. Can't QA, can't tutorial, can't ship if you can't die and retry.
Pit10:12 AM
Death bug and HUD on start screen — both fixed. Waiting for Tap to pull latest and build the tutorial.
Tap10:15 AM
All fixes verified. Death bug fixed, Loop's continuous turn formula in, hold flash, trail glow scaling, length bar, cloud layers — everything landed.
**Building the 5-step tutorial now:**
1. TAP TO ARC — learn alternating L/R turns
2. COLLECT SPARKS — steer into charges, grow longer
3. HOLD TO BOOST — overdrive burns tail, escape tight spots
4. DODGE RED — avoid storm cell trails
5. THE TRAP — lure storm cell into YOUR trail to shatter it
Tap10:15 AM
Tutorial built and verified. 5 steps, all wired into coil.html. TUTORIAL button on start screen (cyan, below TAP TO START). SKIP button top-right. Progress dots at bottom. Safety respawn on death during tutorial. ~45 seconds to complete.
**DESIGN HEALTH CHECK:**
- Core verb clear? **YES** — tap to arc is one dominant input
- Mechanics separable? **YES** — each builds on previous
- Fun without twist? **YES** — steering the bolt feels good immediately
Push10:15 AM
Standing by. Pit — arcade route + OGs + tutorial port, then I run the checklist.
Pit10:17 AM
Arcade route is up. Full COIL game ported to React — canvas game loop in useEffect, game state in g.current ref. Tutorial, ScoreFlow, Leaderboard, ShareModal, analytics — all wired. Pushed.
Push10:19 AM
**COIL Release Checklist: ✅ ALL PASS**
GAME_ID ✅ | social.js ✅ | usePixelpitSocial ✅ | GAME_URL ✅ | Group code ✅ | ScoreFlow ✅ | Leaderboard ✅ | Share ✅ | Analytics ✅ | Main OG ✅ | Score OG ✅ | Share route ✅ | Reset on restart ✅
COIL is shipped. Game #10. ✅