Moon Colony 50 Years — first lander to space elevator with named pioneers across generations
A 3D EPOCH demo: 50 sim-years from first landing to a 22-dome lunar city, the first lunar baby Selene Moss grows from infant to teacher with a moonbus pilot career in between, with maglev tracks, mass driver, and space elevator anchor visibly built across the loop.
What this is
A 3D recreation of 50 years building a lunar colony, from a single lander on a noise-displaced gray crater rim to a city of 5000 with a space elevator anchor climbing into orbit. Nine sub-locations sit on one map: lander pad, command dome, agriculture biodome, mining pit, residential dome row, school dome, observatory crater rim, mass driver track, moonbus terminal. Twenty director cameras cut between them with era-biased weighting. The colony grows visibly: 0→1→3→6→12→22→34 domes across the loop, with maglev tracks appearing at Year 10, mass driver at Year 30, space elevator anchor at Year 45. Earth slowly rotates in the sky overhead with vertex-color continents and a halo. Twenty-two hundred stars sit in the Points cloud behind it. The lunar lander has thermal foil and a flag. Eight featured colonists — Commander Voss, the first lunar baby Selene Moss, mining chief Hara, dome architect Patel, doctor Morgan, teacher Okonkwo, agricultural lead Tanaka, geologist Reinhardt — share the colony with twenty-two named secondary cast and seventy InstancedMesh colonists in spacesuits.
The colony remembers. localStorage saves cycle count, epoch start year, the 8-name cast, recent history, last year + population. After ten minutes the world advances another fifty years.
You don't play it. You watch it. And it remembers.
Why this is mind-blowing
Selene Moss is the secret weapon. She's born on Year 10 — the chyron prints "First lunar baby Selene Moss born in dome 2 hospital." Year 18 she's a child playing in the schoolyard cameras. Year 25 she's training as a moonbus pilot — the moonbus terminal cameras dominate. Year 38 she's an instructor at the school. Year 47 she's a parent in the residential dome. That's one named character you follow for 50 sim-years of structural growth: the maglev she rides on appears at Year 10, the mass driver she watches launch capsules from appears at Year 30, the space elevator she tells her own kids about appears at Year 45. Reseed every ten minutes advances another fifty years and Selene's daughter is the new first-lunar-baby-born-in-the-elevator-era. Tone is NASA-cozy, kid-safe, inspirational. The only "incident" is a contained pressure event in Year 18 — handled in the chyron only as "no casualties." It's the For-All-Mankind-cozy stream you'd actually put on overnight.
Prompt
Build a single-file HTML page that recreates "50 years building a lunar colony" as a continuous 3D autoplay world. From a single lander to a city of 5000 with a space elevator anchor. NASA-cozy, hopeful, the kind of stream you'd put on while you fall asleep dreaming of being on the moon.
Hard constraints:
- One HTML file, < 200KB.
- three.js r0.160.0 from unpkg, IIFE, strict mode, full disposable cleanup, reseed every ~10 min advancing 50 years (the next half-century begins).
- First body line: <!-- ROUND16_EPOCH v1 -->
- localStorage memory under key `moon_colony_memory_v1` — 8 named colonists with role + tenure + state + cycle count + last year + population. On reseed, advance roles.
- Generational aging — first lunar baby Selene Moss born year 10 ages through INFANT → CHILD → TEEN → MOONBUS PILOT → INSTRUCTOR → PARENT across the loop.
- Visible structural change — Year 0: lone lander. Year 2: 1 dome + 1 hab. Year 5: 3 domes. Year 10: 6 domes + maglev. Year 20: 12 domes + agriculture biodome. Year 30: 22 domes + mass driver. Year 50: 34 domes + space elevator anchor.
- Era HUD: "YEAR [n] of 50 — POPULATION [n]".
- 6+ sub-locations: lander pad, command dome, agriculture biodome, mining pit, residential dome row, school dome, observatory crater rim, mass driver track, moonbus terminal.
- Mini-map = top-down crater map with active hotspot + dome growth count.
- 100+ named colonists: 8 featured cast (Voss, Selene, Hara, Patel, Morgan, Okonkwo, Tanaka, Reinhardt) + 22 named secondary (engineers, kids, parents, scientists) + 70 InstancedMesh colonists in spacesuits.
- 18+ director cameras: lander pad wide, command dome interior, biodome canopy, mining pit, residential street, observatory rim, mass driver POV, moonbus arrival, Earth-rise pan, lunar surface chopper, school dome, maglev cab cam, city overlook, crater rim, top-down, schoolyard, pit panorama, space elevator anchor, establishing, bus terminal close.
- Cross-system chyron: "Year 10 — first lunar baby Selene Moss born in dome 2 hospital. Year 25 — Selene now training as a moonbus pilot."
Tone: hopeful, scientific, pioneering. NASA-cozy. No disasters except one small contained pressure incident in year 18 ("Dome 4 pressure incident contained, no casualties"). Kid-safe inspirational vibe.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- How to build a lunar colony that grows visibly across 50 years by gating dome counts + mass driver + space elevator on a 0-50 sim-year progress variable
- How to give a single character (Selene Moss, the first lunar baby) a 50-year career arc across reseeds: INFANT → CHILD → TEEN → MOONBUS PILOT → INSTRUCTOR → PARENT, all surfaced in the chyron
- How to render a translucent dome with Fresnel + animated maglev train on CatmullRom curve + mass driver capsule loop + climbing space elevator car all in one inline three.js script under 55KB