Roguelite Hero — 12-Run Vampire-Survivors-Likes (3D)
Survive 5 minutes. Die. Unlock something. Run again. Forever.
Built with:
HTMLJavaScriptthree.js
Prompt
An autonomous 3D Vampire-Survivors clone. 8 heroes (Aria, Tor, Vale, Kestrel, Brynn, Zelth, Pip, Mira) each with unique color, starter weapon, and bonus. 7 weapons each evolving into named ultimates (Magic Bolt → Phoenix Cascade, Pulse Wave → Stellar Blossom, Orbiting Blades → Cyclone Dervish, etc.) when paired with the right passive. 6 passives (Crystal Lens, Whisper Tome, Iron Gauntlet, Stormwing, Swift Boots, Amulet of Veins, Hollow Lantern). 3 stages cycle every 75s — Crimson Crypt, Verdant Hollow, Frozen Vault — each with hazards, decor, and tinted fog. 4 boss spawns at 1/2/4/5 minutes (Lord Cravenmaw, The Murmuring Choir, The Iron Reaper, The Eternal Reaper). 550 enemies on screen via InstancedMesh. Auto-pick upgrade cards every level-up. Run summary modal with kills, time, killed-by, best weapon. Meta-progression persisted in localStorage. 12-run unlock track. Auto-start next run forever.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- InstancedMesh per enemy type → 550 simultaneous enemies at 60fps. One mesh per enemy would crater the GPU at 50.
- Auto-picking upgrade cards after 1.3s freeze means the streamer doesn't see a stuck game on level-up — the autopilot keeps moving.
- Meta-progression with localStorage gives stream viewers a reason to stay tuned: 'is THIS the run that unlocks Mira?' Each loop has progression stakes even though every individual run is the same length.