So over the last few posts, I’ve talked about the prototyping process for the game, translating that to a playable form, and a bit about the overarching structure. I’ve also promised - several times - to delve more into how the battle system actually works, and today I mean to keep that promise.
As I mentioned in the paper prototyping entry, the battle system takes place on a split grid, with a side for the player’s forces and a side for the enemy’s. At the rear of each grid stand the respective “commanders”, and it’s by defeating them that either side claims victory. Commanders can be injured by units having uninterrupted paths to attack them directly.
My goal is to have each battle be relatively brisk (as the player will be involved in a lot of them), but for each to feel like an interesting and unique challenge that keeps the player engaged.
Thinking About the Why
To step back for a moment, I think it’s worthwhile to talk about the types of choices I want the player to have to make during any given battle and how those have informed my design choices. At the highest level, I want the player to have to think about positioning - keeping their commander protected while also breaking through the enemy lines to attack their commander. But in addition to that, they should be thinking about where units can be most effective from.

To add an extra layer of decision making, beyond just preferred attack positions, certain types of units will benefit from being in particular formations. The basic “peasant” unit, for example, has an ability that grants additional HP if they are in a column adjacent to at least two other peasants. All units involved in the formation get the bonus, and the additional HP make this weak unit much more durable. So now the player is incentivized to weigh the benefits of keeping the units in formation vs moving them around to cover potential gaps.


So positioning within the battle is a very tactical decision, but I also want the player thinking about some larger strategic concerns while they are at it. I haven’t delved much into the plot yet, and I’m going to hold off on that for a bit longer. But the important part is that the player is meant to be leading an uprising against a much larger, more powerful force. For the player - especially early on - the units that make up their forces are in short supply. So while it might be tempting to just think of every unit as a possible meat shield to keep the commander safe, throwing away units carelessly can quickly drain your army, leaving you in a much worse overall strategic position.
The player can maneuver units to avoid damage, and they can also retreat wounded units out of battle by moving them to the Rear and then exiting the field. Keeping units alive yields long term benefits, not just in terms of numbers but also in their eventual growth and experience.
With these two main goals for the player in mind, I’ve structured battles around giving them interesting situations in which to manage them.
Everything’s Just a Phase
Battles are divided into a series of rounds, and each round into a set of phases. Rounds begin with Ranged units (archers, mages, and the like) launching their attacks. After both sides have completed their ranged attacks, and casualties are removed. All damage is treated as simultaneous, so everybody gets their attack in even if they are ultimately killed at the end of the phase.
After the ranged units go, it’s the Melee units’ turn. They make their attacks and, once again, any casualties are cleared at the end.
Following attacks, there is a Resolution phase where certain ongoing effects are processed (things like poison, or battlefield obstacles).
Next, Reinforcements arrive. While each side can start with a certain number of units in the field based on their commander’s skill level, the rest of their forces sit in the reserves, ready to come out as battle progresses. The number of reinforcements that arrive is, again, based on the commander’s skill, but they always arrive in the Rear, and who arrives is random. This is to give battles a slight sense of chaos (the battlefield is a chaotic place!), as well as to keep the player on their toes with interesting choices. If they always know exactly what’s coming and exactly where, then everything just becomes a rote process of repeating the “perfect” steps each time.
Once Reinforcements are out, each side gets a chance to reposition before the next round begins. The enemy moves first, and then the player has a chance to respond. Units can (for the most part) only move one space at a time in cardinal directions. They can also swap with an adjacent unit, which helps alleviate any traffic jam-esque situations.
After that, the action returns to the top of the round and the phases repeat until either one commander falls or one side runs out of forces.
A Base To Build On
With this battle structure in place, as well as the core vision of giving the player a constant series of interesting choices to make, I can build from these basics into something much bigger. A much wider variety of unit attacks, more special abilities, more counter-strategies to think about (shields that protect from arrows, spears that stop cavalry charges). Not to mention the longer-term thinking of how to protect valuable, experienced units and eventually upgrade them. Because ultimately, while the individual battles are important, the player has a larger war to win and always needs to keep that in mind.
Next Time: Struggling with my eternal nemesis, UI.
P.S. Station Zeta is on sale right now during the Steam Autumn Sale for 50% off! It’s the best discount you could ask for on running, jumping, and puzzling your way through 35 levels of space station-based madness!
P.P.S. You can always join the conversation at our Porch Weather Games discord!
Camp Keepalive: Endless Summer is a turn-based strategy game set in a camp straight out of an 80's horror movie. Save the helpless and dull-witted campers from an onslaught of monsters with a team of counselors, each with their own unique abilities.