• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

sdrasmu12

Second Lieutenant
53 Badges
Nov 2, 2012
157
17
  • Crusader Kings II
  • Tyranny - Tales from the Tiers
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Sword of the Stars II
  • Sword of the Stars
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Magicka
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Monks and Mystics
  • Surviving Mars: First Colony Edition
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • Cities: Skylines - Mass Transit
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Parklife
  • Cities: Skylines - Natural Disasters
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Surviving Mars: Digital Deluxe Edition
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • Crusader Kings III
  • Stellaris: Leviathans Story Pack
  • Tyranny: Archon Edition
  • Crusader Kings II: Reapers Due
  • Stellaris
  • Cities: Skylines - Snowfall
  • Crusader Kings II: Conclave
  • Cities: Skylines - After Dark
  • Crusader Kings II: Horse Lords
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines - Campus
  • 500k Club
  • Victoria 2
Link to Steam Worskshop since I keep getting a file too large to process error even when zipped.

Ship to Ship combat in Stellaris is billed was following a rock-paper-scissors mechanic, between armor, shields and point defense. But the game contained a fourth defense type (evasion) which the devs failed to properly balance. In addition, because the weapon types were designed for a system in which there were three defense types and not four, many of the weapons are unbalanced as well. This mod seeks to produce a ship-to ship combat system in which every defense system and weapon has a meaningful and useful place, while adding as few new weapons, armors, or ships as is possible. Because this has effectively meant a total re-write of most stats, it is best to describe this mod by explain the underlying logic of its design, rather than how it differs from base Stellaris (though in the case of discussing how I nerf corvettes, that is the more helpful approach).


Paradox intended to create a mechanic in which little ships benefitted the most from evasion, and big ships benefitted the most from armor. However, because corvettes could max out evasion, take armor/shields and then benefit from fleet wide point defense, they are enormously overpowered in the base game. In Symmetrical Warfare, evasion comes from utility slot items, rather than from thrusters/combat computers, so in order to max out evasion corvettes must give up either armor or shields. Furthermore, most Point Defense weapons are now designed to protect only the ship they are on (tiny range, tiny cooldown/windup), so corvettes don’t benefit from fleet wide point defense. Though larger ships have far more utility slots than small ones, they get less benefit from each slot. No matter how many maneuverability jets you put on a battleship, it will never come close to matching the maneuverability of a corvette, though the corvette can never match the battle-ships armor. Both can benefit equally from shields (i.e. can achieve the same ratio of shield HP to ship HP) and point defense.


Furthermore, because I have added additional targeting behaviors, it might be beneficial to give your ships a defense type that is not optimal for their size. If your opponent has maxed out Swarm Missiles (ignore evasion, terrible vs. armor) set to target smaller ships, then maybe it starts to make sense to put armor on your corvettes. Each weapon is now designed to penetrate, and be blocked by, a particular combination of defense types.


This is also designed to take into account changing fleet composition through the mid-early-and late game. For example, the early game weapons are all good against evasion since you will mostly be fighting corvettes, but are countered by one of the three starting defense types. Missiles ignore evasion and shields, but are destroyed by point defense. Lasers have high enough DPS that they average the same damage against corvettes as missiles, but they have negative armor penetration and do negligible damage to shields. Auto-Cannons ignore shields and point defense, but are way worse against armor (and slightly worse against evasion).


The hard counters for high armor ships are all unlocked later in the tech tree, incentivizing players to push for bigger heavily armored ships in the midgame when their opponent may not have researched them yet. In addition, weapon size now effects how “hard” of a counter a weapon is, i.e. how much extra damage it does to its ideal targets and how much less damage it does to the things that counter it. This means that destroyers and cruisers can specialize more in destroying smaller ships than corvettes can specialize in destroying big ships. In the mid-game, when most fleets are corvette based, that is an absolute advantage, but in the late game when fleet composition is mixed, that is a balanced trade-off.


All this seems great, a system in which all choices are balanced and that progresses smoothly from mid-late game. Here’s the bad part. This is an Alpha, the AI doesn’t know how to use this stuff yet, much of it is balanced on paper (well excel spreadsheets) but untested, and I haven’t re-written descriptions or localization. Critter, auras and station weapons have not been re-balanced.


However, the mod is built with iterative design in mind. With excel and the weapon_components.csv it is a cinch to change a lot of the variables involved in this. Relational variables (e.g. how much damage increases per tech tier, how much less damage a weapon does against its hard counter defense type) can be adjusted for every weapon in about five minutes. I intend to make the AI capable of properly building ships, and to finesse targeting over the next week. I am very open to feedback and am actively searching for collaborators. Even if you just want to write weapon descriptions, or make a new icon,*I can use the help*.


The other downside of this mod is that. In order to make this all work some of the stats are really nasty and it might be hard to quickly figure out just from looking at a stat-line what is best at what. There are all sorts of things with negative armor penetration (they make armor more effective) and a few with armor penetration in excess of 100% (they do more damage the more armored the target is). I will include a handy table that spells this all out, and I hope to write good, clear explanations for the descriptions just as soon as I figure out where those are in the localization files.




Weapon Type | Pro's | Con's


Laser | Ignores Point Defence, Has high enough DPS to counter Evasion | Hard countered by shields, reduced damage to Armor

Arc Emitter | as above, but double the DPS | as above but double the power costs (so less room for defense)

Missiles | Ignores Evasion, Penetrates Shields| Hard countered by Point Defense, reduced damage to Armor

Swarm Missiles | as above but double the DPS | as above but double the power costs (so less room for defense)

Mass Driver| Ignore Point Defense, Penetrates Shields | Transitions from high DPS low AP, to middle AP middling DPS as it increases in size.

Autocannon| Ignore Point Defense, Penetrates Shields | Transitions from middling DPS middling AP, to high AP low DPS as it increases in size.

Plasma | Ignores Point Defense, Does more damage to more armored targets | Hard countered by shields, ods of hitting reduced by evasion

Lances | as above, but double damage | as above, but double power cost (so less room for defense)

Energy Torpedo | Ignores Evasion, Penetrates Armor | Hard countered by shields, can be countered by point defense, though its higher missile speed reduces the odds that it will be

Torpedo | Ignores Evasion, Penetrates Armor | Hard countered by point defense, Reduced damage versus shields

Bomber | Ignores Shields, Enromous Damage vs. Armor | Can be shot down by point defense, damage reduced by evasion

Fighters | Mobile Point Defense | Little Damage

Disruptor | Enormous damage to shields, Ignores Point Defense | Low DPS, Low AP, close range

Artillery | Enormous Damage, Enormous Range, Ignores Point Defense | Long Cool down, Little Damage to Armor or Shields, Will Overkill Smaller Ships

Point Defense | Destroys Missiles at close range | Does little else

Flak Cannon | Destroys Missiles and fighters at longer range | Much slower recharge than Point Defense



All of this numerical nastiness could be avoided if paradox would make two simple changes. Instead of accuracy being just a coefficient for to-hit chance, it should be “evasion-penetration”, i.e. it reduces the amount by which evasion effects hit chance. And secondly if they would just make armor attachments just add a flat armor% instead of armor being a/(a+60). I really don’t understand why you would make armor have diminishing per slot returns when the whole point of battleships is that they can fill tons of utility slots with armor.


Other Assorted changes:


  • Fighters/Bombers can actually leave their mothership

  • Missile Speed scales with tech tier

  • Weapon range scales with tech tier

  • Utility slots have been changed so that there should be less “leftover” power.

  • Full weapon power use maintains constant relationship with generator power at equivalent tech tiers

  • More Z random offset for fleets

  • New targeting AI so you can tell ships to go after bigger or little and armor/shields
  • Counters matter more as game goes on since fleet size difference gets more pronounced.

  • tech system changed so that weapons unlock higher level weapons with similar roles
  • Shiptypes now uses an armor multiplier not an armor add
 
Last edited:
Introduction
One of the goals of Symmetrical Warfare is to estimate values as little as possible, there should always be a reason why a weapon stat has a particular value. In order to ensure this is the case I have developed a spreadsheet which generates all the values from a set of formulas and inputs, allowing me to quickly re-balance all weapons in response to feedback.

This post will list all the assumptions and formulas as well as most of the constants that are currently being used to generate the stats used in Symmetrical Warfare


Ship Defenses/Utilities

Weapon Power costs are designed so that it will always require 1/4 of available utility space in generators to power a full compliment of weapons, the assumption is that the remaining 3/4 of utility space is then used for defenses. Generator Power doubles every tier, and it takes 1 generator to power 1 defensive utility. This is to prevent their from being excess power as long as generators and utilities are within 1 tier of each other.

For example a tier 1 corvette has 8 utility slots, uses up 2 to power its weapons, and has six left for defenses. It can then pick three tier 1 maneuverability jets and three generators to max out its evasion. Alternatively if the player has researched a tier 2 defense, which all cost double the power of a tier 1 defense, they can fit 4 generators and 2 defenses. Or if they research tier 2 generators they can fit 2 generators and 4 defenses. Either way they will have no power excess as long as everything is within one tier of each other.

Of the four defense types, armor and evasion are more or less effective depending on the size of ship they are on, while shields and point defense are intended to have the same effectiveness regardless of size. Shields function this way already, eight corvettes have the same number of utility slots as one battleship and so each can fit the same total number of shield points. Properly balancing point defense is an ongoing project that will receive its own section later.

Armor and Evasion function similarly (reducing damage by some %) but little ships can have much higher Evasion and big ships can have much higher Armor. The goal is to balance this so that big ships are specialized in a particular type of defense while intermediate ships are more flexible. At each tech tier a Battleship should have 25% the evasion of a corvette, a cruiser 50%, and a Destroyer 75%. And for Armor a Corvette has 25% the armor of a battleship, a destroyer has 50%, and a cruiser has 75%.

Unfortunately this is all complicated by the fact that the formulas that relate "points" of Armor and Evasion to actual amounts of damage reduced, are not identical. Ignoring AP, the percent by which damage is reduced by armor (A%) = Armor Points/(Armor Points+60). The formula for hit chance is Accuracy-Evasion, so the % by which evasion reduces damage is 1-((Accuracy-Evasion)/Accuracy). Obviously the effectiveness of evasion therefore varies more with accuracy than armor, I will simple be balancing around average accuracy (calculated not estimated) which is 76.4% in this mod.

This means that Damage reduction per point of evasion is relatively linear, while damage reduction per point of Armor is not (See Graph). This means the goal of making Corvette Armor a set % of Battleship Armor at every tier is very difficult, rather than make it balanced at every tier, I have prioritized balancing the last few tiers against each other. A Battleship will be able to achieve far more DMG reduction with tier 1 armor than a corvette will be able to achieve with tier 1 evasion, but they will achieve relatively similar damage reduction with tier 4 and 5 armor and evasion utilities. See the linked graph for % Damage Reduction for each ship size using armor or evasion at each tech tier.

I think this is acceptable, since it is likely that by the time battleships have been researched, higher tier armor and evasion utilities will also have been researched, so it is more important to balance the top tier tech against each other than the lower tier techs.


Weapons

Here is the procedure for generating weapon stats, most of these variable can be changed and all stats automatically recalculated in an instant.

I begin by setting a base DPS per tech tier that is not actually used for any weapon stat but that is used to generate them. At the moment damage increases linearly with tech by 2.5 DPS per tier.

Then I generate a goal DPS for each of the defense types. i.e. what I want its DPS to be when firing at a target with armor, shields, or evasion. Since non-missile weapons ignore PD, at present each weapon has two defense types it is set to ignore (do 100% base damage to) one that it is soft countered by (80% Base damage) and one that it is hard countered by (20%) base damage. All those variables can be changed.

In addition weapons get "harder" as the get more technologically advanced. For every tech tier, the weapon does an additional 5% more base damage to its targets, 8% less to its soft counter, and 2% less to its hard counter. Big Weapons count as a tech tier higher for the purpose of calculating this, little ones count as a tech tier lower. This means big weapons are more specialized and little ones are more all-purpose.
All of this is just to generate our goal DPS to each defense type, not to actually assign DPS.

Accuracy
We then calculate weapon accuracy. DPS to a target with evasion is DPS multiplied by accuracy minus evasion; DPS2EV = DPS *(ACC-EV). We use base damage as DPS, our goal damage for evasion as DPS2EV, and 50% of the maximum value of evasion for a corvette at the tech tier of the weapon for EV. Then we solve for accuracy and get ACC = (DPS2EV/DPS)+EV. However, the game simply treats accuracy over 100% as 100%, so we add a conditional to just set accuracy to 100 if it exceeds 100.

DPS
Then we need to calculate the DPS of the weapon. Since DPS2EV = DPS *(ACC-EV), this is simply DPS = DPS2EV/(ACC-EV) using the same values as above, and the accuracy previously calculated.

Armor Penetration
Then we need to calculate the Armor Penetration. Damage to an armored target is; DPS2AR = (DPS*AC)*(1-(AR%*(1-AP)). AP is therefore 1-((1-(DPS2AV/(DPS*AC))/AR%). AR% is half the maximum armor available to a battleship at that tier. This formula can produce armor penetration values so low they actually produce negative damage, as far as I can tell this just results in doing 0 damage. I'm totally fine with high level armor totally ignoring low level weapons that are hard countered by armor.

It also sometimes produces AP% in excess of 100 in which case the weapon will do more damage the more heavily armored its target is. This is necessary if you want to make weapons that are good against armor but still very weak against evasion. I will try to write some fluff in the description about them doing more damage to more dense materials.

Shield Damage and Penetration

Most weapons will have either a 0 or 100% Shield Penetration. Shields are meant to match point defense as a size independent defense type, since they must parallel each other and PD simply doesn't effect a lot of weapons, shields now simply don't effect non-energy weapons.



Still Being Written
 
Last edited:
Very interesting. I like that you are taking such a thorough approach to the balancing instead of just patching one side. I will be trying this out and let you know how this plays (once I get enough time to play).


I am really worried about your negative armor pen. I would like to discuss it, because I already put some thought into it.

People were talking about balancing corvettes by making armor do a flat reduction, instead of %. I dug through all the files looking for appropriate modifiers giving a flat reduction, with no luck. I thought I could "simulate" this effect. The first instinct was to give small weapons negative armor pen, to simulate armor being more effective against them.


But, because of a/(a+60) formula, negative armor pen can have nasty side effects for high armor. What does it mean to have a/(a+60)*(100 - p) above 100%? Does the ship heal itself? I need to thoroughly test it, but I am worried seeing these numbers in your mod.

Your large red laser have -5.2 armor pen, which is ridiculous. a/(a+60)*(100+520) -> for armor above 11.5 or so, you will achieve 100% mitigation. I am curious what it will do for armor 20.


Armor Pen above 100 is also bizarre, your ship takes more damage the more armor you put on it. OK.


My second solution to simulate armor being more effective vs small weapons is to: buff armor across the board, but give large weapons good armor pen. This would work to achieve my goal, even if it will distort the values with a/(a+60).

Your idea for the weapons is different, but I can't understand why armor pen for your lasers should possibly become worse with increased weapon size? It does go up for other weapons, which seems more reasonable.


Also, what do you mean that "lasers have high enough DPS to counter evasion"? I don't get how it is relevant. Do you mean high enough aim? But their aim isn't much different from mass drivers.
 
Very interesting. I like that you are taking such a thorough approach to the balancing instead of just patching one side. I will be trying this out and let you know how this plays (once I get enough time to play).


I am really worried about your negative armor pen. I would like to discuss it, because I already put some thought into it.

People were talking about balancing corvettes by making armor do a flat reduction, instead of %. I dug through all the files looking for appropriate modifiers giving a flat reduction, with no luck. I thought I could "simulate" this effect. The first instinct was to give small weapons negative armor pen, to simulate armor being more effective against them.


But, because of a/(a+60) formula, negative armor pen can have nasty side effects for high armor. What does it mean to have a/(a+60)*(100 - p) above 100%? Does the ship heal itself? I need to thoroughly test it, but I am worried seeing these numbers in your mod.


Yeah, I worried about healing ships because of large negative armor penetration too. So I set the base damage for a weapon to a negative value and had a battle, it just did 0 damage. I don't think you can do negative damage to ships, kudos to the programmers on that one. If you fire a weapon with greater than 100% AP at armor, it will display a negative value in the "Damage to Armor" stat tooltip, but since this value is really damage prevented by armor, and the armor added damage, this makes sense. You aren't really dealing negative damage.

Your large red laser have -5.2 armor pen, which is ridiculous. a/(a+60)*(100+520) -> for armor above 11.5 or so, you will achieve 100% mitigation. I am curious what it will do for armor 20.

Yep, total mitigation against high armor is the goal. In this mod at Tier 1 we're looking at Corvettes that get around 4% armor if they want to also carry weapons. If that laser fires at a fully armored Corvette of equivalent tier the corvette will have around a 24.8% damage reduction, not unreasonable. Corvettes max out at about 18% armor, so it will still do non 0 damage even to fully armored corvettes into the late game. However, if you are firing tier 1 lasers at cruisers and battleships then yeah its not going to do anything.


Armor Pen above 100 is also bizarre, your ship takes more damage the more armor you put on it. OK.

Yeah, I wish it didn't have to be that way, but since there is no "evasion penetration" it does. If you want a weapon that is not a missile to be good against heavily armored ships, and bad against light evasive ships, it needs to have low DPS and armor Pen above 100. That way the evasive ships don't take much damage from it and the armored ones do.

Fluff wise I'll just say its some sort of gravity weapon that does more damage against denser materials.

My second solution to simulate armor being more effective vs small weapons is to: buff armor across the board, but give large weapons good armor pen. This would work to achieve my goal, even if it will distort the values with a/(a+60).

Your idea for the weapons is different, but I can't understand why armor pen for your lasers should possibly become worse with increased weapon size? It does go up for other weapons, which seems more reasonable.

One of the design principles of the mod, is that larger weapons are "harder" counters for certain defense types than small ones. Lasers hard counter evasion and point defense, as they get bigger, they become more specialized for this task, so they get worse against armor and shield but get higher DPS. You will notice the same thing happens with missiles, which are specialized to beat evasion and shields, but weak against point defense and armor. As they get bigger their AP gets worse.

This seems strange, but it actually has a really important purpose. If all ship types were perfectly balanced against each other, why would anyone invest the additional resources to research bigger ships and upgrade spaceports? Larger ships need to be slightly better than little ships in the mid-game, so that it is worth it to research those techs and pay spaceport upgrade costs.

Becoming more specialized against evasion rather than armor, is a really good trade off in the mid-game, because there aren't that many heavily armored ships yet. Since destroyers and cruisers have the option to specialize more, they are better in the mid-game. Once bigger ships come out it, specializing in killing little ships becomes a trade off rather than an obvious benefit, so the late-game is balanced between big and little ships, even though the mid-game is slightly in the big-ships favor.

Also, what do you mean that "lasers have high enough DPS to counter evasion"? I don't get how it is relevant. Do you mean high enough aim? But their aim isn't much different from mass drivers.

I will be very precise since all of this was generated by formulas in a spreadsheet. I mean that a laser will do the same average DPS to a corvette with half the maximum evasion achievable at that tech tier (while still powering weapons) as a missile would.

Evasion really just reduces DPS by a set amount since your odds of hitting are just accuracy*evasion. Missiles ignore evasion, but you can create a non-missile weapon that effectively ignores evasion just by increasing its DPS proportionally with the evasion it is supposed to counter. A missile that does 1DPS averages the same damage as a laser that does 2DPS firing at a target with 50% evasion.

Of course since you then have much higher DPS on the laser, you have to drop its AP and Shield Damage so it is still specialized against evasion.
 
Last edited:
  • 1
Reactions:
sdrasmu12 said:
Yep, total mitigation against high armor is the goal. In this mod at Tier 1 we're looking at Corvettes that get around 4% armor if they want to also carry weapons. If that laser fires at a fully armored Corvette of equivalent tier the corvette will have around a 24.8% damage reduction, not unreasonable. Corvettes max out at about 18% armor, so it will still do non 0 damage even to fully armored corvettes into the late game. However, if you are firing tier 1 lasers at cruisers and battleships then yeah its not going to do anything.
Your small lasers had -3 or so penetration, but large ones had -5, so small lasers did more dmg to armored ships.

sdrasmu12 said:
Yeah, I wish it didn't have to be that way, but since there is no "evasion penetration" it does.

I assumed weapon accuracy would work as evasion penetration, but I was wrong. I tested in game today and got this formula (with high confidence)

% to hit = min(accuracy-evasion, 100 - evasion).

And a 60 accuracy weapon will hit a 40 evasion ship just as often as 100 accuracy one, so there is no way to get around evasion. Makes me sad. If the 2nd term was just "100" without the evasion part, it would have made things so easy. Instead, one has to do something messy like you did it.
 
Your small lasers had -3 or so penetration, but large ones had -5, so small lasers did more dmg to armored ships.

Yes, weapons get better against their preferred target and worse against their counters as they get bigger. Lasers counter evasion by having high DPS and PD by not being missiles, but they are countered by armor and shields. Since big lasers are better against evasive targets than little lasers (have higher DPS even adjusted for size), they are are worse against armor and shields.

I assumed weapon accuracy would work as evasion penetration, but I was wrong. I tested in game today and got this formula (with high confidence)

% to hit = min(accuracy-evasion, 100 - evasion).

And a 60 accuracy weapon will hit a 40 evasion ship just as often as 100 accuracy one, so there is no way to get around evasion. Makes me sad. If the 2nd term was just "100" without the evasion part, it would have made things so easy. Instead, one has to do something messy like you did it.

I'm a little confused by the notation you are using for that formula, it picks the minimum value between accuracy-evasion and 100-evasion?

Either way, yeah the number one change they should make is just make Hit chance = 100*(1-evasion*(1-accuracy)) so that accuracy functions like evasion penetration.
 
Okay, well thanks for that, I need to change some values in the spreadsheet to reflect that since I thought Hit Chance = accuracy*(1-evasion) when I made it. I think we can use this to rethink a few things... get back to you on that later.
 

Thanks. Removed accuracy bonus from sensors. I don't think I am using any damage bonuses or rate of fire bonuses in the ship sizes file, outside of the default station bonuses.

Also changed AP value on lasers so that AI would use them. Early game lasers are now slightly better against armor than they should be, but still pretty terrible.
 
Last edited: