Stand Eternal

Devlog #10: A Day's Warning

You can lose the place where you live now. Not your heroes and not your research, but the ground, the walls and everything in your chests. It takes a day's notice, a siege camp built in the open, and sixty seconds standing on your Throne.

Posted 2026-10-14 · Foundation MVP phase

A covered cart pulled by a horse walking the bank of a wide blue river, pines on the grass beside it and a column of soldiers marching behind; a label over the cart reads House Drillwatch, one hero, twenty six men.

Until this week, attacking another player in this game cost you almost nothing and won you almost nothing.

You could knock their heroes out. They paid a little to revive them. Nothing of theirs changed hands, nothing of theirs fell down, and the base they had spent weeks laying out was never in any danger. The Throne was a sanctuary, and the word for the whole arrangement is pointless: there was no reason to march on anyone, and no reason to fear anyone marching on you.

That is over. You can lose the place where you live.

Nobody arrives out of nowhere

Two rules were already in the game and are worth repeating, because everything new sits on top of them.

The first is the frontier. To attack something standing inside another House's land, your territory has to touch theirs. Expanding territory costs days and resources and is visible on the map, so an attacker announces themselves long before they arrive, by growing toward you.

The second is that the world is one world. No instances, no matchmaking, no arena. Your neighbour is your neighbour permanently.

What was missing was anything between you and that neighbour. If you were not in the same alliance, you were simply attackable, and your autonomous heroes would start fights on their own if they wandered into range.

Three words between two Houses

Every pair of Houses now stands in one of three states.

Peace is the default and it means one thing precisely: your autonomous heroes never start anything. If you personally order a hero to attack, that still works. Peace is not protection. Peace is "no accidents".

War is declared, public, and takes a full day to come into force. During that day nothing changes for either side. When it bites, it bites both of you at once: there is no window where the declarer can hit and the declared cannot.

Pact is non-aggression, and unlike Peace it is mechanical: combat between you is blocked in both directions, including by explicit order. Peace is "no accidents". Pact is "my word".

Peace is how you leave a war, and it takes both of you to agree, because otherwise an attacker could undeclare and walk away from the revenge.

And the general rule those three crystallise, which the game already followed in two places without having written it down: an autonomous hero never does the irreversible. Your Soldiers will not start a war you did not choose.

The warning you can knock down

A day's notice is only a notice. The thing that makes a siege feel like a siege is that the attacker has to build something, in the open, where you can get at it.

To break a wall you need a siege camp, and it has rules.

It goes on your own ground, on a border that already touches theirs, within three tiles of their land. It takes twelve hours to rise, and while it rises it is fragile. It costs two hundred wood, a hundred and fifty stone and fifty iron, paid the moment you place it.

And it cannot be walled in. It demands three clear tiles all around it, and nothing may be raised in that ring while it stands, by either side. Without that, the defender simply builds a wall around the scaffolding and the camp becomes a timer wearing a building's clothes, which is the worst of both: the cost of a building and the inevitability of a clock.

The point of all of it is in one line. A timer in an interface warns you. A construction site on your border warns you and can be destroyed. A defender who comes out to knock the camp down before it is finished is drama, and drama is what real-time combat is for.

The twelve hours run inside the day of the declaration, so the whole warning stays one day and not a day and a half, and so an attacker who wants to besiege you commits from the first minute.

Sixty seconds

With a camp standing, the wall becomes a target. Heroes stand beside a tile and break it, and when it goes down there is a hole in the line.

Then the Throne. An enemy hero standing on it for sixty seconds takes the House.

A minute is long enough that a defender who is online can drop whatever they are doing and run, and short enough that a base left unattended after a full day of warning actually falls. Killing the hero, or simply shoving them off, resets the count to zero.

While it runs, the Throne says so, in red, over the top of everything else on screen.

The House that moved

Here is the part that changed most.

The old design had a soft loss: ten or fifteen percent of your stores, a temporary debuff, your tier untouched. The reasoning written down at the time was that the Throne is a sentimental sanctuary, and that if a total siege destroys your empire the casual player uninstalls.

That reasoning was written for a game where a siege could fall out of the sky. It cannot any more. It now has to cross the newcomer shield, a frontier that forces visible expansion, a war declaration with a day's notice, and a twelve hour construction site the defender can walk out and destroy. The warning got too loud for the punishment to stay that small.

So taking the Throne drives the House out. It is re-founded somewhere else entirely, drawn at random on the outer ring, in an empty block, never inside a cluster of newcomers.

What travels with it: the name, the sigil, the lore, the House tier, every hero with their stars and skill trees, all research, the garrison, and every piece of equipment worn or carried.

What stays behind: everything that was in the chests, as a spoil pile that lasts three days where the Throne stood. It is the entire store of a House, which takes several caravans to carry off, so six hours would be a victory you could not actually take home.

What is gone: the walls, the workshops, the furniture, the farm plots. The base.

You lose the place and the things and keep the progress. Months of base design, which is the real work, and not the collection, which is what makes someone uninstall.

The defeated House arrives with three days of protection, in its own right, which the tier cannot strip away. Without it they would be hunted again inside the week, and that shield is also the brake on the other side: for three days they cannot be besieged again.

Advanced outposts survive. They are islands, they are far away, and they become a thread pulling back toward the old ground.

What the measurements changed

Two rules in this post are not what I first wrote, and both were changed by a number rather than an argument.

The clear ring around a siege camp originally refused natural rock as well as built walls. I measured the border between the two test Houses: of 1,891 candidate tiles, 28 passed the territory rules, and only three survived the ring, because rock in the surrounding ring killed 25 of them. That is a feature that works on paper and almost never works in the ground, with nothing on screen to explain why. The ring refuses only what was built now. Walling in is an act; the rock was already there when the attacker chose the spot.

The second was the siege camp's eye. It had none, which meant the attacker could plant a camp and see nothing of what happened to it, because health updates go through the same vision filter as everything else and a border sits at the edge of what a House can see. It sees ten tiles now, for its owner only. The drama this whole system is built for needs both sides watching.

The bug the screenshot found

I took the first photograph of a House being driven out and the client was still drawing the entire base: the walls, the chests, the Throne, three enemy heroes standing in a field that the server had already emptied.

The expulsion was writing to the database behind the back of the living process that owns that part of the world. The rows went, the process kept the buildings in memory, and at the next checkpoint the memory would have written all of it back. The rule this game runs on is that memory is the truth while a chunk is alive, and I had broken it in the one direction nobody had broken it before.

Razing happens inside the process now. The database path is only for a chunk nobody is looking at, which wakes up already empty.

With that fixed, a chest and the Throne were still on screen. It turns out nothing in this game had ever taken a chest or a Throne off the screen: demolishing a chest was something nobody did, and a Throne was not demolished at all. The hole had simply never been stepped in.

Armies, briefly

None of the above would mean much with twelve heroes a side, which is all a House has.

Houses train troops now. Four types across five tiers, drilled at a training yard, housed in bunks that take up floor you could have used for a workshop. They go into the field as a squad under a hero, never on their own, and a squad is one thing with a count rather than forty things with health bars. Spearmen beat cavalry, cavalry beats archers, archers beat spearmen, with siege outside the triangle because its target is a wall. Line beats square, square beats wedge, wedge beats line.

That is a post of its own and it is the next one.

Everything else that landed

The siege is the headline, but it is a fortnight of work and most of it is not about war at all. In short:

The map got places. Every one of the thirty five regions has a named landmark now, and you only see the ones whose ground you have actually walked. Twelve are dens with a name, fighting two rings above their weight. Twenty three are stone monuments with lore attached and a bonus waiting for someone to claim them.

The regions have faces. Each one leans toward one of its ring's three biomes, not by painting over the noise but by moving where the noise cuts. The average patch of one biome went from 20 tiles across to 48, and a region now reads as 87% one thing. You can tell roughly where you are by looking down.

Trees look like where they grow. Broadleaf on grassland, pine in forest, a scrubby thing on mountains, dead trunks in the swamp, snow pine in tundra, and nothing at all in the wastes. The client picks by the tile's own biome, so a clearing of broadleaf inside a pine wood draws itself.

There is a world map, and it has fog. Press M. One byte per five by five tiles, the whole world, scroll and zoom. You see only the chunks you have explored and, inside them, only the cells you actually laid eyes on, so the revealed part has the shape of your sight and not the shape of a chunk. Bridges other people built show up only if you have found them.

The world map zoomed in on one House: a bright patch of charted ground around the Throne, three winding corridors of explored land running south and east where caravans have travelled, two rivers crossing them, and the named regions Saltmarch, Sorrowfen and Mirewood lettered out in the dark.

The same map with the whole world in frame: one thin thread of charted land near a corner and everything else black, under the line 265 of 40000 chunks charted.

You can live away from home. An outpost is a bed and a chest far from your House, and it means a hero can work four rings away without walking back to eat. It claims a small patch of ground, holds three heroes taken off your roster, and takes a real day of fragile scaffolding to raise, during which every neighbour with land nearby is told exactly where it is.

And it feeds itself, or starves. Below sixty percent, the outpost asks home for food and your House sends a caravan with whatever it can spare. Cut that line and the outpost falls in three days, its claim dies, and the garrison walks home on its own. Taking an outpost by cutting its supply is cheaper than besieging it.

Cargo crosses the world on wheels. Ten pixels a second: twenty seven minutes to your neighbour, four hours to the centre. The caravan has no stored position at all; where it is, is a function of its route, its departure and the clock, because a journey crosses up to ninety chunks and nearly all of them are asleep. It is also an eye: it lights the ground it passes and paints your map as it goes, even while you are offline.

You decide what travels. The trading post is the door. Click it and pick a destination and a cargo.

Bridges charge. The toll is set by the alliance leader, the owner and allies cross free, and whoever cannot pay does not set out. What is collected piles up on the deck, and somebody has to walk there to collect it.

Houses trade with each other, and nobody can be robbed. You load a cart with what you are sending and what you want for it, and the cargo leaves your chest and belongs to nobody until the other side answers. Accept and the swap happens in one instant. Refuse and it comes home. Say nothing for three days and it comes home anyway. Neither of you has to be online at the same time.

And a cart can be taken on the road. You see other people's carts only where your House has eyes, you attack by explicit order with a hero in the same chunk, and the newcomer shield does not cover caravans: they are the one universal exception. But striking another House's cart destroys your own shield, permanently, and the game asks first with the price on screen. Its cargo falls on the ground as a pile that lasts six hours, belongs to whoever gets there first, and has to be carried home by another caravan.

Hunting is one animal per biome. Deer on grassland, elk in forest, ibex on mountains, wild goose in the swamp, reindeer in tundra, lizard in the wastes. Not every chunk has a herd any more: 31% do, averaging less than one animal each, where before it was four in every chunk everywhere.

The wolf pack went back to being an event. It used to come every night. It comes one evening in two hundred and fifty now, except in the first nights of a new House, where it is guaranteed and grows from one wolf to three, because that is the part of the game that teaches you to defend yourself.

Four beasts, a hero and a caravan were redrawn. The hero has three drawings and four directions now instead of one portrait, and when he stands still he turns to face you.

Nobody sits at zero health outside the coma. A photograph showed a heroine who had been standing still for a day, at zero, fighting a target that did not exist. Living code cannot produce that line, but a crash in the middle of a knockout can, and the chunk came back up from it.

And alliances became real. They have a tag, a sigil, a colour and a cap of forty. Three ranks, Leader, Officer and Member, with a table of who may do what: officers handle people and identity, the leader handles the alliance itself. An officer cannot remove another officer and nobody removes the leader. Leaving puts you on a day's wait before you can join another, which is the same day as a war declaration, so the game has one waiting period and not three.

Next

Armies properly: what a squad is, why formation is worth less than composition, and what happened when I measured the whole thing against the estimate I wrote before any of the code existed.

Steam capsule art is still the thing I keep not doing.