Genetic Simulation
A browser-based 3D simulation: agents driven by genetic algorithms, surviving and evolving across generations in a procedurally generated environment.
Draft. Site under construction.
What this is
An open-ended, browser-based 3D simulation. Small woodland creatures live in a procedurally-generated terrain. Their behavior is not scripted — each creature carries an evolved policy that drives perception and movement. They survive, reproduce, and pass on traits across generations. Sometimes a generation gets noticeably better at navigating its environment. Sometimes it does not. That is the point.
This is not a product. It is range-and-depth evidence — the kind of obsessive, multi-system work that does not show up on a resume bullet point.
What I built
About 16,000 lines of TypeScript on top of Three.js. Custom systems for genetics and inheritance, agent perception, terrain generation, level-of-detail rendering, and scene management. Browser-only — no server, no backend.
Each system is small. The interesting work is in how they compose. A perception model that is too rich kills the frame rate; a genetic representation that is too simple cannot evolve interesting behavior. Most of the project was tuning the relationships between these pieces.
Stack / Approach
Three.js for rendering. TypeScript throughout. Genetic algorithms drive agent behavior. Level-of-detail systems allow the scene to scale to many agents and large terrain without dropping frames. No frameworks beyond what was strictly necessary.
Why it’s here
Most consultants will tell you they go deep on hard problems. This is the demonstration. A browser tab full of evolving creatures is not anyone’s billable engagement. It is what doing the work looks like when no client is asking.
The same instinct that obsesses over LOD-tuning also obsesses over backups, error handling, and operational durability. They are the same instinct, applied to different problems.