Proposed Potential Battle Mechanic for Post-1.0 Consideration.
“If someone ever tries to kill you, you try to kill ‘em right back!” -Malcolm Reynolds
In the post-release world it’s widely believed that combat will get an overhaul of some sort. This overhaul will likely consist of several different combat aspects:
The Battle Mechanic (combat rolls and resolving combat, specifically).
Weapon Mechanics (eg: range, rate of fire, cooldowns, etc) .
Weapon Special Features (eg: Ranged Volley Attack for Missiles).
Ship Roles (role behavior, positioning at start of combat, etc).
Other odds and ends that aren’t coming to mind at the moment.
This post only addresses the first bullet on the above list: The Battle Mechanic. Other people have some very strong opinions with respect to those other bullet points and I honestly don’t really at this time. That’s a debate I’m putting off for another day. Having said this though, this proposed system should leave open any ranges of potential future changes to those other systems as it is very narrowly focused specifically on battle rolls and combat resolution only.
The Battle Mechanic. When I use this term I am talking specifically about the system that takes battle inputs, such as: attack, defense, accuracy and evasion (I use the term “maneuvering” instead); combines these inputs with an RNG; then produces an outcome, such as: damage, misses, etc. The Battle Mechanic is at the very heart of the combat system as it is ultimately the falcrum upon which battle outcomes are decided. A poor Battle Mechanic will leave combat feeling unrewarding and frustrating, while a good Battle Mechanic should make combat: engaging, feel rewarding when you win, and challenging when you do not. Good RNG use is important, because it keeps combat from getting stale, however battle that relies too heavily on RNG outcomes removes agency from the player and thus the element of planning and ship design. This proposed Battle Mechanic attempts to navigate these dynamics thoughtfully.
The current Battle Mechanic (to the best of my knowledge) is simply Attack*RNG vs Defense*RNG, where RNG = 1d100 and Attack & Defense both get their own RNG (ie there are 2 RNG rolls for every attack). So, for example an attack of 40 Beam Attack vs 20 Shields could result in an outcome of anywhere from 1-40 Beam Attack vs 1-20 Shields. For any specific round of combat, the RNG is incredibly important. And each RNG (again to the best of my knowledge) is a fair dice, so every outcome is equally weighted (rather than, say 4d25 where the RNG outcomes would be more likely in the middle of the range). So, the Attacker could get 40 Beam damage and the Shields only block 1, for example. This is exceedingly unlikely as the probability of the Attacker rolling 100 and the Defender rolling 1 is 100^2, or 1:10,000 but it could happen. On a more realistic outcome, the attacker getting in the top 10th percentile and the defender being in the bottom 10th percentile would happen approx once ever 100 attacks. More generally, the issue is that combat outcomes will gravitate toward the average over the course of hundreds of ship battles in a long game, but for any specific battle, or combat operation, the outcome relies heavily on the RNG dice rolls…
Brad has been publicly thinking about this issue on the Discord and seems to have some reservations over the RNG-ness of the current system. In the past the Battle Mechanic was much flatter with weapons and defenses simply working at 100% pretty much all of the time (which didn’t offer much flare in combat), so such a heavy weight placed on RNG seems like a newish phenomenon. One solution Brad has pontificated on is using the current “Accuracy” and “Evasion” mechanics to shore-up the RNG range. So, for example, if your Accuracy is 20, then your Attack RNG will not be 1-100, rather it would be 20-100. Similarly, Evasion would bolster the Defense RNG.
One potential drawback to this Accuracy/Evasion mechanic is that it mitigates “bad luck” (and “good luck” too) but combat is still very reliant on RNG. Making it less reliant on RNG means escalating Accuracy & Evasion until the RNG doesn’t really determine combat outcomes anymore. When this happens combat becomes deterministic (similar to GC2). It is ALWAYS in a player/AI’s best interest to increase Accuracy/Evasion in the above scenario. So at the end game, combat is fundamentally different from combat in the early game. Similarly, if there was a need for an RNG to make combat interesting and/or fun, then this is at odds with combat evolution throughout a long game of GC4, and by the end of the game combat will no longer possess whatever “interesting and/or fun” the RNG provided. This dynamic could be tweaked so that maybe Accuracy or Evasion cannot exceed some number, like 75 or something. So there’s still RNG, but it’s confined to a smaller space – however the fundamental paradox still exists of trading one mechanic for another over time and it being unclear why we wouldn’t just want the “better” one all of the time.
And here’s a problem with combat: “better” means different things for different people. Many people do not want an RNG at all. Many people want lots of fat-tail outcomes in their game as it adds excitement and surprise. One person’s RNG outcome may be fun, but another player would consider it cheesy.
My Proposed Battle Mechanic:
With the above in mind I threw together a system that attempts to put the various battle inputs into a more comprehensible and navigable system that uses an RNG so that each combat is different, however the RNG rolls are fed through a system that produces an engaging combat curve that both persists verbatim throughout the game, and a player has agency to shift this curve up or down by in-game systems (researching techs, building structures, designing ships, designing fleets, etc).
For this mechanic I drew inspiration from the Pillars of Eternity combat system (great games btw, both 1 & 2!), although the PoE RPG itself is very different from the 4x that GalCiv is this was only an inspiration and required modification to meet GC expectations. My statistician friend noted that my system is a simple Toobin Escalation algorithm, so it’s not like the Pillars guys invented the idea either. Hah.
RNG – a fair 1d100 die roll.
Attack (ATT) – attacker’s attack value, eg: 60 Missiles, or 13 Beam.
Defense (DEF) – defender’s defense value, eg: 45 Chafe, or 93 Shields.
Accuracy (ACC) – Attack modifier that adds to RNG
Maneuvering (MAN) – Defense modifier that subtracts from RNG
Advantage (ADV) – a term used to describe ACC – MAN. A positive Advantage means that the attacker has a statistical bonus in combat, and a negative Advantage means that the defender has this bonus instead. It could be said that the combat curve shifts left or right for positive or negative Advantage, respectively.
So here we go!....
There is only 1 roll instead of attack and defense both getting one – this removes “double bad luck.”
All Damage described below is % damage (ie % of total attack ability done as damage, or % defense avail to mitigate attack).
Roll = RNG + ACC – MAN, or simply
Roll = RNG + Advantage.
Attack Rolls (Basically):
- Roll <20 = 0 damage (miss).
- Roll 20-50 = reduced damage.
- Roll 50-80 = increasingly better damage progressing from 50 to 80.
- Roll 80-100 = good damage.
- Roll >100 = good damage + "special".
Attack Rolls (More Technically):
- Roll <20 = 0 damage (miss).
- Roll 20 <= x < 50 = Roll/2 damage (damage = 1/2 the roll value, ie Roll = 30 ==> 15% damage)
- Roll 50 </= x <80 = |50-roll|*1.85 + 25 damage (ramp from roll = 50 = 25% damage to roll = 80 = 80% damage).
- Roll 80 </= x <100 = Roll = Damage. (ie Roll = 95 = 95% damage).
- Roll = 100 = 100% damage + "special".
Defense is much more straight forward:
Defense for each roll is |101-roll|+20, with defense max = 100%. With this system defense will always be at least 20% effective if the "Roll" value is capped at 100 (which I am proposing it should be). On the other end of the spectrum a lot of attacks can miss.
As was mentioned above there is only 1 RNG per attack, this eliminates a good RNG being negated by an opponent’s good RNG. Similarly it eliminates a bad RNG being catastrophic because an opponent happened to have a good opposing RNG. So it removes a layer of “luck”. Similarly there are less RNGs to cause MP desyncs, use overhead, etc.
Using Accuracy and Maneuvering to calculate Advantage that shifts the curve left/right keeps the combat mechanics intact, however you can see how this would meaningfully shift combat outcomes. An Advantage 20 would mean that Attacks would never “miss”, would do 100% of weapon damage a full 20% of the time and would at least 80% of weapon damage 40% of the time. Similarly with Advantage 20 Defense is only 20-40% effective for a full 40% of attacks. Conversely, the opposite would be true for Advantage -20. Attacks would “miss” a full 40% of the time with no damage ever being above 80%. Defense on the other hand would be 100% a full 60% of the time, and never fall below 40%.
For this system I did opt to make Defense both flatter than Attack, and also always maintain at least 20% usefulness (I feel like defense should always do at least something). It’s more consistent and, in short, has what could be considered an edge in combat. This balance seems fair to me, as the downside of having bad defense is losing a ship whereas the downside of a bad attack is nothing. In short the asymmetry of loss is very pronounced between attacker and defender. Furthermore, combat always entails both Attack and Defense for every encounter, so any perceived advantage one has over the other really is a bit of a wash…
OK, how about some screenshots of various damage outcomes with different types of ships involved?
(graph above) This first screenshot is simply: ATT = 100, DEF = 100, ADV = 0. This should illustrate pretty solidly a “regular” battle.
(graph above) This second screenshot is: ATT = 60, DEF = 40, ADV = 0. I think this is a more realistic combat scenario where ATT is roughly 1.5*DEF. Usually ships seem to have some DEF, but a lot more ATT.
(graph above) Here’s a screenshot with: ATT = 60, DEF = 20, ADV = 0. Again, I think this is a realistic combat scenario where ATT is much higher than DEF.
(graph above) Conversely: ATT = 20, DEF = 60, ADV = 0. It’s useful to illustrate the outcomes for an attack clearly outclassed by defense.
(graph above) Just for fun, here’s what happens when you go to a gunfight with no defense: ATT = 60, DEF = 0, ADV = 0.
Below are going to be some screenshots showcasing the power of Advantage. For these I will use: ATT = 60, DEF = 40 for each of them to be consistent. Again, I feel like this is a realistic balance of ATT:DEF in a close GalCiv game.
(graph above) ATT = 60, DEF = 40, ADV = 10.
(graph above) ATT = 60, DEF = 40, ADV = -10.
(graph above) ATT = 60, DEF = 40, ADV = 20.
(graph above) ATT = 60, DEF = 40, ADV = -20.
(graph above) ATT = 60, DEF = 40, ADV = 40.
(graph above) ATT = 60, DEF = 40, ADV = -40.
Final Thoughts & Comments:
Overall I like the elegance of this system a lot. It employs an RNG but the system itself lends itself to the tinkerers and strategists.
A note on Advantage:
Advantage is a very strong mechanic and if you add too much Advantage modifiers Sycloness will break your game. The key thing about Advantage is that it actually scales quite well because the absolute values of the underlying components are irrelevant, rather it’s only the difference between Accuracy and Maneuvering that matters. I had originally envisioned both base stats to be 80 or something. But the combat differences are so pronounced with small changes to Advantage that it would probably not be intuitive to a player why an Accuracy of 100 vs Maneuvering of 80 leads to such a huge lopsidedness to combat, since the numbers 80 and 100 do not really seem so different. Instead I think that both numbers should start at something like 30 – it’s obvious that 50 is much bigger than 30. In terms of scale: ADV 10 is a decisive advantage, ADV 20 is very strong, ADV 40 is overpowering, and ADV 60 would be godlike. The Advantage mechanic also potentially solves an issue of old tech still being “too good”. A friend pointed out a problem with some of the Civ games whereby Neanderthals were still hard to kill by modern armies or whatever because their defense and attack still “worked” just fine. If increasing tech research keeps pushing up ACC and MAN, then once several generations of tech have passed the old tech will simply be garbage against the new stuff – this makes sense in a game where all of the weapons and defenses are supposed to be technologically sophisticated...
Additionally this system has several desirable features.
Firstly I should mention the “Special” modifier that can be applied to all Rolls of 100. Obviously the idea of “Crits” comes to mind, but this leaves a lot of space for potential special weapon abilities: crits, area damage, combat modifiers, overshooting/trample, etc. Or it could just remain as 100% damage – but the point is that there’s theoretical space for something cool here in the future if there’s a desire to do something with it.
Secondly, the roll curve itself is very compelling. A couple of observations on this. There are several important break-points on the curve. Rolls < 20 miss completely being an obvious one. The 20-50 range produces very weak Attack vs Defense. The 50-80 range is one of rapid escalation where Attack quickly outpaces Defense. And the 80+ range are all very solid attacks. Taken as a whole, I like the idea that 1/5 attacks don’t really do shit, 1/5 hit in the “sweet spot” with everything in between gravitating toward those extremes. The curve itself isn’t bimodal by any means, but it’s not flat either. Flat curves are pretty annoying because attempting to get a bit higher or a bit lower doesn’t make a ton of difference due to the flatness – so it makes investing in Advantage (in this case) less compelling. But because of the curve designs with the excessively poor Attack with Roll<50 and the exaggerated hard ramp from 50-80, this 50-80 “center” of the curve becomes very contested space. A defender will want to do everything in their power to have enough Advantage to push as many Roll’s as possible <50, because not much damage happens down there. Whereas on the other hand the attacker will want the opposite, they will want to invest heavily in getting enough Advantage to push as many rolls as possible >80, because this is where all of the solid (and devastating) damage that can be inflicted upon an enemy fleet will be coming from. So this makes the tech race interesting as it adds a dynamic that isn’t just bigger guns and bigger ships.
As I mentioned at the outset, there is still A LOT of room in the rest of the game for additional combat changes as this system really only effects the dice rolling. I’m enclosing a spreadsheet where the system can be played with and tested.
Obviously, any/all feedback is appreciated. I told Basilisk that I expected 20% of people to love it, 20% of people to hate it, and the remaining 60% of people to only “mostly hate it”. Just know that I tried to get something for everyone into this system! Hah.
I believe that my Spreadsheet document may be downloaded here:
Thanks for reading,
edit: the formatting always ownz me...