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
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:
- Multi-province inspection at zoom now works without selecting-and-waiting. You can sweep over a region and the tooltips actually keep up.
- Animated overlays - strike trajectories, supply lines, regime-change indicators - have headroom now. Stage 9 shipped these with conservative animation budgets to keep SVG breathable. Those budgets are gone.
- Mobile and lower-end machines got the biggest absolute win. The 9 FPS number was a mid-spec laptop; the floor on phones was worse. Canvas closed most of that gap.
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:
- Doctrine planner had a depth problem - the planner felt important, but the visual weight did not signal that. Heavier framing, better default state, clearer turn-cost preview.
- Strike report - which outcome belongs to which sortie was readable but not glanceable. We are making it glanceable.
- The regime indicator (decisive vs. grind) was technically present and effectively invisible. It is now front-and-center on the front display, because that is the most useful piece of state in any active war.
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:
- Magazine production curves got rebalanced after alpha testers found that one specific industrial build order trivialized the strike economy. The fix was not to cap output - it was to flatten the early ramp so the choice matters longer.
- SEAD effectiveness over time was undertuned. Suppression should produce a real, lasting reduction in defender effectiveness, not a one-turn debuff. Adjusted.
- Decisive-to-grind transitions - the moment a war shifts regime - had a hysteresis problem where outcomes whiplashed. We tightened the threshold and the transitions read cleanly now.
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
- Site-wide copy pass - em-dashes swapped for hyphens for consistency with our display font, mid-power-nation language tightened up on the marketing pages.
- Build pipeline - fonts now route through Vite, build warnings cleared. Boring but worth saying because it makes deploys cleaner.
- Devlog index gets a proper home as we add more posts. This one is post number two; there will be more during the alpha.
What we are doing this final stretch
Two weeks. The list is short on purpose:
- Finish UI polish on the doctrine planner and strike report.
- Lock the magazine and SEAD numbers - one more pass of scenario testing, then frozen.
- One final scenario-balance review across the WW2 and WW3 starts. We want every playable nation to have a recognizable strategic identity at turn 1.
- Performance smoke tests on the canvas map across browsers and lower-spec machines. The 167-200 FPS number is mid-spec; we want a defensible floor.
- Load and stress test the demo path end-to-end.
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