Skip to content
Manic Microbes

Worlds

A world is a question you cannot answer for it.

Each of these is a set of boundary conditions with one thing moved: the light, the currents, what is dissolved in the water, where the walls are. Nothing sets a goal. They are experiments, and the run is what answers them — which is why one of them ships as a control for another.

01soup.ron

Primordial soup

The simplest place an autotroph can live: carbon dioxide to photosynthesise, an oxidant to do it with, and carbon to build a body out of, spread evenly over a small world with nothing in the way.

Seed it with an ancestor and it grows to a carrying capacity set by how much structural carbon there is — because matter is exactly conserved and there is nowhere else for a body to come from. Nothing here rewards moving. That is the point: it is the baseline you measure the others against.

What happens when nothing is stopping you?

substrate
64 × 64
light
Uniform
current
Still
02photosynthesis_or_die.ron

Photosynthesis or die

The soup has enough dissolved in it that a cell can live on what it finds. Here there is almost none of any of it, and a lineage without chloroplasts has no second way to pay its upkeep.

The point is not that photosynthesis wins. It is that the cost of a chloroplast is finally being weighed against something — a scenario where every strategy works measures nothing.

What is a chloroplast worth?

substrate
64 × 64
light
Uniform, bright
current
Still
03the_shallows.ron

The shallows

The engine has had a directional light since the first milestone and no shipped world had ever used one. Every slide in the library was uniform — and on a slide where every square is the same, the honest value of a sensor is nothing, because the answer it returns is always that you are where you were.

That is why the photosensor, the chemosensor and the cilium all score the same in the balance panel and all pay nowhere. They are not three organelles that are separately broken. They are one missing world, and this is it.

The floor is dim rather than dark, and that is the choice worth arguing with. Black at the bottom would make the lower third uninhabitable, and the slide would become a smaller soup with a dead margin — measuring area again, which is what everything else already measures. A dim floor keeps the whole column alive and makes the gradient a question of how well rather than whether, which is the shape that pays a cell for climbing rather than for not being unlucky.

Is it worth knowing where you are?

substrate
64 × 64
light
Directional — bright at the surface, dim at the floor
current
Still
04the_vent.ron

The vent

All the energy there is comes from a point, and within about forty squares of it there is effectively none. A chloroplast is worth carrying near the vent and is dead weight away from it.

What makes it interesting is the edge. The centre is crowded and the periphery is empty, so the pressure at any moment is either to get closer — which everything else is also doing — or to find a way to live further out. Nothing here rewards either. Both are simply available, and which one a lineage takes is the run's answer rather than the scenario's.

Crowd the light, or learn to live without it?

substrate
128 × 128
light
Point source
current
Still
05the_black_smoker.ron

The black smoker

The vent is a light source and nothing else. This is the other half — a vent that puts matter into the water as well, which is what a real one does. Sulphide rises at the mouth, is carried out by the stir, and leaves at the rim.

Pathway 2 of the default metabolic chemistry burns sulphide against the same oxidant everything else uses, so the food is genuinely there. Nothing shipped in the genome library can touch it: every one of them runs a mitochondrion on its default control word, which selects pathway 0 and burns sugar. Reaching the sulphide takes one OSET writing 2 into an organelle's control — one instruction, on a value a copy error can land on by itself.

The light is copied exactly from the vent, and that is the design. The two differ in the plume and in nothing else, so the pair is a control the way the archipelago and its control are. Anything that happens here that does not happen there is the sulphide's doing.

Will anything work out how to eat it?

substrate
128 × 128
light
Point source
current
Rotational — the plume washes out over the rim
06the_drift.ron

The drift

Everywhere else, a cell's next meal is dissolved in the square it is already standing in, so position is worth nothing and nothing has ever evolved to hold one. Here the food goes past. What a cell can take is what flows by it, which is zero if it is drifting along with the water.

That makes the holdfast worth its upkeep for the first time, and it makes size an income rather than a bill — what you can intercept scales with how much of yourself you present to the flow. A sponge is what those two facts look like together, and nothing in the engine knows the word.

It is a flow-through slide rather than a closed one: detritus arrives at the upstream end and whatever reaches the downstream end leaves. That pairing is deliberate, because a source without a drain is just a slow flood.

Is it worth staying still?

substrate
96 × 96
light
Uniform
current
Uniform, along the channel
07the_tide.ron

The tide

Every other world holds still. The light is uniform in most of them, the two that vary it do so over a year or a million ticks, and every current runs exactly the same from the first tick to the last. A constant world has one right answer, and a population that has found it has no reason to carry the machinery for any other.

A tide asks the question an ecosystem asks, which is what wins right now. At slack water a holdfast is upkeep and a cilium is worth having. At springs the water runs faster than a cilium can produce and only a holdfast keeps a cell where its food is. At neaps neither is decisive. A cell that can switch beats a cell that cannot — and switching on internal state gated by an external reading is exactly the differentiation that has to emerge rather than be declared.

The spring runs at the engine's own velocity ceiling, deliberately past what a cilium can beat, and the neap deliberately is not. If the two crossed, the slide would pose nothing at all. It is also the answer to the drift's one real fault: a constant current washes the population off the slide, and a tide brings back what it carried out.

What wins right now?

substrate
96 × 96
light
Uniform
current
Tidal — reversing, under a spring and neap envelope
08seasons.ron

Seasons

Every other scenario poses a fixed question: this much light, from this direction, forever. A lineage that finds the best answer to a fixed question stops.

Here the answer keeps changing. What pays in summer is a big chloroplast and a fast metabolism; what pays in winter is a small body and low upkeep. Neither wins, because winter always ends and so does summer.

Nothing selects for that. It is a consequence of the light not sitting still.

What do you do when the right answer keeps changing?

substrate
128 × 128
light
Seasonal — two clocks
current
Still
09the_short_night.ron

The short night

A battery cannot pay in a world with no night, and it cannot be measured in a world whose night kills everything. The library had both and nothing in between: the two worlds that vary their light do it far slower than a cell lives — one declines over a million ticks, the other runs a year against a generation of about five hundred. Neither of them asks a cell to get through tonight.

So the night here is about two generations long, and it is an eighth of full daylight rather than nothing. A floor of zero culls instead of thinning, and a cull measures nothing: the population that dies is not telling you which strategy was better, only that the winter was fatal to all of them.

It found something the moment it ran. The genome in the library that exists to hoard against exactly this reaches zero at every setting tried — every period, every floor, including ones where a more expensive body carrying no store at all lives comfortably. That is not the depth of the night and not the cost of the cell. The battery does not work, and fixing the genome comes before pricing the organelle.

What did you put by?

substrate
64 × 64
light
Day and night, about four generations to the cycle
current
Still
10the_long_dusk.ron

The long dusk

It starts well stocked, because the story is about the light going out rather than about starting hungry. What is dissolved at the beginning is the only thing left once it has.

Either it crashes and recovers with a different way of making a living, or it simply ends. Both are results. What matters is that the timeline says which — the archive records the crash as a mass extinction, and the trophic mix says what, if anything, replaced the producers.

Adapt, or end?

substrate
96 × 96
light
Slow decline, over 1,000,000 ticks
current
Still
11predator_introduction.ron

Predator introduction

Plenty of prey, room to chase them across, a slow stir so they are not evenly spread, and a slide big enough that a hunter cannot simply exhaust it.

Whether anything picks up a spike is up to the run. Seed it with a hand-written hunter alongside the ancestor to watch one deliberately, or leave it to mutation and find out how long it takes.

Does anything pick up a spike?

substrate
128 × 128
light
Uniform
current
Rotational — a slow stir
12the_scattering.ron

The scattering

Every other world ends the same way. The producer divides until the slide is an even mat, and from then on anything that eats cells is already touching one. There is no search problem, so there is nothing for a sense to be for, and a photosensor is upkeep with no return — which is why no strategy carrying one has ever paid for itself.

Here a founder settles at about a hundred and ninety cells across sixty-five thousand squares. That is one cell per three hundred and forty-five of them, a mean spacing near nineteen, against a photosensor's reach of six. A cell can see essentially nothing, and a hunter that stands still starves next to a slide that has food on it.

What holds it there is the light, and the reason is the useful part: a recycled resource cannot cap a population. Respiration hands carbon dioxide straight back, so a smaller pool simply cycles faster and feeds the same crowd — cutting it thirty-twofold barely moves the number. Leaning on structural carbon instead produces a collapse rather than a cap, because nothing in the chemistry makes any more of it. Light is the only limit that is neither recycled nor drawn down.

The band is narrow. A little brighter and the mat comes back; a little dimmer and nothing lives at all. That is not a tuning failure waiting to be dialled out — it is what a world with no structural recycling has instead of a carrying capacity, and it is worth knowing before you treat this as a stage rather than an experiment.

What is a sense worth, in a world with something to find?

substrate
256 × 256
light
Uniform, and dim
current
Still
13archipelago.ron

Archipelago

The gaps are deliberately not zero. A slide cut into four sealed boxes is four separate runs sharing a file, and allopatric speciation is only interesting because the barrier leaks.

It does not ship alone. The next entry is its control, and the pair is the experiment — populations diverging faster when separated is only a claim if there is something for it to be faster than.

How much isolation does a new species need?

substrate
96 × 96
light
Uniform
current
Still
14archipelago_control.ron

Archipelago control

There is nothing to watch here, and that is what a control is for. It exists so the archipelago's divergence rate has something to be a rate against, and it is listed as a scenario in its own right rather than mentioned in passing because treating it as a footnote is how controls quietly stop matching their experiments.

If one of the two files changes, the other has to change with it. A control that has drifted from its experiment is worse than no control at all, because it still produces a number and the number still looks like evidence.

What does the same world do without the walls?

substrate
96 × 96
light
Uniform
current
Still
15the_thicket.ron

The thicket

The soup seeds structural carbon two orders of magnitude above the point where it starts to bind, so in every run this project has made the monomer has been effectively infinite — and an infinite resource cannot be locally depleted however slowly it moves. This slide seeds a tenth of it, just above the knee, and steps the fluid once every eight ticks instead of every tick. That is where a clean regime change was measured: the core holds half to two-thirds the carbon of the rind, in every seed, and the population does not move.

A gradient is not yet a hardship. Starving the waste instead makes the interior *better* — respiration exhales what photosynthesis eats, so a crowd is its own atmosphere and the scarcer the waste in the water the more valuable neighbours become. The core can only be hostile if something the cells cannot manufacture runs out there, and light is the only such thing in this world.

So the light is shaded by the cells above it, which takes burial from an advantage to exactly parity and then stops — a shaded cell grows less, presses less hard, and shades its neighbours less, which is a self-limiting feedback rather than a dial. Stiffness closes the gap: pressure is normalised against the band between touching and the core, so a rigid cell reads near-maximum pressure the moment it touches anything, and a count of neighbours does not fall when a cell shrinks. Take the shading out and the stiffness sweep barely moves. All four settings are one setting.

Is the middle of a crowd still the best place to be?

substrate
64 × 64
light
Uniform
current
Still, and stirred once every eight ticks
16the_lean_water.ron

The lean water

The whole design says matter is the limit, and until this slide no world in the library measured it. A saturated soup ends up with under a tenth of its structural carbon inside cells and the whole rest of it still dissolved — so what actually stops the population growing is not the matter at all. It is that there is nowhere left to put a daughter. The carrying capacity is a packing number.

That is the most consequential fact in the economy, because a contest over space is won by whoever turns matter into daughters fastest, which is whoever carries least. When space is the limit, earning more buys nothing, and no organelle can pay for itself however it is priced. Every result of the shape "this mechanism pays nowhere" rests on it.

The seeding was chosen by sweeping it rather than argued. The population is flat across the top of the range — halving the soup changes nothing, and so does taking a tenth of it — and then falls off a cliff. This sits at the one value on that curve that is a constraint rather than a cull: about half the soup's carrying capacity, which is large enough to measure and small enough that matter is visibly what set it.

What happens when there is genuinely not enough to go round?

substrate
64 × 64
light
Uniform
current
Still
17the_marbles.ron

The marbles

Open the soup and you get a tessellation: cells flattened into polygons, sharing walls, no gaps anywhere. Open this and you get a heap of separate round bodies. The chemistry, the light, the size and the seeding are the soup's, copied — and the simulation is the same simulation. Only the genome differs.

A cell bulges into whatever space its neighbours leave unless it is either glued to them or too firm to bulge, and this lineage is neither glued nor soft. The shape is charged every tick forever rather than once: on this slide against the same slide seeded with the ancestor, 1,113 cells at a rigidity of 0.09 against 666 at 0.68. Four cells in ten is what the picture costs.

A rounder strain is available and is worse to look at. A vacuole and a wall at the catalogue's maximum gets very nearly spherical and then settles at 436 cells covering barely half the slide, which is a scatter of round cells rather than a smear of yeast. Being nearly as round and twice as dense is the better picture, which is why the wall stops where it does.

What does a shape cost, and who pays it?

substrate
64 × 64
light
Uniform
current
Still
18scale.ron

Scale

Richly stocked and deliberately dull, this is what the performance gates are run against. If you want to know what your machine does with a large population, this is the one to open.

How many can this machine hold?

substrate
128 × 128
light
Uniform
current
Still
19the_box.ron

The box

Four walls two squares thick with no gap anywhere, and detritus and carrion put inside only. Anything drawn outside the box came from the picture rather than from the world — which is the entire point of it. It is how you find out whether what is on the screen is what is in the water.

It is listed here rather than kept in a drawer for the same reason the archipelago's control is listed. A diagnostic nobody can see is a diagnostic nobody runs, and the fastest way for a renderer to start lying is for the test that would have caught it to live somewhere out of the way.

Does what you can see match what is there?

substrate
96 × 96
light
Uniform
current
Rotational — so the specks have something to be carried by

Write your own

A scenario is a text file, and so is a world you have already run.

Substrate dimensions, the whole chemical table, the light regime, currents, barriers, every energy cost, the mutation rates, the instruction budget, junction costs, the speciation threshold, the seed, and what to seed it with. All of it is authorable, and a running world can write its own parameters back out as a new scenario — so a setting you tuned by hand becomes something you can start ten runs from.

Opening a scenario starts a world at tick zero. Opening a saved slide resumes one exactly where it stopped, down to the bit.

Running one

$mm-cli run scenarios/seasons.ron --ticks 1000000
$mm-cli run scenarios/archipelago.ron --archive islands.ndjson
$mm-cli sweep scenarios/soup.ron --param mutation --range 1..64

A world can write itself back out

A running slide can export its own parameters as a fresh scenario, so a setting you tuned by hand becomes something you can start ten runs from — and the sweep runner will walk one parameter across a range and report what changed.