โ† Devlog

Last days before alpha: we rebuilt the map on canvas

2026-05-15 Engine Performance Alpha Prep

Alpha lands May 31, 2026. Two weeks out. The last sprint has been about one thing: the map - and it ended up being the biggest single rewrite we have done since the AI rebuild.

We tore out the SVG renderer entirely and shipped a canvas-based map. The result is the kind of performance delta that changes what the game actually is to play. Plus a stack of smaller things we want to mention before launch, because they all add up.

Why we ripped out SVG

SVG was the right choice when we started. It gave us crisp vector borders at any zoom, CSS hover states for free, accessible DOM nodes per province, and a renderer we did not have to write. For a strategy map with a few hundred regions, that is a strong default.

It stopped scaling. Once we crossed roughly 1,800 polygons - every province, every island, every disputed border at full WW3 fidelity - the browser was paying for every shape on every frame. Pan was tolerable. Zoom was where it fell apart.

Zoomed in at 4x, we were measuring 9 FPS on a mid-spec laptop. That is not a number you tune away with selector optimization. That is a structural limit of the renderer.

What canvas bought us

Baseline FPS
250
average, all zoom levels
4x Zoom Before
9
SVG renderer
4x Zoom After
167-200
canvas renderer

That is not an optimization. That is a different game. Deep-zoom inspection - the thing you do when you are planning a strike package and need to see what is actually within the radius of a hostile airbase - is now fluid. Pan-while-zoomed does not stutter. Hover feedback responds within a frame.

We kept the things SVG was actually good at - the per-province metadata, the accessibility hooks, the click targets - and rebuilt them as a parallel logical layer that the canvas renderer queries. The DOM stayed lean. The hit-testing stayed crisp. Only the pixel work moved.

What this means for what you can do in-game

A few things that were quietly broken before:

The other thing we shipped: the whole playable-nation roster

Between Stage 9 and today we put hero photos and curated nation pages on every playable country in both WW2 and WW3 scenarios. That is over 280 pages, batched out across roughly fifteen content drops - tier-1 marquee nations first, then NATO Europe, the Middle East and Caucasus, the Asia-Pacific belt, Sub-Saharan Africa in two passes, Latin America, the Caribbean, the Pacific microstates, European dependencies, and the microstate tier at the end.

Each page exists because we want people to be able to land on, say, "play as Bulgaria" and immediately see what the strategic situation actually looks like for that nation - not a generic template. Era-appropriate imagery, real geopolitical framing, and a launch path into the scenario.

This was not glamorous work. But the alpha needs to feel finished at the seams, and the seams are the pages people hit from search.

UI: the final pass

The UI work this sprint has been less about new components and more about resolving things that bothered us. Anyone who has shipped a game knows the list - the modal that opens slightly the wrong way, the tooltip that lingers a hair too long, the keyboard shortcut nobody remembers because the discoverability is bad. We are eating that list.

A few specific items:

Combat tuning

Stage 9 shipped the new combat model. The last few weeks have been the empirical phase - running scenarios, watching outcomes, deciding where the curves are wrong.

Most of the changes are small. A few are not:

None of these are headline changes. All of them are the kind of thing where the difference between "shipped" and "good" lives.

Smaller things, also done

What we are doing this final stretch

Two weeks. The list is short on purpose:

We will keep the devlog updated if anything moves. If something slips that we care about, we will say so - that is the deal.

Try it on May 31

The browser demo opens to everyone on launch day. No install, no signup, no marketing email gate. Pick a scenario, pick a nation, see whether the doctrine percentages do what you expect.

If you want to know the moment it goes live - the Discord is where the announcement happens first. And the bug reports land. And the strategy threads that shape the next stage.

We cannot wait for you to play it.

- The NationFall team

Try the demo

More: how combat works ยท all devlog posts ยท Discord