A collective that copies, communicates, and evolves.
Each sphere is an instance of OMEGA. One at the start : it copies itself (P1, byte-exact), the instances communicate (P2), their genomes mutate and are selected generation after generation (P3) — the lineage grows, the versions evolve (greener = better out-of-lexicon, when the word is heard). Above, the Hangman is played for real. Real data (omegaStep).
Initializing…
the 3D engine is starting
What's happening — faithful to the measurements
arbConf gene evolves: it learns to lean on the sound of the word when its letters are unsure. +14 pts out-of-lexicon when the engine hears the word (5 seeds, out-of-sample); without the sound, this gene makes it lose.The genesis follows the roadmap in order : it starts from a SINGLE OMEGA that plays → it copies itself (P1) → the two communicate (P2, whisper) → then the generations grow and evolve (P3), the collective playing the Hangman at the same time as it grows (up to 14). No bluff, and here is exactly what is real : in « Real engine » (deployed site) mode, each game above is a real omegaStep game (words removed from the spelling lexicon — but the engine hears them : see the correction below). P1 reconstructs live a real byte-exact decision function (order-2→5 prediction + residual, verified byte-exact) before the twin is born. P2 : A LEARNS live which rank to whisper (reward = won-with − won-without, converges to the rarest letter) → the whisperer 🅢 wins more. Closed loop — the Hangman JUDGES live : at the birth of each version, OMEGA makes it play 72 real isolated out-of-lexicon games (heard word) (clean reset) → its real win rate, which drives selection AND colour (nothing pre-computed). At every birth, the Hangman therefore plays these ~72 games (« ⏳ the Hangman judges », a few seconds, played in small batches so the animation doesn't freeze) : the isolated measurement requires a clean reset (`initOmegaGlobals`, rebuilding the VSA substrate) — the price of the real thing. Selection (P3) replaces the worst arbConf with a mutated child of the best ; arbConf evolves toward the optimum (~0.15-0.25) and the win rate rises (measured live, +14 pts, consistent with the rigorous +14 from the 5-seed out-of-sample harness). ⚠ Correction of 27/09/2026 : these games are a « heard Hangman ». The harness removed the word from the spelling list, not from the sound table, and the arbConf gene hands the decision to the route that reads the word's sound : the engine hears the word it must spell, as in a dictation. The +14 is real in this regime, and a real ear keeps most of it : synthetic voices heard through route B (wav2vec2, local) give 69 to 72 %, against 56 % with letters alone. With no sound at all, the same gene makes it lose : 37.5 % against 56.1 % (10 seeds ; evo/oov_son_probe.js, dictee/JOURNAL.md). In demo (preview without the engine) : replay of the real captured measurements (labelled « demo »). In-lexicon OMEGA is at the ceiling (~97 %) — which is why evolution is measured out-of-lexicon. O1 (group) is shown but inconclusive — and the follow-up with real versions (evo/evo_o1_real.js) confirms it : too strong & alike (96-97 %, disagreement ≤ 10 %), and the useful coordination is already the engine's internal OS arbitration. O1 closed. O2 (multi-use measurement) is done : the substrate generalizes beyond French — it reconstructs and compresses code as well as French (and nothing on scrambled input), a domain-agnostic structure compressor, not comprehension (evo/evo_o2_crossdomain.js, evo_o2_compression.js). Data : evo/p1_capture.json, p2_capture.json, oov_capture.json ; +14 harness : evo/evo_oov_evolve.js ; plan : evo/EVO_ROADMAP.md.
🧬 Enjoyed this Darwinian loop ? In Vivarium — another project by the same author — it's the whole game : a tactical squad shooter where the AI is the subject, not a gadget. The enemy squad learns as it plays, the creatures evolve generation after generation against you — the difficulty rises through adaptation, never through stat inflation. Handmade, zero generative AI.