Several weeks of chantier in one go: Aldémoros lore deployed, an evolving map, customizable crests and icons, two playable armies, five out of six phases shipped. Honest recap, what works, what still eats me, and what comes next.
It's been weeks since I last posted, and it's getting absurd — so much has happened in the project that summing it all up in one devlog feels like a stretch. Whatever, here goes. This article is a full status report: where we are, what's working, what ate my time, and what I'm coding right now.
No spin. If you've followed Hammerpint for a while, you'll recognize some of these threads. If you're just landing, you'll get a clean overview.
The biggest invisible chantier of the past few weeks is the lore. Not narrative wallpaper — a real bible, written voice by voice, faction by faction.
Each faction now has:
I write everything in French first. English follows. Fourteen factions, hundreds of units, each with its own lore. It's Benedictine work, and I'm glad it's done. The project isn't a rules engine in costume anymore — it's a world, and battles take place inside it.

I also shipped a world map — Aldémoros, with its visual editor. HoMM3 vibes, fully assumed: biomes, roads, sites of power, rivers, frontier marches.
It's not a pretty static image. It's a data file describing hexes, biomes, faction territories, trade roads, diffuse strongholds. I can edit it, evolve it as the game grows, mark battles on it, redraw a frontier after a campaign.
When campaign mode lands, this map will be the playing field — for now it's the lore frame, and every faction has its place on it.

Owned decision: we launch with two playable factions and twelve in composition mode.
The other twelve factions — Empire, Dwarves, Beastmen, Wood Elves, Watchers of Naharemnu, etc. — have complete lore, complete rosters, working builders. You can compose a 1500-point list with any of them. But making them enter battle with their special rules faithfully implemented still takes time. A « Soon playable » badge is shown clearly in the builder so nobody is surprised.
I could have waited until all fourteen factions were battle-ready before launching. I'd have lost six months of real feedback. Two armies are enough to play, to test, to iterate. The rest will follow.
Two nicer, more visible chantiers shipped recently:
Every faction now has a unique crest, composed via an admin visual editor. A library of heraldic charges (phoenix, hammer, skull, etc.), two colours, a border. Not a flat pasted image — a composition I can edit, adapt, evolve.
The crests of the Celestial Elves (phoenix of House Calandros, gules and gold flames on argent, azure chief — the sky of Erys, gold border for Stellar Steel) and the Greenskin Hordes (skull on a sinople/sable parted field, raw, aggressive) are already locked.
Eventually, every player will be able to compose their own banner crest in the builder.
Same for special-rule, phase, and status icons. The project now has over a hundred — a visually coherent set, in the parchment palette of the interface, with its own logic (rounds for statuses, hexagons for phases, etc.). And every icon is editable, replaceable, overridable through a user pack.
The endgame: a player can personalize their interface — their crest, their sprites, their list names — without touching the engine.
A Hammerpint battle goes through six major phases. Five are shipped and tested, the sixth is in active chantier right now.
Deployment is probably the phase that has evolved the most. Seven sub-phases — scenario pick, objective pick (Domination, Baggage Trains, Strategic Locations), alternating placement, reserves, ambushers, scouts, vanguard. Server-side validation, coloured halos on valid deployment zones, character placement modal at join time.
I'm proud of it — it's pedagogical, it follows the rules faithfully, and it stays fast in real matches.
Stupidity test, Inspiring Presence, Hold Your Ground, Rallying Cry, rallying fleeing units, spell conjuration. Spell selection in a dedicated UI — list of available spells, range circle on the minimap, dispel prompt for the opponent, chronicler reactions, dice visible on every roll. Eight lores implemented (56 spells), miscasts run their own consequence table.
Direct drag on the unit (body = advance, corners = wheel), ghost outlines for predicted final positions, client/server collision sync, ±15° wheel buttons, full manoeuvres (advance, wheel, backwards, about-face, reform, sidestep, redress). All special rules covered: Scouts, Vanguard, Drilled, Strider, Fly(X).
Declaration → Reaction → Resolution → Redirect. Preview modal, arc detection (front/flank/rear), multi-charge arrows, accidental contact, give ground. The charge phase is probably the most complex in the game, and it stands.
BS → wound → saves → casualties → panic. Volley fire, eight weapon profiles, nine war machine types (cannons, bolt throwers, mortars, organ guns…), templates and scatter, two misfire tables, grapeshot. Twenty-three special weapon rules implemented.
This is where I am. And I've been here for a while. Melee is the heaviest phase in the game. Initiative-step by initiative-step, charge bonus, impact hits, stomp, challenges, Look Out Sir, pursuits, overruns, multiple combats, attack allocation per batch (champion, R&F, joined characters), saves per model, casualties per rank, combat resolution, break test, flee, pursuit, overrun.
The engine works. Most rules are implemented. What ate my time is the UI — how to expose this complexity without drowning the player, without modal piling, without hiding the actual rules behind a black box.
For weeks now, that « Distribute attacks » modal has been bugging me. It was clunky — a dialog popping up every round, not intuitive, and worst of all it hid the real rules: the contact grid, multi-arcs, flanks, edge cases. Toilet that had been delayed.
So I rebuilt the whole thing.
Allocation isn't a modal anymore. It's a persistent strip, a table sitting above the log, showing each batch of attacks — one attacker hitting one defender. You see the figure with its iconified role, its stats with modifiers applied, and a button to pick the defender.
If you click on a modified stat, the system offers AI help: « why this stat? », with the rule in plain language. Pedagogical — you don't just know there's a malus, you know why.
But what really ate my time is the contact grid. An attack arc determines who can be defender. A charge can hit 2+ units in « sided » config. It was implemented correctly, but you couldn't see it — you just had to trust the system. Now an inline grid shows defenders by arc, and the geometry behind it. One of the most demanding parts of the rules, finally visible.
The old « Distribute attacks » modal is past tense. It was redundant.

What's left before public launch:
Once that's in place, we open closed beta.
And after? The RPG layer (traits, scars, legendary items, grudges, reputation), campaign mode, persistent AI opponents. It's in the pipe, it's documented, it's not for tomorrow but it's not the vague horizon either.
If you want to follow all this, you can sign up for the waitlist. See you very soon.
Sign up for the waitlist to receive forge notes by imperial courier and be among the first to raise your banner.
✉ Join the waitlist