View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0023849 | AI War 2 | Balance Issue | Oct 1, 2020 3:14 pm | Oct 1, 2020 6:50 pm | |
Reporter | TechSY730 | Assigned To | Chris_McElligottPark | ||
Status | resolved | Resolution | fixed | ||
Product Version | 2.603 Nanocaust And Civvies Strike Back | ||||
Fixed in Version | 2.604 A Thousand Screaming Idiots | ||||
Summary | 0023849: AIs difficulty 8 or 9 and up should be underconfident in their fleet strength at least a little | ||||
Description | The minimum overconfidence the AI seems to have is 1.0, meaning they will at least wait until their strength matches the planet before attacking. However, in classic, IIRC, higher level AIs (not sure when it started exactly) started underestimating their strength. This gave the AI "wiggle room" for cases such as: - The strength formula failed to be a good predictor of battle outcome - The human shows up with last minute fleet reinforcements that were originally too far away to be picked up in the planet strength check Now it shouldn't be by very much. We don't want the AI to sit around too patiently on their planets for a human to come around and clean them up. Maybe at max at difficulty ten overconfidence can be like 0.9, and scale from whenever you want that start point for this to be. | ||||
Tags | No tags attached. | ||||
|
So the way it is right now, it works the opposite of classic. It is multiplying its own estimation of its forces by the overconfidence_ratio. For low difficulties, that goes as high as 5, but as low as 2.0 on difficulty 6. I'll make some more adjustments here, this is a good idea. |
|
Thanks! * The "overconfidence ratio" of the AI is something that has it overestimate the competence of its own forces and charge in in various situations where the strength values are not exactly equal-or-in-its-favor. ** For difficulty 6, the value has long been 2.0. For all other difficulties above that, it has been 1.0. ** For difficulty 7, the value is now 1.5. ** For difficulties 8 and 9, the value is now 1.3. ** For difficulty 10, the value is now 1.1. ** It has been pointed out to us that not all strength is equal, and leaving some margin for error in there to account for potentially strengths and weaknesses playing a bigger role is a good idea. |
|
I'm a little confused about how the "overconfidence ratio" works? Does 2.0 mean "strength as is" and values less then 2 mean underconfident? |
|
Nevermind, didn't see your first post there |
|
So does this mean difficulty 10 is actually a bit overconfident now? Since it is greater then 1? |
|
I think this change does the opposite of what the bug report was requesting. Also note this setting is Only for regular AI threat. Hunter/Warden use different logic. |
|
I might be confused, but that seems...backwards? If I have 100 Strength on a planet, and a Difficulty 7 AI has 67 Strength: Then if I read it correctly, the Difficulty 7 AI will "overestimate" it's power, multiply that by 1.5, see it's equal to the target planet, then attack. Doesn't that mean the difficulty with most of its intelligence showing would make odd offenses? |
|
Yeah. If this is a multiplier to it's _own_ strength computation, then it should be less then 1.0 for higher difficulties to make them underconfident and bank up more. |
|
So this is from the perspective of the AI, remember. Basically the logic is, if I'm reading it correctly, the AI thinks as follows: 1. "I" have 100 strength of units here. 2. However, my overconfidence is 1.5, so we'll call that 150 strength that I have. 3. "All my enemies" have 140 strength. I look at that literally, not through any extra lens. 4. So I will compare my "150" of strength to my enemies' strength of 140, and make decisions that lead me to think I'm going to win. And... I realize that I am indeed reading it backwards in what TechSY730 was saying. He was requesting this, if I understand correctly now: 1. "I" have 100 strength of units here. 2. However, my overconfidence is 0.9, so we'll call that 90 strength that I have. 3. "All my enemies" have 140 strength. I look at that literally, not through any extra lens. 4. So I will compare my "90" of strength to my enemies' strength of 140, and make decisions that lead me to think I'm going to lose, so I wait. I will change accordingly. Reading fail! |
|
About the strength. I wonder if part of it is maybe the damage bonuses from a Military for example. If all your units have 50% more damage, then it's as if all enemy forces have started the battle with 33% of their health missing. (To give a simple example of that math, if I did 10 DPS, and the target had 150 HP, then I kill it in 15s. If I did 15 DPS (50% increase), then I kill it in 10s. 10 is 66% of 15, so it's like it loses 33% of total health at the very start). That loss of health then means each unit does less damage, as it dies earlier. Then you have the range advantage, where you get essentially "free damage" to the approaching enemy before they get in range, and you then have each sides health and damage output properly fighting. This being the little formula I have for it: Damage Advantage = ( ( Defender Range - Attacker Range ) / ( Attacker Speed - Defender Speed ) ) * Defender DPS Defender being the longer range unit. So...damage bonuses removing a lot of health from the attacking force, plus range advantage, plus the fact the automatic strength calculation apparently really values more health compared to more damage, would I think result in...something that's 1.5x the strength of the planet being attacked, kind of being reduced to effectively something much lower, passively. If a 50% damage boost reduces enemies effective health by 33%, then affects their total damage output because of that...then a force of strength 1.5x that of the target might actually result in its..."effective" strength being lower than the planet, causing these results.# Lastly, there's the fact not many units get a bonus against Turrets, on purpose. I had multiplied the strength of units with a damage bonus to try to include the effects of that, but if defending a planet, the AI force will most likely not get to use them, so it's a little bit inflated there too. I hope that makes sense. It's...strange to try to explain it. |
|
Rewritten based on Badger's notes as well: * The "overconfidence ratio" of the AI is something that has it overestimate the competence of its own forces and charge in in various situations where the strength values are not exactly equal-or-in-its-favor. ** For difficulty 6, the value has long been 2.0. For all other difficulties above that, it has been 1.0. ** For difficulties 8 and above, the value is now 0.9. ** It has been pointed out to us that not all strength is equal, and leaving some margin for error in there to account for potentially strengths and weaknesses playing a bigger role is a good idea. Let's really make sure the AI is going to smash them. ** Bear in mind that this only applies to the regular threat controlled by the sentinels, and the hunters and warden use their own separate logic. |
|
I think that the strength values get updated dynamically to account for extra damage, but they don't for range. And there may be some damage areas where I missed having it buff the strength, I'm not sure. |
|
Related, this should up the intelligence a lot: * In external constants, there is a new field called strength_multiplier_for_turrets. It is by default now 2. ** This basically makes the apparent strength of all turrets twice what they have previously been estimated to be. Turrets are observed to have a number of advantages when absolutely wrecking enemies, so this should more accurately reflect reality. We look forward to future suggestions on more accurate numbers here. ** Individual turrets are still able to have their own strength_multiplier, and this is still added in for those on top of the general turret bonus. |
|
I tested a Military Command Station on a planet with 60 Strength worth of Defenses in CF. Said Station was temporarily modified to have as low stats as possible so it would never affect the value. Swapping between Station types, the Strength value never changed. Upgrading it to MK5 never changed. Saving then loading with a MK5 never changed. |
|
Confirmed it occurs in vanilla too. The only Strength difference is from the Station itself. |
|
You mean the firepower increase from a military command station isn't reflected in the strength of the unit? |
|
Yes. No unit affected by it changes its strength. |
|
Puffin, can you open the "Strength calculations don't include military command stations" problem separately? Note that EntitySystemTypeData.cs:CalculateDamageMultiplierForIndividualShip() seems like the right place to put that check, though giving it reasonable performance might be problematic. |
Date Modified | Username | Field | Change |
---|---|---|---|
Oct 1, 2020 3:14 pm | TechSY730 | New Issue | |
Oct 1, 2020 3:19 pm | Chris_McElligottPark | Note Added: 0058855 | |
Oct 1, 2020 3:22 pm | Chris_McElligottPark | Assigned To | => Chris_McElligottPark |
Oct 1, 2020 3:22 pm | Chris_McElligottPark | Status | new => resolved |
Oct 1, 2020 3:22 pm | Chris_McElligottPark | Resolution | open => fixed |
Oct 1, 2020 3:22 pm | Chris_McElligottPark | Fixed in Version | => 2.604 A Thousand Screaming Idiots |
Oct 1, 2020 3:22 pm | Chris_McElligottPark | Note Added: 0058856 | |
Oct 1, 2020 3:26 pm | TechSY730 | Note Added: 0058857 | |
Oct 1, 2020 3:28 pm | TechSY730 | Note Added: 0058858 | |
Oct 1, 2020 3:29 pm | TechSY730 | Note Added: 0058859 | |
Oct 1, 2020 3:31 pm | BadgerBadger | Note Added: 0058860 | |
Oct 1, 2020 3:33 pm | RocketAssistedPuffin | Note Added: 0058861 | |
Oct 1, 2020 3:38 pm | TechSY730 | Note Added: 0058862 | |
Oct 1, 2020 3:40 pm | Chris_McElligottPark | Note Added: 0058863 | |
Oct 1, 2020 3:43 pm | RocketAssistedPuffin | Note Added: 0058864 | |
Oct 1, 2020 3:43 pm | Chris_McElligottPark | Note Added: 0058865 | |
Oct 1, 2020 3:44 pm | Chris_McElligottPark | Note Added: 0058866 | |
Oct 1, 2020 4:10 pm | Chris_McElligottPark | Note Added: 0058869 | |
Oct 1, 2020 4:53 pm | RocketAssistedPuffin | Note Added: 0058876 | |
Oct 1, 2020 5:08 pm | RocketAssistedPuffin | Note Added: 0058879 | |
Oct 1, 2020 5:37 pm | BadgerBadger | Note Added: 0058880 | |
Oct 1, 2020 6:29 pm | RocketAssistedPuffin | Note Added: 0058885 | |
Oct 1, 2020 6:50 pm | BadgerBadger | Note Added: 0058886 |