In this update5
Full notes
Full Kepler Protocol update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- UI and audio
- Server
Kepler Protocol changes
For seventeen thousand games the Kaiserreich's greatest structure never once fired. The drill was not to blame.
The planetary core drill is outright victory. A monument of Krupp steel and flux that grinds through the planet's crust into the Swarm's brood chamber — activate it, and Kepler-186e is yours. That is the design. Yet across our test runs — seventeen thousand simulated games — it never once sprang to life. Zero activations in the logs.
We looked for the fault where you would expect it: in the drill. Research tree, focus chain, victory condition — all correct. The drill was never the problem. The problem stood three tiles away, and its name was water.
Because the core drill needs cooling water. No water supply, no drilling. And the water supply collapsed every single time, silently, long before any victory came within reach. Two subsystems, each flawless on its own — that never spoke to each other.
Where we learned it
On 23 September 1999 the Mars Climate Orbiter burned up in the Martian atmosphere — the end of a 327-million-dollar mission, sealed by a unit of measurement. One team worked in newton-seconds, the other in pound-seconds. Both pieces of software were correct. Both did exactly what they were built to do. What was missing was the shared contract at the interface between them — the one assumption no one had spoken aloud, because it seemed self-evident to each side.
That was our bug, precisely. The world generator guarantees every base a water vein "nearby" — up to five tiles away. The build AI, meanwhile, took "nearby" to mean the directly adjacent tile. One voice placed the water at distance four; the other could only reach distance one. Neither logged an error. Each was right. The drilling tower landed beside the vein instead of on it — and produced half. Too little.
An old maxim, often attributed to Omar Bradley, puts it more plainly:"Amateurs talk strategy, professionals talk logistics."Rommel's Afrikakorps was not beaten in battle but at the supply line — no fuel, no ammunition. A campaign does not lose. It runs dry.
Built
The instrumentation turned up a second culprit. The water-drilling tower dutifully reported its output — but its reserve was bleeding out underneath: minus 36 deducted per turn, three produced. Every glance at the books — AI planning, HUD forecast, troop logistics — charged the reserve again. Across six test runs: 177 such violations, with water falling to zero in every game from turn 10.
We closed both. The reserve is now settled exactly once per turn, not on every read. And the supply chain holds for AI and human alike: scout the vein → build the road → tower only on the vein. No shortcut. If the water lies ten tiles out, then it does — and that is where you build.
The result: 177 violations → zero. Water shortfalls down from 54 to 30. Death by thirst is structurally gone. The core drill gets its cooling water — and can finally fire. (The next front is flux. One thing at a time.)
Lore vignette
On Kepler-186e water is dearer than flux. The pioneers knew it; their recovered journals counted drops. And they were not the first to bore into this ground. The pre-civilisation left smooth-melted boreholes in the rock — geometrically perfect, useless to us. No one knows what they were digging for. The Kaiserreich digs deeper than all of them. Whether that is wisdom or hubris, no Codex says.
Next devblog
The Swarm Matures. While we taught our engineers to drill for water, the enemy was doing something stranger: it builds no supply chain. It grows — and for twenty-seven turns it raises not a single soldier.
Stay with us
Wishlist on Steam: Kepler Protocol
Early Access: 2 October 2026
Next devblog: The Swarm Matures — why the enemy bites late
Kepler Protocol — 4X strategy on a foreign planet. Discipline against the Swarm. Codex against pheromone. A red sun over both.
Source
Changelog.gg summarizes and formats this update. How we read updates.
