Disclaimer: this description of the combat system is from a design standpoint. So it gets pretty technical and delves into the nuts-and-bolts. You have been warned!
What is a Combat System?
From a design perspective, RPG systems can be thought of as organized sets of statistical contests which combine to form game mechanics.
Typically these contests are wrapped in a narrative context. An RPG with a lockpick mechanic might generate a random number, and compare it to a threshold determined by the value of a character’s lockpicking skill modified by the difficulty of the lock. We call these simple contests. Basically, it’s a roll compared to a number, with thresholds for success and failure derived from character stats. The contest usually has a discrete result: “You succeeded in opening the safe.” In the D20 system, you know this as a Skill Check.
In contrast, a combat system is the label we give to a complex statistical contest which typically occurs over a time-frame and features player decision feedback. There are a lot of factors that might go into a combat system — hit rolls, damage rolls, mitigation, cover, movement, and the over-arching concept of time management which can be represented by anything from cooldowns to an action points / turn mechanic. Unlike simple contests, combat does not have a simple statistical outcome. Instead combat may modify values anywhere in the character state, or game state.
I find it useful to demystify combat, and simply regard it as a complex mechanic for evaluating relative statistical power between multiple combatants, and the player skill in managing that power to form combat tactics.
Needs of the Astrobase Command Combat System
Game systems are designed to meet needs determined by the larger game design goals. Every combat system is different because it has been customized for each individual game. Good combat systems simply meet the needs of the game better than bad ones, and also better identify those needs. And players can feel this intuitively, and might say combat in a given game “feels natural” or “feels frustrating” or “is grindy” or “is fun,” etc.
The needs of the Astrobase Command combat system are the following:
- Usable by all complex contests in a unified, overarching system
- Character combat, objectives, mining, space combat, etc
- Usable for player-directed tactical combat
- Usable for simulated behind-the-scenes combat without any changes
- Combat log of the simulated combat needs to demonstrate the same strategy implications of the player-directed combat
- Encourage deep player strategy and counter-strategy when selecting the characters and gear to send to battle, and that the player and AI can equally execute these strategies in a satisfying manner
- Provide a purpose for crafting (for example, having item stats that interact in subtle ways)
- Support interesting procedurally generated items
- Different damage types and their counters should feel both natural and meaningfully differentiated
- Other combat parameters that relevant auxiliary combat stats can impact
- Fit with overall character progression, and item balance
- Prevent “this is the best stat, this is the second-best stat” situations
- Should provide for strategy, and counter-strategy rather than DPS-fest
- Support multiple sides of an encounter (each with their own objectives)
- Allow for satisfying AI behavior where the AI has the ability to make smart (or deliberately dumb) decisions, or decisions based on personality
- Should be implicitly hard to have broken behavior
- Be fun and interesting on its own!
This is a pretty long list, because combat is super-important to the game!
A Description of Combat
The correct design term to describe the Astrobase Command combat system is “simultaneous-turn tactical combat.”
In a nutshell, combat occurs over turns. In player-directed combat these turns occur over time frames (you can think of a turn as a combat second). Every unit submits his actions to the turn — this could be shooting a plasma pistol, or reloading, or using a device, etc. At the end of each turn the actions are resolved simultaneously, so it’s possible for two characters to shoot each other and both die. In player-directed combat the turns are seamless, meaning you don’t see the turns — you just see characters doing stuff.
Under the hood, it’s about Action Points (AP) optimization within a fixed window rather than cooldown optimization.
In Astrobase Command, AP is derived from the Mental stat on characters. Every character action is associated with an AP cost. If an action takes more AP than a character has, the action can span multiple turns. So you’ll never get in a situation where something is equipped and a character simply can’t use it. This incidentally opens up item generation and creates an interplay between front-loaded and back-loaded damage. The game can generate any item and equip it to any character and combat won’t break.
For example, if Ensign Alice has 6 AP and her rifle takes 8 AP to shoot, for first turn she’ll be aiming and the weapon will fire during the second turn. For visualization purposes, you might see her animation play 1/3 of the way into the second turn (2 AP remainder out of her 6 total) or throughout the whole turn. But all damage is resolved at the end of the combat second.
For non-visualized simulated combat (such as with Away Missions where you put an officer in charge), it works exactly the same. But in this case, the simulation can be run instantaneously. So the results of far-off battles can be calculated as needed.
One of the benefits of simultaneous turns is that it models realistic behavior for environmental damage and area-of-effect weapons (such as grenades).
Environmental damage can be applied consistently every turn as simply another vector of damage rolled up with any other combat damage the characters take. We explicitly didn’t want a system that favors the characters/side that gets to go first (so we have no concept of “going first”). A character will run up to throw a grenade while taking enemy fire, rather than take his turn, run to position, throw the grenade, and run back while everyone else sits idle.
Astrobase Command is essentially an Ironman-style game (permadeath + anti-save-scum), so above all the combat system needs to be fair! No character will die because he or she had the misfortune of going last, unless it’s because an action takes multiple turns to execute (because the item has a higher AP cost than the character can handle in a single turn).
This is getting a bit long, so I’ll break the topic up into two posts. Next time we’ll dig into the generated / crafted item system (all items in Astrobase Command are either crafted or procedurally generated) and how this ties into the combat system.
So we’ll be covering items, crafting and procedural generation, damage types, mitigation, and balance. Maybe we’ll have a part 3.