The genome

Thirty-two bytes. That is the whole description of a moeba; everything else is read from it, the same way every time. Below, a real one is unfolded from its token down to a single locus; further down you can change one value and watch the body answer.

Read along

From the token to the body

One real moeba, unfolded. What the ledger holds for it, the 32 bytes inside that, the two ribbons the bytes are read as, and one locus read to the end. Choose any cell to follow it through every stage.

Try it

Turn the dials, watch the body

Pick a moeba and one of its loci. The two dials are its two copies of that locus: turn one, and the body on the left redraws. When the copies differ, the dial that shows is the one the body follows; the other is carried, and turning it changes nothing you can see. Everything you change is listed under the dials. Nothing here is written anywhere.

Living specimenDrawn on your device

Two copies of thirty-six loci

The 32 bytes are two halves of 16 bytes, called copies. Each half holds the same 36 positions, the loci, packed at a few bits each. Every moeba therefore carries two values at every locus: one that came from its first parent, one from its second. The loci come in four groups, and the groups matter for inheritance (chapter 2):

Named variants and numbers

Some loci choose between named variants: a body plan is elongate, compact, discoid, and so on. When the two copies differ, a fixed ranking decides which one shows; the other is carried and can be passed on. That is what you saw in the lab when a change did nothing. The ranking is a rule of expression, not a measure of strength.

Other loci are numbers. The two copies are added, and where a trait has several loci they are added too, giving a value from 0 to 255. Body size, limb length, pattern density and the movement parameters work this way, which is why they vary smoothly across a family rather than jumping between a few types.

A few variants have no founder weight at all: no founder can be born with them. They appear only through mutation at birth, and they are marked on the traits page.

A founder's number loci are not drawn flat across their range. Each is the middle of two draws, so a founder sits near the middle of a trait far more often than at its ends. Every value stays possible, and breeding is how a line reaches the ends. Named variants follow the founder weights; the numbers do not.

Growing a body from the bytes

The genome is not a seed for an image generator, and not a list of looks where one gene means “red eyes”. It is read in stages. First it is expressed: which variant shows at each locus, what each number comes to. Then it is developed into a phenotype: a body plan with concrete counts and sizes, decided by pathways that depend on one another — segment count sets where limbs can attach, body plan changes what a tail means, symmetry decides how eyes are placed. Only then is an anatomy built: a trunk of segments, limbs along it, a head, a tail, eyes. That anatomy is the canonical body; it is identical on every device.

The renderer comes last. It draws the anatomy as a smooth surface and moves it according to the movement loci, but it decides nothing. This order is the point: because a small genetic change alters a step in development rather than re-rolling the whole picture, a child can look like its parents in ways that make genetic sense, and this site can show which parent each part came from. The hooks on the ledger do none of this. They only decide the bytes.