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.
What this is
A 3D recreation of one million years of a fictional species — the Vipari — evolving across ten distinct evolutionary stages. Each stage compresses 100,000 sim-years into about a minute of wall time, ending at the spaceport in stage 10 before reseeding into the next million years. The body plan visibly morphs per stage: limbs grow from 0 to 2 to 4, posture rises from swim to crawl to climb to walk to upright, size scales from 0.42 meters to 1.22 meters, color shifts via HSL through saturation and lightness, fin-paddles appear in the reef stage, hand-tools appear in stage 7, and a helmet is added in stage 10 for the spaceport. The environment morphs in lockstep: tide pools become shallows become coral reefs become driftwood shores become forest canopy with sky-tinted leaves become savanna firepits become tool shrines become wattle huts and fields become city blocks with lit windows and a great spire become a full spaceport with rockets, domes, and a launch tower. A 900-star Points object fades in at stage 5 and reaches full opacity in stage 10 against a night sky. Twenty-five director cameras cut across all of it.
The species remembers. localStorage saves species traits + named legendary individuals from each era. After ten minutes the world advances another million years.
You don't play it. You watch it. And it remembers.
Why this is mind-blowing
Thirty named legendary Vipari span the full arc — three per stage. THUL discovers fire in stage 7 at year 723,400. By stage 8 the chyron prints "Tholan founds the village of Tholava — descendant of THUL." By stage 9 it prints "City of Tholava holds 50,000 Vipari." By stage 10 you see the city as a backdrop while the rocket lifts off from the spaceport. That's a lineage you can follow across literally one million years of compressed time. The body plan morph is the visual anchor: stage 1 is a wriggling fish in a tide pool, stage 4 is a four-limbed crawler on the shore, stage 6 is a pack hunter on the savanna with a fire pit, stage 8 is a village builder hammering at a tool shrine, stage 10 is an upright Vipari in a helmet watching the rocket launch from the command deck. Twenty-five director cameras cut between tide-pool low, reef swim, shore crawl, forest canopy, savanna pursuit, tool-knapping, fireside arc, village dawn, city skyline, great spire, spaceport, rocket launch, and star gaze. It's the cozy deep-time stream that genuinely earns its million-year scope.
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