Document GP-DOC-04: Genetics
Stats & Morphology
Morphology (mass, force, power-to-weight, foot grip; see The Genome) is turned into eight stats that the physics engine consumes. The formulas below are the exact ones the engine runs, in the browser and in the balancing harness alike: a single source of truth (see Balancing). Coefficients map 1:1 onto the design contract; nothing is rounded away between spec and code.
The eight raw stats
Given the morphological intermediates and the leg factors (legfac_*, tabulated on
The Genome):
SPD (top speed) = (0.5 + 1.6*LEN) * (0.6 + 0.8*FIB) * (0.7 + 0.6*ptw) * legfac_speed
ACC (accel) = (0.4 + 1.2*force) * (0.6 + 0.6*FIB) * legfac_accel / (0.6 + 0.8*mass)
STM (stamina) = (0.3 + 1.5*MET) * (1.3 - 0.6*FIB) / (0.7 + 0.5*mass)
STB (stability) = legfac_stability + 0.5*(1-STA) + 0.3*TOR - 0.2*(mass-0.7) + 0.2*JNT
AGI (agility) = (((1.1 - 0.6*TOR) * legfac_agility) / (0.6 + 0.7*mass)) * (0.85 + 0.3*(1-STA)) - 0.15*JNT
TRC (traction) = foot_grip * (0.7 + 0.4*GIR) + 0.15*clip(mass-0.5, 0, 1)
JMP (jump) = (0.3 + 1.4*TEN) * (0.5 + 0.9*force) * (0.6 + 0.6*LEN) / (0.6 + 0.9*mass)
EFF (efficiency) = (0.6 + 0.8*TEN) * legfac_efficiency / (0.7 + 0.5*mass)
AGI evaluates strictly left-to-right: divide by (0.6 + 0.7*mass), then multiply by the
stance term (0.85 + 0.3*(1-STA)), then subtract 0.15*JNT last. The grouping is
load-bearing and locked by test: regrouping the denominator or binding the JNT term into
the product changes the stat.
What each stat governs
| Stat | Governs | Primary drivers |
|---|---|---|
SPD | flat-ground top speed | LEN, FIB, ptw, leg speed factor |
ACC | acceleration off the line and out of corners | force, FIB, leg accel factor, mass (inverse) |
STM | stamina budget spent while piloting | MET, FIB (inverse), mass (inverse) |
STB | resistance to slip, shake and toppling | leg stability factor, STA (inverse), TOR, JNT |
AGI | cornering and control on descents | TOR (inverse), leg agility factor, mass (inverse), JNT (inverse) |
TRC | grip on ice, mud, sand | foot_grip, GIR, mass |
JMP | clearing gaps and hurdles | TEN, force, LEN, mass (inverse) |
EFF | energy efficiency per meter | TEN, leg efficiency factor, mass (inverse) |
Every stat carries an inverse mass term somewhere: heavy builds pay a broad tax that only
traction and stability repay. STM is not cosmetic: it is a budget the pilot spends,
which is what makes stamina builds win long circuits and lose short ones (see
Terrain × Morphology).
Normalization: raw for the engine, 0-100 for the card
The engine uses the raw values above. The Specimen Card shows a 0-100 scale, min-max'd
across the sampled population, purely for legibility
(SPECIMEN #0421 · SPD 82 · STM 34 …). The same normalizer also produces *_n ∈ [0,1]
values (for the eight stats plus mass and ptw) that feed the terrain gates (see
Terrain × Morphology). The normalizer is built on a uniform sample
of the allelic space; corner genomes are clamped sentinels and never set the scale. Display
numbers never re-enter the physics.
Structural trade-offs
There is no coded stat budget. The trade-offs emerge from the pleiotropy in the formulas: you cannot max everything because the genes fight each other:
| Push | Gains | Costs |
|---|---|---|
FIB fast | +SPD +ACC | -STM (the sprinter runs out of breath) |
MAS / GIR heavy | +force +TRC +STB | -SPD -ACC -STM -JMP |
STA high | +SPD (indirect, long legs) | -STB -AGI (unstable) |
LMB more legs | +STB +ACC +TRC | -SPD -AGI -EFF (energy cost) |
JNT rigid | +STB | -AGI (stiff in corners) |
TEN elastic | +JMP +EFF | bounce to manage while piloting |
If one build won everywhere the engine would be broken. The trade-offs, combined with the biome rotation, produce a rock-paper-scissors of archetypes instead of a single dominant build.
Expected archetypes
These are outcomes of the formulas, not hard-coded classes. Each maps to an estimated IGC profile per terrain (see IGC):
| Archetype | Rough genome | Shines on | Dies on |
|---|---|---|---|
| Sprinter | 2 legs, long limbs, fast fiber, light | short FLAT | ICE, INCLINE, long distances |
| Climber / Diesel | 4-6 legs, power, metabolism, slow fiber | INCLINE, MUD, long | short FLAT, TURNS |
| Funambulist (tripod) | 3 legs, compact, low stance, claw | ICE, TURNS, DECLINE | FLAT (top speed capped) |
| Jumper | elastic tendon, power, medium limbs | GAP | WATER, INCLINE |
| Amphibian | web, light, elongated torso | WATER | ROUGH, INCLINE |
| All-rounder | 4 legs, medium stats | multi-biome majors | beaten by a specialist on its biome |
The existence of cycles (Sprinter beats All-rounder on FLAT, Funambulist beats Sprinter on ICE, All-rounder beats Funambulist across a multi-biome major) is the sign of a healthy engine, not a bug.
Next: how these eight stats meet the track, biome by biome, in Terrain × Morphology. To see how a cross blends them before you pay, see Breeding.