The pond that was really eight ponds: a food web with no walls

← All field notes

When we gave The Long Watch its first swimmable water — ponds, lakes, and a coastal ocean with fish in them — we ran a test to check the new food web held together. It didn’t. A hunter in one pond was feeding on prey in a pond across a hill, one it could never reach. The pond that looked like one pond was really eight.

A test that knew water from land, and nothing more

The new water came with a question the world now had to answer constantly: is this cell open water, or is it land? A fish belongs in one and not the other; a kill in the water follows different rules than a kill on dry ground. So we had a single yes/no test for it, and much of the new aquatic simulation leaned on that test to decide who lived where and who could hunt whom.

The test did its job. It could always tell water from land. What it couldn’t do — what we had never asked it to do — was tell one body of water from another. To that test, a puddle in a hollow and a lake across the valley gave the same answer: yes, water. And because the feeding rules trusted it, the simulation quietly concluded that all the water in the world was one place. Every disconnected pond, every separate lake, every isolated pool read as a single shared habitat.

Fish soup

The consequence had a name before it had a fix. We called it fish soup: a food web with no walls, the whole world’s water stirred into one pot. A pike sitting in one pond would happily feed on minnows swimming in a completely separate pond somewhere else on the map — animals it shared no water with, could never swim to, and in any real sense had never met.

A hunter in one pond was quietly feeding on prey it could never reach in the next.

Nothing about this was loud. Nothing crashed; no check turned red; no error scrolled past. The water simply behaved as one big soup instead of many separate ponds, and it would have gone on doing so unnoticed — we found it only because we had deliberately sat down to test whether the aquatic food web held together. It’s the same species of quiet ecology bug as the hunters that kept breeding after their prey was gone: the simulation’s bookkeeping had drifted a step away from the world a player would actually see, and drifted in silence. We’ve written more broadly about failures that make no sound; this was one of them.

Whether the bug bites depends on the water level

Here is the part that makes this a story rather than just a bug. Whether “one shared habitat” is wrong at all depends entirely on how high the water sits.

When the water is low, the world’s open water fragments. It pools into the deepest hollows and leaves dry ground between them, so the map breaks into many separate bodies — the test run counted eight at the middle level the world had just been set to, and as many as eighteen at the lowest levels, the most broken-up case of all. Down there the largest single pond held only about a quarter of all the open water in the world; the rest was scattered across a dozen or more disconnected pools. That is exactly the regime where calling every pool one habitat is nonsense.

An aerial view of a soft voxel valley at golden hour, its low ground dotted with several separate ponds, dry land ridges standing between them.Concept art · pre‑alpha
When the water sits low, the world’s open water breaks into a scatter of separate ponds — many where a glance sees one.

Raise the water, and the pools begin to merge. At the middle level the biggest body already held a bit under two-thirds of the water; keep raising it and the hollows join one by one until, at the highest levels, essentially all of the water — well over ninety-nine percent of it — belongs to a single connected sea. And in that flooded world, “one shared habitat” stops being a bug, because it has finally become true. A hunter and its prey really are in the same water.

So the same code is a real bug in a patchy world of ponds and lakes, and completely harmless in a flooded one. The catch was timing: the world had just been steered toward a varied mix of ponds, lakes, and coastal shallows — the exact patchy regime where the gap bites hardest. The pond that was really eight ponds wasn’t a hypothetical. It was where the world was headed.

Teaching the water where its walls are

The fix gives the simulation the one thing its yes/no test never had: a sense of which body of water each patch belongs to. We walk outward from a water cell, stepping only to neighbouring cells that actually touch it, and label everything we can reach as one body. Then we begin again from the next unlabeled patch of water. When the walk is done, every connected pond, lake, and stretch of sea carries its own identity, distinct from every body it isn’t physically joined to.

We work this out once, when the world’s terrain is first built, and re-derive it the exact same way whenever a saved world is loaded — so the ponds you left come back as the same ponds, not a fresh guess. With that map in hand, the feeding rule gains a single gate: before a kill in the water counts, the simulation checks that the hunter and its prey are in the same body of water. A pike in one pond can no longer touch a minnow in the pond next door.

A food web should have the same walls the terrain does.

That is the whole principle behind the fix. The world’s lakes, ponds, and coastal shallows are meant to be real, separate places — a fish’s whole world can be one pool it never leaves. A food web that ignores those walls isn’t a simpler version of the ecology; it’s a different, wrong one. Giving the water its walls back is what lets a pond be a pond.


The fix is in place ahead of the water feature being switched on. When it is, a tuning pass will decide how the world feels — how patchy and pond-dotted, or how deeply flooded — and that same dial quietly decides whether this bug can even happen: a world of many small ponds needs its walls, while a world flooded into one sea never had separate ponds to confuse. Companion to this, the ecology of what actually lives in that water — a plant, a grazing fish, and the pike that hunts it — is its own story, the first food chain in the water.

An aerial view of a soft voxel valley at golden hour flooded into a single broad sheet of water, with only a few low hills remaining above the surface.Concept art · pre‑alpha
Raise the water and the ponds merge into one connected sea — and “all one habitat” finally becomes true.

Either way, the world will now tell one pond from the next. Because the day we looked, the pond was really eight — and a world worth tending should know the difference.

Keep reading

Concept art · pre‑alpha