9c2c2d7fd06b8c1b4f02b22e565dd104fadebcc5
Plants now carry a managed Genome and read formula-computed traits
instead of the hardcoded PlantGenome struct. Engine pointer -> ead2251
(GenomeTemplate + Breed mutationChance override).
- PlantOrganism { Genome; PlantPhenotype Traits } replaces PlantGenome.
Traits (optima/tolerances, vigor, lifespan, dispersal, reproduce
interval, self-pollination, mutation rate, morph variant) come from
Phenotype.Compute over the gene effect formulas in genes.json.
- PlantSet builds a per-species GenomeTemplate by mapping each species'
existing plants.json genome numbers onto the shared GeneDefs, and
exposes the gene registry. Species values unchanged — only reinterpreted
through genes now.
- Growth and lifecycle systems read PlantOrganism.Traits; breeding goes
through Genome.Breed with the registry and a mutation chance averaged
from the parents' evolvable mutationRate trait. Scatter generates from
the species template.
- Save stores the genome as a geneId->Allele map; load rebuilds it
(empty/legacy saves regenerate from the template — dev saves disposable).
Behaviour matches phases A-D, now fully data-driven through genes and
formulas. Full suite green; boot smoke test loads genes + plants cleanly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
LittleSim
A god-game with minimal graphics and deep simulation, built on the
mrgameeng engine (git submodule engine/).
git clone --recurse-submodules <this repo>
dotnet run --project src/LittleSim -c Release
Design docs (Russian): docs/concept.md, docs/roadmap.md.
Languages
C#
73.1%
JavaScript
25.2%
HTML
0.8%
CSS
0.7%