Case study · In development · 2026
AEON
A god simulator built completely from scratch — no engine, no libraries. Civilizations rise, war, worship, and fall on their own; you raise mountains, bless harvests, and unleash the heavens.
None — built from scratch
Game engine
Birth-only souls
Population
Stone Age → Space
Era arc
6,687 lines
Simulation code

01
The premise
Every world starts as empty land and exactly two people. There is no scripted spawning: population grows only through birth, tribes form when kin-groups settle fertile land, and empires emerge organically from there — with procedural names, heraldry that ennobles with rank, and dynasties that pass power by blood succession. A 'Chronicle of Ages' records the history the world writes for itself: first city, first mine, first war, living legends chronicled on death.
02
What I'm trying to achieve
The design principle that reshaped the whole project is causality over spectacle. Midway through, the sim felt hollow — 'there is no real reason why anything is happening' — so everything was rebuilt around cause and effect. When a performance win abstracted the population to 100k statistical souls, it severed the link between events and people, and I reverted it: integrity over raw scale. The current goal is turning a deep simulation into an actual game — a resource economy, meaningful stakes, and an endgame where a civilization ascends to the stars.
03
A living world
Wars end through exhaustion, treaties, and annexation rather than running forever. Village limits, loyalty and rebellion, tech diffusion, and imperial decadence form negative-feedback loops so no empire dominates permanently. Sixteen resources drive scarcity, trade routes, and wars; faiths spread, schism, and fight holy wars; seasons and climate cause famines and migrations; disasters chain causally — a plague follows the war that crowded the refugees into one city.
04
Engineering
No engine, no runtime dependencies — an Electron shell around hand-written HTML5 Canvas 2D and a from-scratch WebGL2 instanced renderer that draws entire crowds in a single draw call. Audio is fully synthesized with the Web Audio API (no audio files). Terrain is procedurally baked with dual-grid coastline smoothing; portraits, skylines, and coats of arms are procedural SVG that evolve with era and rank. 6,687 lines of simulation across 17 modules.

Stack