Species Evolution — 1 million years across 10 stages from tide pools to spaceport
A 3D EPOCH demo: 1,000,000 sim-years across 10 stages — TIDE POOLS → SHALLOWS → REEF → SHORE → FOREST → PACK HUNTERS → TOOL USERS → VILLAGES → CITIES → STAR REACHERS — with body plan morphing per stage and 30 named legendary Vipari across the full arc.
Built with:
three.js r0.160 (single file)Body plan morphing per stage (limbs 0→4, posture swim→walk→upright)localStorage species memory across reseeds
Prompt
Build a single-file HTML page that recreates "1,000,000 years of a fictional species evolving" as a continuous 3D autoplay world. The Vipari evolve through 10 stages from primitive tide-pool dwellers to spacefaring civilization. Spore Galactic Adventures cozy + David Attenborough vibe.
Hard constraints:
- One HTML file, < 200KB.
- three.js r0.160.0 from unpkg, IIFE, strict mode, full disposable cleanup, reseed every ~10 min advancing into the next million years.
- First body line: <!-- ROUND16_EPOCH v1 -->
- localStorage memory under key `vipari_evolution_memory_v1` — species traits + named legendary individuals from each era. On reseed, advance to next million years.
- Generational aging at species level: each stage's body plan visibly differs (size, limb count, color, posture, tools, helmet).
- Visible structural change — environment morphs across stages: tide pool → reef → shore → forest → savanna → village → city → spaceport. Geological backdrops change every era.
- Era HUD: "STAGE [N] of 10 — YEAR [n] of 1,000,000".
- 5+ sub-locations per stage representing different niches: feeding ground, breeding ground, predator territory, sleeping area, gathering area. Late stages: market plaza, hydroponic bay, command deck.
- Mini-map HUD = top-down terrain + hotspots + named hero positions + 80-instance dots + camera marker + stage/year overlay.
- 100+ named individuals across stages: 30 named legendary Vipari (3 per stage) + InstancedMesh population of 80 with stage-appropriate body plan + 80 instanced filler names sourced from FILLER_NAMES.
- 20+ director cameras: tide-pool low, reef swim, shore crawl, forest canopy, savanna pursuit, tool-knapping, fireside arc, village dawn, city skyline, great spire, spaceport, rocket launch, star gaze, crane overview, lineage close-up, slow orbit, hero tracker, birds-eye.
- Cross-system chyron: "Stage 7, Year 723,400 — first Vipari named THUL discovers fire. Stage 9, Year 920,000 — descendant city of Tholava holds 50,000 Vipari."
- 900-star Points object that fades in at stage 5+, full opacity stage 10 night sky.
Tone: wondrous, hopeful, scientific. Like watching evolution as a documentary on time-lapse. No graphic violence. Predation handled via "Stage 6 — pack hunting innovation reduces extinction risk."
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- How to morph a body plan visibly across 10 evolutionary stages — limbs add (0→2→4), posture rises (swim→crawl→walk→upright), size scales, color shifts, tools appear, helmet at stage 10
- How to use localStorage to give a single named individual (THUL who discovers fire in stage 7) a documented descendant (Tholan founding Tholava in stage 8, Tholava city of 50,000 in stage 9) across the entire million-year arc
- How to build 10 environments in one demo by procedurally swapping tide pool → reef → forest → savanna → village → city → spaceport using only primitive geometry + sky/fog/sun palette per stage