View Issue Details

IDProjectCategoryLast Update
0024272AI War 2Balance IssueDec 29, 2020 8:44 pm
ReporterTechSY730 Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version2.709 Obedient Engineers 
Fixed in VersionBeta 2.710 The AIs Visit An Accountant 
Summary0024272: AI budgets accelerates too quickly at low AIPs (especially higher difficulties)
DescriptionRight now, the difference in between 10 AIP and a "low" AIP like 80 is game shatteringly huge. Like it can be a 6x increase in budget.
This makes the optimal way to play high difficulties not to take anything unless you can deep strike AIP reductions first, which is extremely degenerate and dependent on good map-gen RNG. Not fun.

Across the board, base budgets need to go up (at the very least for high difficulties), but in return, the increase per AIP go down, at least for the first 100 or so AIP. That way you don't go over a cliff right at the start. I'll let the difficulty 9-10 grinders weigh in for exact numbers; they would know better then I.
EDIT: Puffin has pointed out there seems to be no notion of "base budget". Everything is tied to AIP (which is why it starts at 10). So perhaps starting AIP should go up for higher difficulties, and then tone down the velocity it grows per AIP (but never less then the difficulty before of course) for difficutlies that got raised?

This way the AI can still put up a fight even if you go extremely low AIP, but you can at least take a few planets without the AI going quite as much "kill mode".

Credit to ArnaudB on the Discord for pointing this out.
TagsNo tags attached.

Relationships

related to 0024273 resolvedChris_McElligottPark AI is a bit too anemic at AIP 10 

Activities

TechSY730

Dec 25, 2020 5:19 pm

reporter   ~0060157

Tagging as major as this is a massive game tempo shifter, but really it is somewhere between minor and major. Feel free to demote to minor if you don't think it deserves major.

ArnaudB

Dec 26, 2020 11:39 am

manager   ~0060158

I'll add more data. This was done on difficulty 9.

From 10 to 70 AIP the reinforcement budget increases from 100% to 633%. This is absurd. It means if you take 3 planets and play for one hour, the AI will gain as much reinforcement as if you play at 10 AIP for 6h20. To further show how ridiculous it is, in 6h20 at 70 AIP you accumulate 3798% budgets (without the increase from time that'd widen the difference).

To sum it up, there is an immense incentive to stay at 10 AIP for hours rather than take any territory, because the AI budget increases immensely fast past initial AIP. The best way to win a high-difficulty game... is not to play. (Do not take any territory or anything boosting AIP).

This is also why hunting AIP reductions FIRST is mandatory on D10. Taking a single planet multiply the AI income by two or three times. This is also why people are complaining about the dumb and/or anemic AI, because it's shackled at 10 AIP but raising it quickly get you murdered.

The solution is fairly obvious: to increase the Initial budget of the AI (its base income for reinforcement/warden/hunter/wave...) to both force players to take territory to survive and to make the AI's "income increase from AIP" smaller than its "starting income". So far I have tested starting AIP at 50 while halving multipliers for reinforcement, warden and so on. It feels much more fast paced and the AI fleets are much more reactive. I have made a cosmetic mod "EarlyPressure" with those changes. See below.

A small final note is that Warden income might need a nerf, we'll have to see.
EarlyPressure.rar (1,540 bytes)

Chris_McElligottPark

Dec 29, 2020 11:24 am

administrator   ~0060172

Thanks!

* Removed from the ExternalConstants table:
** balance_seconds_times_planets_worth_of_aip_required_to_accumulate_one_cap="50"
** balance_ai_purchase_cost_per_cap_ai_income="400"
** balance_strength_per_cap_general="200"
*** This has been replaced by balance_base_difficulty_for_raid_traversal="10", which is the equivalent of what was being used in the code previously.
*** Arguably this shouldbe 20 instead of 10 in order for this to match what the AI budgets were based on in the past, but honestly the two concepts are not actually related.

* Updated the math for GetOverallAIPurchaseCostGainPerSecond()
** The old logic was was effectively the following:
*** EffectiveAIP / 20
*** Mult by balance_ai_purchase_cost_per_cap_ai_income (400)
*** Mult by ai_purchase_cost_income_multiplier for the AI Difficulty (9.5 on diff 10, 2 on diff 7, 0.8 on diff 5).
*** Divide by balance_seconds_times_planets_worth_of_aip_required_to_accumulate_one_cap (50).
*** Then do some other stuff that is fine, and we'll ignore that other stuff for now.
** As you can see with the old logic on higher difficulties in particular, any and every AIP change upwards is incredibly painful, partially since there's no baseline income. Everything is added income completely dependent on the AIP.
** There's a spreadsheet with the new logic: https://docs.google.com/spreadsheets/d/1oSsxmKXDxP28Hc-ZYXngCnqnu3mc0vXipGEdj3HqKUo/edit?usp=sharing
** The new logic requires the following data changes:
*** ai_purchase_cost_income_multiplier has been removed from AI difficulty levels.
*** budget_base_income, budget_income_multiplier_for_AIP_Over_10, budget_income_multiplier_for_AIP_Over_50, budget_income_multiplier_for_AIP_Over_100, budget_income_multiplier_for_AIP_Over_200, budget_income_multiplier_for_AIP_Over_400, and budget_income_multiplier_for_AIP_Over_600 have all been added.
** The formula for the new logic is not perfect in terms of isolating each coefficient to each range, but it does a really good job of letting us tune the ranges in general and arrive at a variety of different slopes:
*** BaseIncome+((MIN(50,CurrentAIP-10))*Mult_Over_10)+(MAX(0,MIN(CurrentAIP-50,100))*Mult_Over_50)+(MAX(0,MIN(CurrentAIP-100,200))*Mult_Over_100)+(MAX(0,MIN(CurrentAIP-200,400))*Mult_Over_200)+(MAX(0,MIN(CurrentAIP-400,600))*Mult_Over_400)+(MAX(0,CurrentAIP-600)*Mult_Over_600)
*** The end result is something that is substantially more income at the lower difficulties (4 and down), while still keeping them very tame. They are not so incredibly poor as before.
*** At AIP 10, the general bump is at least around 300% over what it used to be, but on difficulty 5 the budget at AIP 50 is only 8% what it was. For difficulties above 5, the budgets are only about 75% of previous at AIP 50.
*** Overall the budgets are higher for AIP 4 and down, and in general you can see how that works on the spreadsheet here: https://docs.google.com/spreadsheets/d/1oSsxmKXDxP28Hc-ZYXngCnqnu3mc0vXipGEdj3HqKUo/edit#gid=1751215831

Chris_McElligottPark

Dec 29, 2020 8:44 pm

administrator   ~0060174

* With all of the changes that have been made to AI budgets, the "Absolute AIP Floor" has just been set to 10 across the board for now.
** This lets us keep the option of using it more in the future, or lets mods turn it on and use it, but effectively turns it off for now.

* The initial AIP that players start with is no longer 10. It is now 10 per human empire -- so if there are 3 human empires, it will start at 30.
** If you are playing single-player, or shared-faction multiplayer, there is no change here.

* Added a new "AIP Never Reduces Below" mechanic:
** No matter the AIP Floor, no reduction will happen that would cause the AIP to shrink below this amount, or shrink while it is below this amount.
** This is set to:
*** Diff 1-4: 10
*** Diff 5: 50
*** Diff 6: 60
*** Diff 7: 70
*** Diff 8: 80
*** Diff 9: 90
*** Diff 10: 100
** How is this different from the AIP Floor? Well, the AIP will actually BE whatever the floor is.
*** So if the floor was set to 180, then (ouch) the AIP would be 180.
*** This is instead a limiter. At difficulty 7, if you pop an early data center and get 20 reduction any time before you have 70 AIP total, it doesn't matter. It will be there waiting for you later, but it won't reduce your ongoing early progress.
*** This changes the flow of the early game, preventing you from blunting the rise of AIP for a while. In some ways, this helps to make it so that you don't need to worry with data centers early, and can focus on things later.
*** Of course, as with an AIP Floor, when you pass over the "never reduces below" level, then any reductions that you previously got will kick in. So for instance, if you popped a data center to save 20 AIP too early on diff 7, and then you get your total up to 90 AIP, your actual total will stick at 70 for a while. If you did 60 AIP of reduction, then it will stick at 70 for a LONG while.
*** Essentially, what this prevents is advanced players denying the AI any chance to play its own early game. It allows for the same amount of flexibility in AIP reduction in the really long term, assuming you go over the very low AIP counts, and it does allow you to deny the AI at every level the ability for it to really get into its mid-game or late-game.
*** If folks find this too restrictive, we can adjust it, but particularly with all of the nerfs to the AI budgets on AIP in the 100-600 range on difficulties 5+, this is something that seems to pair well with that. We definitely like the idea of low-AIP games, but even 100 AIP at the end of a game is considered ultra-low-AIP. What this does is prevent you riding the floor during the very early game in an ultra-low-AIP game, which gives the AI a bit more chance to react and build up, but still not TOO much.

Issue History

Date Modified Username Field Change
Dec 25, 2020 5:13 pm TechSY730 New Issue
Dec 25, 2020 5:13 pm TechSY730 Category Bug - Other => Balance Issue
Dec 25, 2020 5:14 pm TechSY730 Description Updated
Dec 25, 2020 5:14 pm TechSY730 Summary AI budgets accelerates too quickly at low AIPs on higher difficulties => AI budgets accelerates too quickly at low AIPs (especially higher difficulties)
Dec 25, 2020 5:16 pm TechSY730 Description Updated
Dec 25, 2020 5:18 pm TechSY730 Description Updated
Dec 25, 2020 5:19 pm TechSY730 Severity minor => major
Dec 25, 2020 5:19 pm TechSY730 Note Added: 0060157
Dec 25, 2020 5:25 pm TechSY730 Description Updated
Dec 25, 2020 5:39 pm TechSY730 Description Updated
Dec 25, 2020 6:12 pm TechSY730 Description Updated
Dec 26, 2020 11:28 am TechSY730 Relationship added related to 0024273
Dec 26, 2020 11:39 am ArnaudB File Added: EarlyPressure.rar
Dec 26, 2020 11:39 am ArnaudB Note Added: 0060158
Dec 26, 2020 7:46 pm TechSY730 Severity major => minor
Dec 29, 2020 11:24 am Chris_McElligottPark Assigned To => Chris_McElligottPark
Dec 29, 2020 11:24 am Chris_McElligottPark Status new => resolved
Dec 29, 2020 11:24 am Chris_McElligottPark Resolution open => fixed
Dec 29, 2020 11:24 am Chris_McElligottPark Fixed in Version => Beta 2.710 The AIs Visit An Accountant
Dec 29, 2020 11:24 am Chris_McElligottPark Note Added: 0060172
Dec 29, 2020 8:44 pm Chris_McElligottPark Note Added: 0060174