Mecha Pilot Cup — Tournament Final Broadcast (3D)
8 mechs. 4 quarterfinals. Sky goes day → dusk → night. SHIN and VOX are calling it.
Built with:
HTMLJavaScriptthree.js
Prompt
An autonomous 3D mecha pilot cup tournament broadcast. 8 humanoid mechs built from primitives: TITAN-1 (rifle), VENGEANCE-X (saber), ZEPHYR (rifle), MAULER (fists), ARTEMIS (cannon), PHANTOM (saber), COLOSSUS (cannon), KING'S GAMBIT (rifle). Each with reactor cores, visors, antennas, backpack thrusters. 8 pilot dossiers with bios + quotes. 2 announcers (SHIN play-by-play, VOX color analysis) rotating chyron lines. Tournament state machine: INTRO → MATCH_INTRO → FIGHT → SUPER_ATTACK_A/B → KO → BRACKET_UPDATE → CHAMPION → RESET (loops forever). Bracket: 4 QFs → 2 SFs → Final. Live bracket panel updates with strikethrough/winner highlight. Multi-camera director: ARENA, CHASE, WEAPON, IMPACT, BROADCAST, COCKPIT-FOLLOW — auto-cycling with cam badge. HP bars per mech. Super-attack full-screen flash cut-ins with signature move names. Lower-thirds rotating: WHO IS / MECH SPECS / SIGNATURE MOVE / TRANSFORMATION. PIP cockpit cam (separate scene/renderer). Sponsor card, scrolling ticker. 320-figure instanced crowd with wave animation. 4 colored stadium spotlights pulsing. Octagonal stands. 48-building city skybox. ACES tonemapping. Sky progression: day (QFs) → dusk (SFs) → night (Final + Champion). Champion ceremony: 12s celebration, canvas confetti, winner mech rotates center-stage. Auto-restart: bracket resets and broadcast loops indefinitely.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- Sky progression (day → dusk → night) tied to tournament round is the cheapest way to make a single-arena tournament feel like an EPIC tournament — no new geometry, just a `sky.color.lerp()` synced to bracket progression.
- Super-attack full-screen flash cut-ins with signature move names ('LIGHTNING SLASH', 'PLASMA STORM') are the anime-broadcast hook — they freeze the action, fill the screen with the move name, then resume. Costs nothing, sells the spectacle.
- A tournament bracket as state machine (INTRO → MATCH_INTRO → FIGHT → SUPER_A/B → KO → BRACKET_UPDATE → CHAMPION → RESET) keeps a 12-fight tournament under 6 minutes by compressing each fight to ~30s — perfect for a Twitch chunk.