On the Other End of the Rope

To test an eight-person match, we opened eight game windows on the same computer, each with the AI playing in place of someone. In the middle of the battle, we closed one and opened it again.
Getting to that test took the whole chapter.
First, one versus one
Tug of war is better with a person on the other end of the rope, so online came early. One player creates a room on Steam, invites a friend, each picks a faction and a perk, and the match starts. At the end, Rematch takes you both back to the room with the same picks, already ready.
The interesting part is what does not go over the internet. A battle can have 90 troops on each side, each with health, a target, a path and cooldowns. Streaming all of that would be heavy and fragile. So we don't.
Correspondence chess
Think of two people playing chess by mail. Each has their own board at home, and what travels in the post is just the move: "knight to f3." As long as nobody moves a piece without writing it down, the two boards stay identical forever.
Castle Arena's online works the same way. Both computers run the same simulation, side by side, and exchange only the players' orders: build here, upgrade that, cast the Rescue there. An order you give runs on both machines about 200 milliseconds later.
The comparison stops working at one point, and it's the hardest one. Chess has no dice, and Castle Arena does: critical hits, dodges, random draws. If each computer rolled its own dice, the boards would split at the first hit. So all the chance comes from one shared sequence of rolls, starting from the same seed on both sides. An automatic test fails if any rule takes a random number from anywhere else.
With the same start and the same orders, both machines have to reach the same battle, down to the last hit point.
About once a second, the two computers compare a fingerprint of the entire battle. If they differ, the match stops, instead of letting two different games drift off in separate directions.
What comes for free
This way of doing online brought gifts. Because the battle is always the same given the same orders, a replay is tiny: the match setup, the seed and the list of orders. You can watch it at 0.5x to 8x and jump to any point.
While you play, a scout notes how hot each lane got every second and marks the big moments: Rescues, buildings falling, the castle's collapse. At the end, Highlights puts together a 30- to 60-second reel of those moments, and the castle falls in slow motion. And the charts on the result screen are clickable: click a point and the replay opens right there. It's the fastest way to answer "wait, when did we lose the north lane?"
When someone drops
Connections fail, games freeze, computers restart. In a duel, if your opponent disappears, the match pauses with a 2:30 reconnection countdown. The player who dropped just opens the game again and chooses Rejoin match: the computer that stayed sends a full snapshot of the battle, and both carry on from there.
More people on each side
Team modes came right after. A mode is a recipe: chosen, random or mirrored factions, or a draft, best-of-N series, and 48 commands to stack on top, from "no Rescue" to coins falling into your territory. Each recipe becomes a short code, like -rr3-nt-cc, that you can copy and send to a friend.
Then came team matches, 2×2 and 3×3. Each player has their own worker, gold and Rescue. The castle, the territory and the troops on the field belong to the team. And a question came up that seemed obvious: should a 3×3 castle be three times as tough?
We measured it.
| Format | Match length |
|---|---|
| 1×1 | 10.1 min |
| 2×2 | 12.1 min |
| 3×3 | 13.0 min |
Multiplying the castle's health by the number of players changed the length by only about 0.3 minutes. A match is decided when the defenses fall, not by the castle's health. So the castle stays the same in every format, and what grows is the troop cap per side: 90, 135 and 180.
Eight people, one battle
At first, online team play meant you and a friend, each with AI allies. Later, every seat could hold a person, from 2×2 up to 4×4.
With two people, the computers trade orders directly. With eight, connecting everyone to everyone would mean 28 connections, each able to fail in its own way. So online team play is a star: each guest talks only to the host, and the host relays the orders to the others.
And dropping out in a 4×4 can't work like a duel. Pausing the match to wait for one person would be unfair to the other six.
| When someone drops | In 1×1 | In 4×4 |
|---|---|---|
| The match | Pauses and waits | Continues |
| The dropped player's seat | Stays empty | The AI takes over immediately, on the same turn on every computer |
| When the person returns | Gets the snapshot and carries on | Gets the snapshot, catches up with the others and asks for the seat back |
What eight windows taught us
The tests without graphics already simulated drops and returns in every format, and all of them ended on the same battle. But running the real game, with four windows for a 2×2 and eight for a 4×4, showed four problems those tests didn't catch:
- The room that never started. Everyone joined with the default faction, and a team can't repeat factions. Now the Ready button warns you right away.
- The guest who gave up joining. With eight windows loading at once, the host was slow to answer, and the join request went out only once. Now it keeps trying for up to 20 seconds.
- Seven people waiting for one. In the first version, the seat went back to the player who reconnected as soon as the snapshot was sent, and the other seven waited about 30 seconds for that player's scene to load. That's why the AI now holds the seat until the player catches up.
- The slowest PC. Anyone who took more than 8 seconds to set up the match lost their seat to the AI before the first turn. Now a player who is still loading gets 45 seconds.
When we closed one window and opened it again, the match went on. In the end, all eight finished with the identical battle.
What's still missing
If the host drops and never comes back, nobody takes over the room, and their team loses. And orders always go through the host, even between two allies. Both are on the list.
Eight people in one battle want eight different ways of playing. And that's where the factions come in.
— The team





