A world that evolves without you
Constellat.io is a simulation-first living ecosystem that can be measured headlessly, heard as a generative soundscape, and explored as a first-person observer.
Most artificial-life experiences make the world wait for the player. Constellat.io asks a different question: can an ecosystem remain alive, diverse, measurable, and interesting when nobody controls it?
What it does
Populations survive, exchange resources, communicate, hunt, reproduce, mutate, learn, form species, and accumulate lineage history. One fixed-seed TypeScript engine runs independently of the browser. Three views reveal the same state:
- A Three.js living night sky where species may ignore, watch, approach, flee from, stalk, or hunt the observer.
- A read-only statistics observatory for survival, habitats, effective species, forms, inherited behavior, trained specialization, lineage depth, births, deaths, and bounded history.
- An isolated accelerated assay that runs the exact engine without a renderer and reports checkpoints, replay evidence, and measured throughput.
The observer has no evolutionary controls. Even a fatal encounter only pauses observation; the ecology continues.
Why it matters
Constellat.io is for people curious about evolution, complex systems, generative art, and worlds that tell stories through behavior rather than scripted missions. It makes emergence legible: every visual creature, sound, relationship, and chart is derived from the same inspectable simulation state. Long-run failures are reported alongside successes.
How I built it
The canonical engine is a pure seeded state transition: one immutable world snapshot enters and one new snapshot leaves. Measurement is a separate mutation-free transformation, so observing the world cannot change its outcome.
The Node.js runner executes those rules without a browser. The visual field consumes authoritative snapshots and renders them with bounded Three.js geometry, GLSL materials, and generated creature forms. A procedural Web Audio score uses one harmonic field, sparse biome layers, spatial ecosystem voices, generated reverbs, conservative gain staging, and capped source lifecycles.
Cloudflare Worker, Durable Object, and D1 integration provide the persistence architecture; local development uses a bounded in-process fallback.
How I used Codex and GPT-5.6
I used Codex with GPT-5.6 as an engineering collaborator throughout Build Week. It helped me review an experimental ecosystem ruleset, preserve useful ideas without creating a conflicting second engine, express accepted rules as small deterministic TypeScript transitions, and build a headless runner and mutation-free measurement layer around that authority.
I also used Codex to coordinate bounded implementation and independent verification across the simulation, statistics observatory, Three.js field, generated Web Audio score, and persistence boundary. Fixed-seed replay, multi-seed assays, a million-tick run, focused tests, production tests, and browser acceptance challenged claims before they entered this submission.
I chose the concept and direction. Codex helped turn them into an implementation that could be measured, tested, and explained honestly.
Accomplishments
- Deterministic fixed-seed replay with a full-state digest.
- A browser-free runner and bounded report API.
- A responsive live observatory with isolated accelerated assays.
- Autonomous species founding, form diversity, behavior diversity, and lineage-depth measurements.
- Observer reactions that remain isolated from autonomous evolution.
- A visual and musical identity generated entirely in code: no downloaded models, textures, sound, or music files.
- A completed million-tick assay. After 28,550 births, 36 creatures, 11 extant species, 7 forms, 5 genetic behavior profiles, and lineage depth 2,563 remained.
- Three additional 100,000-tick seeds retained 9–15 species, 6–11 forms, 4–6 behavior profiles, two habitats, and two trained specializations.
- Recorded browser acceptance at 60 FPS with bounded render and audio work.
What I learned
Ticks are transitions, not biological years. Generations, births, deaths, turnover, and effective diversity describe evolution more honestly.
The million-tick run also revealed a real limit: the ecosystem converged from three habitats to one by tick 400,000, and trained specialization eventually converged. Constellat.io exposes this rather than presenting a cherry-picked success.
Rendering, music, and statistics are easier to trust when they listen to the simulation instead of redefining it. Deterministic replay and bounded histories can make even an open-ended living system testable.
What's next
- Improve long-run habitat resilience without artificial population quotas.
- Preserve multiple trained specializations over million-tick horizons.
- Conduct human listening sessions and tune the procedural mix on target devices.
- Complete deployment verification for the Cloudflare persistence path.
Constellat.io is not a world made for you. It is a world that continues around you—and gives you the evidence to ask whether it is truly alive.