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.
Built with:
three.js r0.160 (single file)Noise-displaced gray terrain + Fresnel-translucent domeslocalStorage colony memory across reseeds
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