Punnett Runs
Breed a line that breeds true for a target phenotype, reading genotypes you cannot see from the offspring they produce.
4
levels4–15 min
a run, player-paced11
movesNo timer
player-paced, always
Punnett Runs
Breed a line that breeds true for a target phenotype, reading genotypes you cannot see from the offspring they produce.
A pen of plants whose phenotypes you can see and whose genotypes you cannot, a target, and a budget of generations. Each generation, cross two plants — or let a pea fertilise itself — and count the clutch the seeded sampler deals. A dominant-looking plant may be a carrier; the only probe is a cross, and a cross costs a generation. When you trust your reading, commit a founding pair. Small clutches mislead.
Levels
4 levelsThe tag on each level says how it gets harder. Levels gate on ideas, not on each other — jump wherever it gets interesting.
What decides the outcome
The game never restates the science — it imports it. These are the model layers that do the deciding.
Gametes and segregation, independent assortment and linkage (`gametes`), sampled offspring that keep linkage phase (`sampleOffspringKeepingPhase`), the exact expected distribution that judges the commit (`expectedDistribution`, `phenotypeDistribution`), and the seeded generator. The game states no law of inheritance of its own.
Why it teaches
The author's own delete-the-science argument: remove this game's substrate and there is nothing left to choose.
Every move is a genotype inference: which plant to cross, with what, and whether a clutch is large enough to believe. Without the substrate's segregation and sampling, every round pea is the same pea and every cross is a random button; with it, a test cross against a recessive plant is the only move that tells a carrier from a homozygote, and committing too early on a small clutch loses a run the mechanism line explains.
Accessibility
The contract's declarations, stated before you commit to a run.
Keyboard
Playable start to finish from the keyboard.
Screen reader
Every move is narrated — the narration is the state, not a description of a picture.
Motion
Reduced-motion: consequences render statically.
Audio
Silent — no sound, and nothing on screen moves on its own.