
We threw the world away and built a new one.
Not a patch. Not a bigger version. A different world, on a different generator, in a new repository, with the old one kept only as a rollback artifact. In August the island became the game and the previous world became history.
This is the longest dev log I have written and it still leaves things out.
One island, nine realms, one compiled world
The old world was infinite and procedural in the honest sense: it went on forever and it was never anywhere in particular. That is a lovely engineering achievement and a poor place to set a story about coming home.
So Luminids is now an island. About four kilometres by five. It is authored, in that the mountains are where I decided the mountains should be, and it is generated, in that the ground between them is still built by the machine at the scale where machines are better than people.
Under the hood the whole thing is a single compiled generator: a graph of three hundred and seventy six nodes that compiles in about a sixth of a second, sitting on top of a compiled field that carries height, region, land and ocean, coast distance, water surface and slope across the entire island. Five hand-authored kernels get composited into it in a fixed order, each one blending into its neighbours over a sixty four metre band, so the mountain pass I sculpted by hand and the meadow the noise made meet at a seam you cannot find.
The nine realms:
- Plains Meadow, home, deliberately the least opinionated place on the island
- Temperate Grove, the world’s warm interior
- Highlands Mountains, thin air, everything ten percent sharper
- Tundra Alpine, held breath, blue silence that is somehow kind
- Desert Rim, heat you can see
- Desert Badlands, the anvil, carved red stone that keeps its edges
- Volcanic Highlands, ash holding its breath so the embers can speak
- Coast Beach, postcard air, everything rinsed clean by the sea
- Ocean Shallows, in it rather than beside it, a sea-glass world
Those short lines are not marketing copy. They are the acceptance criteria. More on that next.
What "biome soul" actually means
I kept saying I wanted biomes with soul and it kept meaning nothing, so in August we made it testable.
The test is this. Stand a player at a realm’s interior station. Cover the HUD completely. Show them the frame at noon, at golden hour, and at half nine at night. They should be able to name the realm from colour and light alone, and they should never once say the word “filter”.
That last clause is the hard half. Anyone can tint a biome orange. A tint reads as an Instagram preset laid over a generic world, and the moment a player clocks that, the place stops being a place.
So the soul gets delivered by three layers instead of one, and they do different jobs. The realm’s own body, its rocks and plants and water and weather, is the foundation, and no colour grade has ever rescued a bare floor. The realm’s light axis, how the ambient and the sun are actually tinted, is the strong layer, and it is what makes somewhere feel hot or cold. And the colour grade on top is a whisper by design, a hundredth of a step, the finish rather than the paint.
The results I am proudest of are the ones that go against the obvious choice:
Tundra refuses golden hour. Every other realm turns honey at dusk. The tundra crown pulls to a cold rose-violet instead, so sunset there feels like the temperature dropping. And tundra night is brighter than any other night, because snow reflects the sky and the ground reads as blue silver under stars.
Desert flips completely. Noon is heat as light rather than heat as saturation, colours slightly eaten by glare, shadows open and dusty. Night goes cold, blue, star-clear, and a campfire pops harder there than anywhere else in the game.
In the volcanic highlands the land is told to shut up. Muted warm grey, sooty shade, no clean whites under an ash sky. Any frame where the terrain competes with the lava has failed, because in that realm the lava is the protagonist.
Stepping from plains into grove at noon should feel like walking into a room.



Water, caves, and things worth walking to
Water went through nine rounds this month and I lost my temper at it in at least four of them. The camp creek had dry steps in it. The waterfall read as a stretched texture instead of falling water. A yellow blob showed up on the lake surface and turned out to be the cloud shadow texture landing on the water’s own sun reflection.
They are fixed. Falls now have ribbons, churn and feathered edges. Water gives one answer about where its surface is, so fish stay under it. Pools sit at their sills instead of leaving bare column tops.

Caves got mouths you can see. A cave entrance at a hundred and twenty metres now reads as a lit doorway with an actual lamp hanging in it, which is the whole discovery loop in one object: you see a warm point across a valley, you walk to it, and there was always something there. Inside, ore lives in veins with tier glow rather than scattered blocks.

And the map finally shows the island. It had been quietly answering questions using the old world’s concentric-ring layout, which meant it would tell you the frozen spire was in the desert. The island’s twenty nine registered sites now exist as real map records, and the fog you reveal by walking finally persists across a save, which it embarrassingly did not before.
The Ark
This is the one I have wanted for a long time.
At a berth near your camp there is a spine. It is not a wreck and it is not a rocket: it is a horizontal keel, about forty five metres, lying dead in its cradle. Every time one of the seven sanctuary fragments comes home, the colony builds another piece onto it. Live. In front of you. Using the same builder crew, the same effects and the same little ceremony they use for anything else you ask them to build, because the ceremony system turned out not to care what it is building.
As it grows, it lights up. And that is the point: the light is the progress bar. From your camp, at a glance, with no interface at all, you can read how far along the entire campaign is. Stage zero is a bare spine. Stage seven is a starship. Then it flies.

The honest part: it does not read at night yet. On a test bench, lit and unlit are obviously different. In the actual game, at a hundred and twenty metres, at dusk, there is a faint warm point where the Ark’s light is and no Ark at all around it. The whole design claims light is the progress bar and right now the light is a pinprick. That is the top of my list.
Then we put it in front of players
We ran a playtest through the middle of the month, and then spent a couple of days repairing the instruments that measured it, because almost every number was wrong on the first pass. Two thirds of the file turned out to be my own machine. The export was sorted backwards, which made the median load time look about thirty five times faster than it really was. Fixing the telemetry was, genuinely, the most valuable engineering of the month.
What it told us once it was honest is the thing I keep coming back to, and it is not a decay curve. It is a wall.
Sessions did not tail off gently the way you would expect. A large group stopped dead at exactly the same point, played a short while and quit. Another group of almost identical size got past that same point and then played for hours. Almost nobody was in between. That is not a pacing problem or a fun problem. That is one specific door that some people find and some people do not.
The door is two hidden-in-a-menu tasks back to back, placed immediately after the game’s first warm moment, which is about the worst possible spot for them. And behind the door was something worse: a milestone in the settlement chapter that was literally impossible to complete. The objective on screen read “build rock path pieces to connect your core spaces, zero of six”, and the counter it was reading from had two feeders, both of which had quietly become dead code months earlier. It sits second in a strict ordered chain, so that entire chapter could never finish. For anyone. Ever.
The other finding was about hardware, and it reframed the whole year for me. A large slice of testers are on graphics cards several generations older than mine, their frames cost substantially more than mine do, and nobody had a session free of stalls.
I could dress that up. I would rather write it down, because performance stopped being a technical chore this month and became the product. A calm game that hitches has broken its central promise, and it turns out we had been measuring calm on the one machine in the world least qualified to judge it.
Three bugs that taught us more than the features did
The luminids had no faces. I walked up to one, orbited it, and there was no face from any angle. The face solve only runs while the creature is close, and “close” was measured from the player’s body. But the thing that sees a luminid is the camera, and the camera is not the player: it is the build camera, the photo mode, a cutscene, the third person boom. A luminid forty metres from my body and two metres from my lens had its face frozen at whatever it last looked like from behind, which is to say blank.

One line of code was costing us a thousand milliseconds. A single search-the-whole-tree call, run recursively, in the thinking loop. Worst case thinking time went from 1,331 milliseconds to 2.6. There are still fourteen hundred of those calls in the codebase.
We were not running the physics engine we thought we were. The check compared the string “JoltPhysics” against the string “Jolt Physics”, failed silently, and fell back. For a long time.
The pattern is the same in all three: the instrument was fine, the question it was asking was subtly wrong, and it reported success the entire time. I now assume every gate is blind until proven otherwise.
Where that leaves us
August was the month Luminids got a real place to be. September is about filling it, and about the thing that has been missing from the fiction since the beginning. I will explain that next time.
Nick



