
For a while, the water in Luminids had a strange problem: the checks were green and the screenshots were bad. In the game, rivers vanished, lakes behaved strangely, and whole areas fell apart the moment you moved through them.
I spent well over 100 hours on it. Getting out of that hole took an architecture change and fixing three blockers, and by the end average frame time had dropped from 1461 ms to 9.08 ms.
Two water systems at once
Before touching the architecture, I wrote down what water needed to do: rivers in their channels, lakes sitting cleanly in their basins, ocean where it should be, and all of it holding up in real play across the biome rings, not just in isolated tests.
That cut through the noise. I had two overlapping versions of the water system. The old authored path was still hanging around, the new field runtime was only partly in place, and validation could go green while what players actually see still looked wrong.


One source of truth
So I stopped patching and changed the architecture. The hydro field got one job: be the source of truth. Instead of separate water bodies and the terrain bake pulling against each other, the field owns the truth, the renderer reads from it, and the rest of the game hooks into it.
It also made the right debugging questions obvious:
- Is the field correct?
- Is the renderer reading it properly?
- Is the shader helping the world read better?
- Is the validation actually testing what the player sees?
What was actually blocking it
Even after the switch, the first pass still looked broken, because three smaller problems had stacked up in a nasty way:
- a legacy sweeper in the world runtime was hiding the new renderer
- the mesher was taking an expensive sampling path and burning huge amounts of frame time
- the custom shader was turning the water into a dark ribbon
Once those were out of the way:
At 1461 ms, the game was drawing a new frame roughly every second and a half. Now the water was actually on screen and the world was responsive again. It was the first time this felt like a real breakthrough rather than another temporary fix.
Making it look like Luminids
Then came a long run of smaller passes.
Biome-aware styling was a big one. Rivers and lakes pick up some of the identity of the ring they run through, so a meadow river looks different from a tundra or volcanic one. Around that came softer carving, cleaner shore bands, stronger banks, and better lake floors. Rivers in the harsher outer biomes were too small to read from standing height, so I widened and deepened them, and pool and riffle variation gives riverbeds more shape without breaking the surface.
One of the stranger bugs was the lakes. Some lake surfaces were effectively sloping by tens of metres across their own footprint, which is not a thing lakes do. Flatter terrain hid it for a while, but in the highland, tundra, and volcanic rings it broke the illusion instantly. Giving each basin a true level waterline changed those areas overnight. Outlet corridors, baked into the carve, then started connecting lakes to the wider water system.






Underwater is now its own visual layer, with biome-aware colour, depth, and density: calmer in the plains, clearer and colder in the tundra, heavier in the volcanic highlands. Going under feels like entering a different part of the world.
For rapids and foam, I wanted movement only where the land earns it: soft meadow rivers, more whitewater on mountain, tundra, and volcanic drops, and foam that reads as flowing patches and streaks rather than noise.
Where it landed
What I like most is that water isn’t an isolated feature any more.
It sits in the terrain, not on top of it.
Meadow and volcanic rivers no longer look alike.
Meadow and plains water stays calm.
Whitewater only where the land drops.
It reads well from above, on foot, and underwater.
Easier to test, debug, and improve without guessing.
That last one matters more than it sounds. Better probes and a much healthier split between truth, rendering, and polish make every future pass easier.








What comes next
Waterfalls and rapids can go further, lake outlets can keep evolving, and shorelines and distant water both need more polish. But the foundation is right, and for the first time the water looks like part of the world rather than a layer on top of it.
More soon.
Nick
Later note: in August 2026 this ring-based world was replaced by a single island, water included. See Dev Log 18.






