Lane Wars devlog

Building an Army System Where Every Soldier Matters

An army in Lane Wars is not a single strength number. It is a persistent roster that moves across the campaign, takes losses, recovers and arrives at each tactical battle with a history.

Spearman unit emblem Swordsman unit emblem Lane Wars army marker Axeman unit emblem Archer unit emblem
The campaign roster and the tactical unit types are being designed as one connected system.

The central question behind the army system is simple: what should survive when a battle ends? Our answer is the soldiers themselves. The campaign should remember who fought, who was wounded and which formations remain available for the next province.

More than an army-size counter

The current campaign state stores four unit families: spearmen, swordsmen, axemen and archers. Each family is divided into three experience levels, and every level separately records healthy and wounded soldiers. That structure is already shared by the campaign map, army interface and fight scene.

This matters because two armies with the same total size can play very differently. One may be a healthy line of lower-level infantry. Another may contain veterans, wounded troops and a narrow composition that is vulnerable to the wrong counter. The player needs to read that difference before committing to a battle.

Army state also records whether a force has moved this turn, whether it is healing, its current stance and any reinforcement packages still travelling toward it. These are not decorative statuses. They stop movement, change what actions are available and make preparation part of the campaign decision.

Composition with a purpose

Lane Wars uses a counter relationship between the three frontline infantry types, while archers provide ranged pressure and need protection. Army generation therefore works from composition profiles rather than distributing every unit evenly. A spearman-focused force can still contain supporting swordsmen or axemen; higher-tier forces can introduce archers in controlled proportions.

Early armies deliberately lean toward melee troops. That keeps the first campaign encounters readable and prevents ranged units from becoming the answer to every problem before the player understands lane positioning.

Current design rule: campaign composition must create a tactical question. If the roster does not affect how a player reads the lanes, it is only bookkeeping.

Movement, recovery and reinforcement

On the map, armies move between connected provinces. They can merge when they occupy the same province, recruit in valid friendly locations, reinforce existing forces and spend food to heal wounded soldiers. Reinforcements have their own unit breakdown, cost and remaining travel time instead of appearing instantly.

The enemy uses the same strategic vocabulary. Its turn logic can recruit, merge small forces, heal wounded armies, pursue movement objectives and choose attacks. This is still being tuned, but building the AI from the same constraints keeps it from feeling like an unrelated system with invisible privileges.

Making a dense system readable on mobile

The shared HTML/CSS UI prototype divides the army panel into Army, Support and Camp views. Army shows the roster, levels, condition and composition. Support presents limited battlefield tools. Camp currently demonstrates Field Camp and Commander cards with placeholder benefits. Heal, Reinforce and Disband remain visible actions rather than disappearing inside another menu. This prototype still needs to be connected to the live campaign map.

The matching enemy-army prototype keeps public strength visible while concealing exact unit counts. It uses question marks and neutral composition treatment instead of merely hiding text while accidentally exposing the same information through bar widths. The presentation is implemented in the UI test scene, while its intelligence rules are still design work.

What we are refining next

The foundations are working, but balance is not final. Reinforcement travel, healing costs, army-size limits and the value of veteran units all need repeated campaign testing. Commander benefits also need to strengthen an army without erasing the importance of its soldiers.

The goal is a force the player can understand at a glance and care about over many turns. Winning a province should feel good. Winning it while preserving the experienced core of an army should feel better.