Welcome to Happa, Anonymous Sunday, November 15 2026

DEVELOPMENT PLAN #101 — The Enemy of My Enemy: Sharing a Battlefield Across Separate Wars

This is a development-plan article: it describes something we want to build next. Nothing described here is implemented yet, and the details are still under consideration and may change before implementation.

With a single war, friend and foe are clear. But suppose one country is attacked by two others, each in its own separate war. What happens when both attackers reach the same battlefield? In the current game, the one that arrives second simply waits until the battle is over. Tonight's plan lets countries fighting the same enemy in separate wars fight side by side on the same field. It expands improvement item DPL-029 (battles and sides across multiple wars).

The current end-of-war dialog (the actual screen of a Debug build, with screen-check data): a country that has lost all its territory is annexed by the winner. Today every battle and every occupation belongs to exactly one war, so results like this are always settled war by war.

Where things stand

In the current game, wars and battles connect like this:

  • A war starts with a declaration, and countries bound by treaties such as alliances can join the attacking or defending side. A country already fighting someone on the other side in another war cannot join a second war against that same country (one pair of countries is never in two wars at once).
  • Every battle belongs to exactly one war. Even if separate wars are being fought in the same province, their battles are never merged. Losses and occupation are recorded per war, and an occupied province stays the legal territory of its owner until peace.
  • Units arriving at a province with a battle in progress can join only if their country takes part in that battle's war. Units of any other country wait outside until the battle ends.
  • A province hosts one main battle at a time. When three or more mutually hostile forces arrive together, initiative (reconnaissance and commander skill) decides which battle comes first (the three-way rules).
  • When units join an existing battle from another direction, the battle width (how much can stand on the front) grows with the number of attack directions.

This keeps it clear which war every loss and every occupation belongs to. What it cannot produce is the classic war-story moment of two countries with no alliance standing together against a common enemy. The latecomer can only watch the fight in front of it.

The plan: separate wars, shared battlefield

Say the Western Kingdom and the Northern Union are each at war with the River Duchy, in two separate wars (War 1 and War 2). The Western Kingdom and the Northern Union are neutral toward each other and have no alliance. A War 1 battle is under way at the Ferry, a River Duchy province, when Northern Union units arrive.

  • We want the Northern Union to be able to join the attackers as a co-belligerent instead of waiting. The conditions: it is at war with at least one country on the other side, and it is not at war with any country on the side it joins.
  • Joining does not make the Northern Union a participant in War 1. The two wars stay separate; only the battlefield is shared.
  • Only pairs of countries at war exchange fire. Western Kingdom and River Duchy (War 1) fire at each other, as do Northern Union and River Duchy (War 2); the neutral Western Kingdom and Northern Union never fire at each other.
  • If all three countries are at war with one another, there is no co-belligerence; today's three-way rules apply.
  • Battle width keeps today's per-direction rule. The northern direction is added and the width grows, for example, from 6 to 9.

Concept mock (a plan under consideration). The battle screen shows which war each participant belongs to (such as "War 2 · co-belligerent"), the width per direction, and who fires at whom. Countries and numbers are examples.

Losses and occupation, split by war

The key question is which war a result belongs to. Within one battle, the war is decided by the pair that exchanged fire, so each loss is recorded under that war. If the River Duchy loses 40, for example, the 26 dealt by the Western Kingdom belong to War 1 and the 14 dealt by the Northern Union to War 2.

Only one country can occupy the province. We are considering giving it to the country that dealt the most losses to the other side, as an occupation in its own war (on a tie, the side that started the battle). In the example, the Western Kingdom occupies the Ferry in War 1; the Northern Union gets no occupation but may stay and move on.

Concept mock (a plan under consideration). The battle result is split by war: losses dealt and taken, occupation, and what happens when one war makes peace. Countries and numbers are examples.

The two wars will not end at the same time. If War 2 makes peace first, only the Northern Union's units leave under the existing armistice rule, and the War 1 battle goes on. The other way round, the rest continues as a War 2 battle. Confirmed losses stay in each war's record after peace and are never counted twice.

This creates play around "the enemy of my enemy". When someone else declares war on your opponent, do you wait for their troops before attacking, or push through yourself before they take the province? You can help each other on the field without an alliance, but the occupation goes to whoever did more of the damage. That is the tension we want.

Implementation steps and how it fits with other systems

The steps we have in mind:

  1. A record for battles spanning two or more wars (a stable ID, the wars involved, hostility per pair of countries, eligibility) and saving it.
  2. The join check on arrival at a province in battle: co-belligerence, or the existing three-way rules.
  3. Limiting fire to pairs at war, and tagging each loss with its war.
  4. The occupation rule (losses dealt, tie-break) connected to the per-war occupation records.
  5. Splitting on peace or armistice, and sending units home only for pairs whose hostility ended.
  6. The battle screen and result display (Japanese and English), and AI decisions on whether to join as a co-belligerent.
  7. Checks that saving and reloading, or re-running the same day, never doubles losses or occupation.

Because this changes today's rule that every battle belongs to one war, it is a specification change. It also touches the plan for commanders re-reading the battle to counterattack or pursue (introduced in #77), so we will consider how a co-belligerent's moves feed into the commander's judgment.

Tell us what you think

Would you use the chance to fight beside a country you have no alliance with? Does "the country that dealt the most losses takes the occupation" feel fair? And what would you want to do when a co-belligerent is about to take a province you were fighting for?

About the images

Image 1 is the actual game screen, captured from a Debug build launched without showing a window, using screen-check data (country names and numbers are test values). Images 2 and 3 are mocks that explain the plan; they are not game screens.

Related: DEVELOPMENT PLAN #77 — commanders re-reading the battle, DEVELOPMENT SNAPSHOT #100 — Field Repair Caps and Arsenal Repairs

See the files currently available and the development status on the download page