MATT HASTINGSHOMEFRONT END PHILOSOPHYPROJECTSTHREE HAMMERS
Progress · Oct 26, 2026

Eighteen Missions and a Forge

Every mission now plays from start to finish, the campaign branches to its endings, and this week the forge got its upgrade lines. The plan from here is to play it rather than build more of it.

Since the last chapter, the campaign went from ten playable missions to eighteen, every route through it reaches an ending, and the game gained the layer of research and upgrades that a forge-building people ought to have. None of it has been played through by a person yet. That is the next step.

The last chapter ended in the Glasswood, with the tenth mission playable and its elves still borrowed sprites. Since then the rest of the campaign has been built. All eighteen missions now play from the first order to the victory screen, and the choices between them branch the way the story says they should.

Every one of them is still a graybox: the shape of the mission is in place, along with the objectives, the waves, the dialogue triggers and the map. Much of the art and nearly all the tuning are not. Structure first, quality after.

The twelfth mission's first troll raid reaching the hall, recorded from the game itself. Nobody gave the dwarves any orders: these are the defenders the mission starts with, meeting the wave its script sends.

The whole campaign, end to end

The campaign is a graph rather than a list. The first three missions are shared. After that, an allegiance choice sends the player down one clan's road, and later choices decide which ending they reach. Proving that the graph holds together means running it: automated playthroughs that start a fresh profile, win each mission, save, load and carry the army forward, checking hundreds of facts along the way. These include which mission comes next, what the player keeps and what the briefing says.

There are four of these routes, one for each main path through the story, and all four reach an ending. That was the milestone this period: the campaign's structure is finished. What remains is making each mission good.

The briefing for the eighteenth and last mission, as the game shows it: an illustrated still, the narrated text line by line, and controls to pause, replay or skip.
The briefing for the eighteenth and last mission, as the game shows it: an illustrated still, the narrated text line by line, and controls to pause, replay or skip.

Effects you can see and hear

Nine of the dwarves' abilities got proper layered effects:

Each was built the same way as the spells in an earlier chapter. Each effect is assembled from separate pieces, such as the flash, the debris and the lingering mark, timed to the moment the ability actually lands.

The three clips below were recorded on the project's ability test field, a bare stretch of ground used to check effects, rather than in a mission.

Storm Gust: a spiral of wind bursts around the caster in the middle of a melee.
Tunnel Charge: a sapper reaches a watchtower, and the blast and the flying stone bring the tower down to rubble.
Rally the Hold: a ring pulses out from the commander, and each dwarf inside it takes the rally mark.

They also got sound. The project's rule for sound effects is that they are original work or come from Freesound clips licensed CC0 or CC-BY, cut and mixed for the game, with every clip's source recorded and every CC-BY clip credited. A thrown hammer now whirs in flight and lands with a thud, and a tunnel charge hisses before it goes off. All of it plays at the position where it happens on the map, not at full volume everywhere.

Underneath, the engine moved to a new build with two fixes that matter more than they sound: saves are now written atomically, so a crash mid-save can no longer leave a broken file, and a fix to how the engine keeps track of script references removes a source of rare crashes.

Deciding what "done enough" means

With the campaign in place, the next question was scope. The original roster plan has more units and buildings than the campaign uses. The decision this week was that the first complete version of the game is the campaign as built, plus the forge's upgrade lines. The rest of the roster stays designed and on file for later, not deleted.

That made the forge the last piece of game design work before playing.

The forge

A dwarven army should get better at its trade as a campaign goes on. Until this week it didn't: the dwarves could build a Forge, and there was almost nothing to research in it.

There are now five shared lines, available to whichever clan the player follows:

The Forge selected in the tenth mission, which offers the melee, ranged and armour lines. The three new research buttons sit in the command card at the bottom right.
The Forge selected in the tenth mission, which offers the melee, ranged and armour lines. The three new research buttons sit in the command card at the bottom right.
The same command card, enlarged. The letters on the buttons are their hotkeys.
The same command card, enlarged. The letters on the buttons are their hotkeys.

The Bronzebeard road also gets two of its own. Reinforced Plate is now offered on that road too. The new Siege Engineering, researched at the Foundry Annex, gives the Siege Engine one more tile of reach for the assault that ends that road.

Candidate icons for the new research. Top row: melee tiers I and II, ranged tiers I and II, armour tier I. Bottom row: armour tier II, building armour, caster training, Siege Engineering. Tier II reuses the tier I picture with a second chevron.
Candidate icons for the new research. Top row: melee tiers I and II, ranged tiers I and II, armour tier I. Bottom row: armour tier II, building armour, caster training, Siege Engineering. Tier II reuses the tier I picture with a second chevron.

The icons above are candidates, not accepted art. They were generated under direction for about twenty-six cents, and the second tier is drawn by adding a second gold chevron to the first, so the two read as one line at a glance.

Each upgrade appears only in the missions where the plan schedules it, and only alongside the building that researches it. The first test of that schedule was an arithmetic one: in most missions the full set of offered research costs a few percent of the gold in the map's mines, and in the tightest it costs about a seventh. Whether that feels right is something only playing can answer.

The enemy does not research anything. That is deliberate for now and noted.

Keeping each clan its own

While checking the upgrades, the project found that some missions offered units and buildings belonging to a different clan from the one the player chose. For example, a Bronzebeard mission let the player build Wildhammer gear. Nothing in the design asked for that, and it blurred the one thing that should make each road feel different.

Missions now offer only their own clan's pieces, plus the shared dwarven roster. Where a later mission is meant to unlock something, it now appears there and not earlier. The one deliberate exception is a Wildhammer waystation that a Bronzebeard mission uses as its forward gold depot, because the mission's story is built around it.

The map builder

The visual map editor is a core part of the project, so this period it went through a full qualification run:

It now also has a read-only panel that previews each ability's effects, and an offline package that installs and runs without fetching anything from the network.

A mission open in the map editor, with the new Effects panel on the right. The commander is selected, and the panel lists the effect layers of Rally the Hold, with a frame-by-frame preview below. Previewing never changes the map.
A mission open in the map editor, with the new Effects panel on the right. The commander is selected, and the panel lists the effect layers of Rally the Hold, with a frame-by-frame preview below. Previewing never changes the map.

Three mistakes worth recording

Each piece of work here is built separately and checked before it joins the main line of the game. This week, three times, a piece joined after passing the checks that seemed relevant to it, and broke something it did not obviously touch:

Each was caught by the very next piece of work, before it reached anyone, and fixed the same day. The lesson is now a rule: what gets checked depends on what a change touches, not on what it was meant to change. Anything touching the campaign's scripts now runs a full campaign route before it lands.

What happens next

The plan now is to stop building and play. A review build of the whole campaign exists, and the next one will include this week's upgrades. The milestones that matter from here are human ones:

All the checks above prove the game is coherent. They don't prove it's fun. Only playing it can do that.