Alpha · Prototype In active development

Fourteen units.
One continent.
Every battle permanent.

A squad-tactics browser RTS with a persistent conquest campaign. Fight fast, brutal battles on the ground — then command the whole war on a map where nothing resets. This is a war of soldiers, not swarms.

No install. Runs in the browser. Built in the open — expect rough edges and frequent devlog updates.

4
Factions
24+5
Provinces & Capitals
15–25
Min / Battle

Design pillars

Five commitments. No apologies.

ASHFALL is built against a short list of promises about what a battle should feel like — and what it should cost you when it ends.

Squads, not swarms

Your whole army fits in one glance.

The unit of play is the squad — four to ten models moving and fighting as one commandable thing — plus a handful of vehicles and a single hero. A full army is eight to fourteen selectable pieces. Every squad matters. Losing one hurts. You always know the exact state of everything you own.

Read the battle primer
HERO ARMY ROSTER · 8–14 SELECTABLE UNITS
The front line is a place

Cover, suppression, morale — territory, not DPS.

Directional cover reduces fire from beyond the wall; suppression pins squads flat; a squad drained of morale breaks and runs. Fights have phases — advance, pin, flank, break — and reading them is the whole tactical skill. Open ground is genuinely dangerous. Where you stand decides who wins.

How cover & morale work
SUPPRESSED DIRECTIONAL COVER · SUPPRESSING FIRE · MORALE FALLING
Fast violence

Battles end in fifteen to twenty-five minutes.

Economy is deliberately shallow — capture points, spend on your army, no worker micro, no streaming logistics. The entire depth budget goes to combat decisions and the campaign above them. A skirmish is intense, legible, and over before it drags.

Get started in 5 minutes
MINUTES 0 10 18 25 INTENSITY Advance Pin & flank Break ONE SKIRMISH
The campaign is the real game

Each battle is one move in a longer war.

Territory changes your income, your unlocks, and where you can strike next. Your commander levels up, collects named wargear, and drags an increasingly legendary honor guard from battle to battle. Losing a province stings for days of play. Taking an enemy's home base is a bespoke, scripted event that ends a faction.

Explore the Dark Crusade layer
TURN 14 — The Ashen Legion has taken the Iron Quarry.
Asymmetry as content

Four factions that play by different rules.

Not four re-skins of one roster. Different economies of aggression, different relationships to morale and cover, different campaign win conditions and starting positions. Roles aren't mirrored — each faction is designed against its own hook first, and balanced by cost. Twelve matchups, twelve distinct textures.

Meet the four powers
LEGION KINDLED HOLLOW COMPANIES

The four powers

Choose who inherits the ash.

The continent of Vael was the crown of a world empire until the Sundering cracked it apart, killed the imperial line, and woke things beneath the ruins. Four powers now claim dominion — and none of them fight the same way.

The Ashen Legion

Order · Discipline · Steel & Crimson

The remnant imperial army, holding the old rule of law in a world that has forgotten it.

  • Mechanical hook — DoctrineSquads in cover stack discipline over time — accuracy and morale resistance climb the longer they hold. The best suppression guns and toughest line vehicles. They fight best on ground they've fortified.
  • Campaign flavorBonus income from held provinces adjacent to other held provinces — an empire rewarded for contiguity and order.

The Kindled

Fervor · Melee horde · Ash & Flame

A fire-cult mass of zealots who greet death as a doorway and the front line as a bonfire.

  • Mechanical hook — FervorKills and charges build a shared Fervor meter; at thresholds all Kindled gain speed and melee damage. Morale runs in reverse — broken squads frenzy and charge, they do not flee.
  • Campaign flavorAfter a battle won, may immediately launch one extra attack that turn. The crusade rolls forward and does not slow.

The Hollow Court

Elite · Fear · Bone & Verdigris

The awakened dead-things beneath the ruins — ancient, slow, implacable, and unwilling to stay dead.

  • Mechanical hook — Dread & ReconstitutionFear auras drain enemy morale just by standing near. Destroyed models slowly self-repair on the field unless you confirm the kill. No front-line reinforcement — their power is that they do not leave.
  • Campaign flavorProvinces they hold decay, yielding less to whoever retakes them. Their capital cannot be attacked until its outer provinces are broken.

The Free Companies

Tech · Mobility · Oil & Brass

Mercenary engineers and scavengers in patched-together war machines, loyal to salvage and the next contract.

  • Mechanical hook — Salvage & Field-craftAny wreck can be salvaged for resources or repaired into service. They pack up and redeploy turrets, and every infantry squad carries a gadget — mine, smoke, or grapnel. Best vehicles in the game.
  • Campaign flavorMay buy one-battle mercenaries anywhere for campaign resources. Income scales with the variety of provinces held — a trade network, not an empire.

The campaign — the real game

One continent. Twenty-nine prizes. A war that never resets.

Vael is a board you fight across turn by turn: 24 provinces, four faction capitals, and a dead imperial city at the center that everyone wants. Take a province and you take its income, its trait, and one more place to strike from.

VAEL CITY Legion Kindled Hollow Companies Contested THE CONTINENT OF VAEL

What carries between battles

Persistence is the retention engine. Everything you win, you keep — and everything you lose, you feel.

  • The Commander

    Levels 1–10 from battle performance; each level, choose one of two perks. Death means a wound, not permadeath — you miss the next battle, not the war.

  • Wargear

    Roughly twenty named pieces per faction, earned from specific conquests. Each changes the hero's sprite and their numbers — weapon, armor, trinket, relic.

  • Honor Guard

    Elite named squads that deploy free in every battle, above the slot cap. Keep them alive and they grow legendary; a dead veteran is gone for two turns. Your "my army" attachment.

  • Garrisons & Unlocks

    Spend campaign income to station defenders, raise fortifications, and buy global upgrades — start battles at Tier 2, an extra generator slot, and more.

Read the campaign guide

From the battlefield

What a fight looks like.

Early prototype scenes. ¾ top-down, painted sprites, close enough to read a soldier's posture — because posture is how you tell who's winning.

Prototype capture · in-engine mock BROKEN — FLEEING
Firefight

Two squads exchange fire across a ruined street while a third breaks under suppression and routs toward its own lines. Open ground is a killing floor.

Prototype capture · in-engine mock MELEE LOCK fire can't reach the lock
Melee lock

Kindled zealots hit the Legion line and pull it into a scrum. Locked squads can't be shot into effectively — melee is how you silence a heavy gun and how the Kindled live.

Prototype capture · campaign UI mock TURN 22 — The Kindled have burned the Iron Quarry. · The Hollow Court fortifies its capital. ATTACK — CINDER MARCH TRAIT: THE IRON QUARRY · +VEHICLE ARMOR ENEMY STRENGTH (SCOUTED) HONOR GUARD The Iron Wardens VETERAN · READY Ashvigil Company READY Grave-Chosen RECOVERING · 1 TURN "They mined our steel for a hundred years. We take it back today." BEGIN BATTLE
Campaign map

The strategic layer: pick your target province, read the trait and scouted enemy strength, assign your honor guard, and take the field. The world moves between your turns.

Built in the open

The road to v1.

We prove the fun-risk first: cover, morale and melee feel must land before any campaign work. Two factions carry the game until the systems are solid. Here's the plan, honestly stated.

  • M0 — Squad core

    In progress

    Squad and model simulation, movement, cover snapping, one map.

    Done when: a squad takes cover convincingly and posture states read at a glance.

  • M1 — Firefight proof

    Next

    Shooting, suppression, morale, melee lock — four Legion units versus four Kindled units.

    Done when: a scripted firefight has phases (advance, pin, break, charge) and is fun to watch.

  • M2 — Battle proof

    Planned

    Strategic points and economy, HQ and production, reinforcement, Control victory, battle AI v1.

    Done when: a full 1v1 skirmish is winnable and losable.

  • M3 — Campaign skeleton

    Planned

    Continent map UI, provinces, turns, attack/defend flow, auto-resolve, save and load.

    Done when: a 2-faction mini-campaign (8 provinces) is completable start to finish.

  • M4 — Persistence

    Planned

    Hero levels and perks, wargear, honor guard, garrisons, campaign AI personalities.

    Done when: losing a veteran squad hurts and province traits drive real plans.

  • M5 — Full breadth

    Planned

    Factions three and four, all 24 provinces plus capital set-pieces, the full trait list, skirmish mode.

    Done when: v1 is feature-complete — a full campaign as any faction.

  • M6+ — Beyond v1

    Future

    Multiplayer skirmish, co-op campaign, a fifth faction.

    Post-v1 — the campaign is data-driven, so a new faction is a content problem, not a code problem.

Play the prototype

Play it in your browser.

Launch the prototype — hosted right here, no account, no download. The slice covers the first three milestones: full Legion-vs-Kindled Control battles (cover, suppression, morale, melee lock) plus the 8-province campaign skeleton. Prefer to hack on it? Clone, install, and serve locally.

terminal — ashfall
# clone the repo, then from the project root:
npm install
npm run dev

# then open the printed local URL (default http://localhost:5173)
  • A recent Chromium, Firefox, or Safari (WebGL2 required)
  • Node 18+ and npm to run the dev server
  • Keyboard + mouse; touch not yet supported
  • Prototype builds change often — pull for the latest

Note: the playable build is produced by the game team in this same repo. If npm run dev isn't wired up yet in your checkout, the prototype hasn't shipped its first drop — watch the devlog.

ASHFALL DOMINION

Questions

What people ask.

That's the lineage, yes — squad-scale tactical battles feeding a persistent, turn-based conquest of a whole map, where your commander and veteran units carry forward. ASHFALL is its own game with four original factions and a browser-native tech stack, but the "every battle changes a map that never resets" heart is deliberate homage.

Small on purpose. A full army is roughly 8–14 selectable things: squads of 4–10 models, a few vehicles, and one hero. This isn't a swarm RTS — it's the opposite. Every squad is legible and every loss is felt, which is exactly what makes the persistent campaign hurt in the right way.

No — there's a standalone skirmish mode for practice and one-off battles (1v1 up to 2v2 vs AI, with level-10 hero presets). But the campaign is the star and the reason the game exists. Skirmish maps are the campaign's province maps, so time there is never wasted.

Not in v1. The v1 focus is a single-player campaign and skirmish against AI. Multiplayer skirmish and co-op campaign are on the post-v1 roadmap (M6+). We'd rather ship a great solo war than a shaky online one.

It depends. Losing an attack means your army retreats home at reduced strength — attrition, not a restart. Losing a defense costs you the province and its garrison. Your hero can be wounded (misses the next battle) but never permanently dies. One autosave per turn with a 3-slot history protects you from heartbreak losses, and full ironman is a toggle for the brave.

Right now, in the sense that an early prototype is where you should set expectations — it's pre-M2. The roadmap lays out the honest state. Follow the devlog for build drops as firefight, then battles, then the campaign come online.

No account, ever, for the single-player game. It runs in the browser. To run the current prototype locally you'll need Node and npm to start the dev server — see Play the Prototype.