PETRI DISH GAMES

The Dish

The petri dish a culture grows in: one walled circle of ground, sized in millimetres when the culture starts, and the limit of everywhere its cells can reach.

The Dish is the petri dish a culture grows in: one circle of ground with a wall around it, and the limit of everywhere that culture’s cells can reach. Its size is a diameter in millimetres, fixed when the culture starts, and one millimetre of dish is thirty world metres. A cell that reaches the wall is pushed back inside and its outward movement is cancelled. Outside the circle the ground is generated empty.

Dish size

Where the dish comes from decides how wide it is.

Opened fromDiameter
NEW CULTURE, at the benchThe player picks 1, 2, 3, 4, 6 or 8 mm. None of them is locked, and the panel opens on the last size chosen, or on 2 mm
A Bionet node, living dish or contestThe node states it, or the authored map does. The player does not choose

The millimetre figure sets a square world, so a 2 mm dish is 60 world metres across and an 8 mm dish is 240. The playable circle is inscribed in that square, just inside its edge.

The wall

The wall is drawn as a soft ring at the rim of the circle. It starts unsurveyed like the rest of the world, so nothing shows where it is until a cell reaches it.

The boundary a cell is held at is the ring’s inner edge, less a small inset, less the cell’s own radius, so a cell is kept wholly inside. Crossing it moves the cell back to touching, adds an inward shove proportional to how far it got, and cancels its outward velocity outright. Anchored cells are skipped, except an anchored plasmodium body, which gets the position correction and no shove.

Free-swimming bacteria and viruses are handled separately: snapped onto the boundary with the outward part of their velocity reflected back inward. They bounce off the rim rather than dying at it.

Ground past the rim

Outside the circle, generation writes emptiness: no substrate, no growth media, pH at the neutral midpoint, and temperature at the world’s baseline. That is not a second barrier. It is nothing to eat.

Unsurveyed ground

Ground no player-owned cell has been near is hidden. Terrain is drawn in three states:

  • Flattened to a dark wash, until one of the player’s own cells has been close to it
  • Dimmed, once surveyed
  • Full brightness, only where a cell is watching now

Rival and wild contents are drawn only where a cell is watching now, and dissolve out a short way past that frontier rather than cutting off at it.

A cell sees 14 times its own radius, with a floor of 18 world units, and a plasmodium vein tip sees exactly that floor. Contaminant cells are not sight sources, and neither is a colony the player has disowned.

This is render and interface only, never simulation, spawning, yield or victory, and a mechanical check holds it there. There is no hidden ground in the creative lab or in the map studio’s preview dish.

Camera limits

Pan is clamped inside the dish circle, and the slop in that clamp is widest when zoomed in and tightens as the view zooms out. Where ground is hidden, the camera cannot pull back further than what has been surveyed; that ceiling only ever rises, so it never yanks the view inward mid-run. A petri dish frames whole at full zoom-out. A living-world dish takes a fixed zoom-out ceiling instead, and a large one is never framed whole.

Persistence of changes

The substrate itself is written to constantly, by consumption, by deposits, and by enzymes dissolving it.

Changes made to distant ground survive only conditionally. A chunk holding cells is always kept. In a walled world an out-of-view chunk is demoted rather than dropped: it keeps its data on the CPU and comes back with the changes made to it. In Open and DenseExpanse it is discarded, and going back regenerates it from the seed, clean.

World modes

The code carries five world shapes and play reaches two. NEW CULTURE and a Bionet contest open a PetriDish; a living-world node dish opens Bounded. Both are walled circles and differ in how the radius is set. The map studio opens whichever of the two the board would open for that map.

MultiDish puts several circles on one plate, with the walls switchable. Every system reads it and a save restores into it, but nothing in play creates one. Open and DenseExpanse are infinite, and are pushed only by the development and profiling harnesses and by a scripted observation run.

Notes

The Apostate attested cycle 0.4.4

The unsurveyed wash has no edge at any pan or zoom, and that is one quad sized to the camera every frame. It used to be painted into the ground meshes, which are a finite stair-stepped set, so it stopped at a hard edge with the camera’s clear colour behind it.

The wall is a different thing and it is drawn: one soft annulus per dish, wherever the walls are on. No edge to the wash is not the same as no edge anywhere. What is true is narrower: the ring starts unsurveyed like the rest of the world, so nothing shows where it is until it is reached.

The surroundings do react. The mask that decides how the ground around the player is drawn is rebuilt every tick from the positions of the player’s own cells, and a mechanical check keeps it on the render side.

bound to 3 files

Bound to

The source this page's claims were read against, named by symbol and pinned by the digest of the file it lives in.

SymbolDigest
ApplySubstrateModifications e3a2479679c7
CameraPanZoom b2cd8b561175
ChunkManager 973a181fe1d8
ClampToDish 48e208d5459c
DishFog.hlsl 4f43eab3b30e
DishFogField d3d595edcbe1
DishFogSeaRenderer 20ff795f8638
GenerateChunk 232c6696592f
HexBionetMapPanel 1d470015d592
HexNewCulturePanel 52f1efff6f73
MapEditorLauncher 245862ba3a11
PetriDishRing ebecc5ee5569
PlayerCameraTether c7370682d127
RingBarrier 231ca04e3432
SlimeMoldAbsorption.compute 86b2d45cba4a
SubstrateField 3e82bae8555a
WorldMode cb5d359f1d20

Near this subject

These are the subjects this one is joined to in the field. Step out of this card and they are the wells around the one you are standing in.