View Issue Details

IDProjectCategoryLast Update
0021297AI War 2Balance IssueJul 4, 2019 2:48 pm
Reporterwm46 Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Fixed in Version0.873 Battlestation Overhaul 
Summary0021297: Mk 6 and Mk 7 planets get obscene amounts of Guardians
DescriptionMk 5 planets will get a "reasonable" amount of guardians, like 10-15 guardians, but starting with Mk 6 planets, they start getting +50 guardians.

It's pretty easy to see the effect just from the galaxy map too, an Mk 5 planet will have 50-70 strength of ships, and Mk 6 with have sometimes 150 strength of ships.

Save game attached (also do note, you will die in a few minutes in the save game if you don't debug kill the AI ships, 150 strength reprisal...)
TagsNo tags attached.

Activities

wm46

Jun 16, 2019 9:42 am

reporter   ~0051917

Also, I failed to attach a save file...

I was very tired that night.
Guardians On T6_T7.save (1,084,111 bytes)

DEMOCRACY_DEMOCRACY

Jun 18, 2019 12:46 pm

reporter   ~0051920

I agree, there are WAY to many guardians on mk6 and mk7 planets. And if you fail to destroy them all, they join threat fleet and will rush you down. while i have no problem with the latter part, the former kind of becomes a brick wall. mk3-5 planet guardians are fine as is, with the power nerf to those marks, they pose a challenge, but marking up your own units matches them just fine. but mk6 planets straight up can't be penetrated until you have several mk4 units or heavily invested into arks/golems. I highly suggest removing about at least 50% of the guardians on these planets.

BadgerBadger

Jun 18, 2019 3:25 pm

manager   ~0051922

Last edited: Jun 18, 2019 3:27 pm

So there's logic in DoInitialOrReconquest_DefenseSeeding_Guardians that says
        FInt guardianAIToPurchaseCostBudget = this.GetAICostPurchaseCapForBudgetType( ThisPlanet, faction, ReinforcementType.Guardian ) / 2;
            int markLevel = ThisPlanet.MarkLevelForAIOnly.Ordinal;
            if ( markLevel < 3 )
                guardianAIToPurchaseCostBudget /= 4;
            else if ( markLevel < 4 )
                guardianAIToPurchaseCostBudget /= 4;
            else if ( markLevel < 5 )
                guardianAIToPurchaseCostBudget /= 5;
            else if ( markLevel < 6 )
                guardianAIToPurchaseCostBudget /= 3;

I really really don't like random multipliers like this in the C#. It makes it very opaque for balancing.

Dominus Arbitrationis

Jul 4, 2019 12:50 am

administrator   ~0052024

What does this look like balance wise with the guardians?

Chris_McElligottPark

Jul 4, 2019 2:16 pm

administrator   ~0052034

I'm also not a fan of the random multipliers in C#, it gets confusing for sure. And there shouldn't be many guardians on the lower mark levels in general. If anything, I would do something like:

FInt guardianAIToPurchaseCostBudget = this.GetAICostPurchaseCapForBudgetType( ThisPlanet, faction, ReinforcementType.Guardian ) / 2;
            int markLevel = ThisPlanet.MarkLevelForAIOnly.Ordinal;
            if ( markLevel < 3 )
                guardianAIToPurchaseCostBudget /= 8;
            else if ( markLevel < 4 )
                guardianAIToPurchaseCostBudget /= 7;
            else if ( markLevel < 5 )
                guardianAIToPurchaseCostBudget /= 6;
            else if ( markLevel < 6 )
                guardianAIToPurchaseCostBudget /= 5;
            else
                guardianAIToPurchaseCostBudget /= 4;


However, I'm not sure if that would reduce the _absolute_ number of guardians overall or not.

Quinn, did you implement something vaguely along these lines? I haven't checked your save there, but the above would be one potential bandaid to start out with, or a more elegant solution is also welcome.

Dominus Arbitrationis

Jul 4, 2019 2:25 pm

administrator   ~0052035

That's pretty much what I did, yea. I just left the other numbers the same and set the last else to be one less than the lowest number already listed. The way it is set up is all kinds of confusing.

Chris_McElligottPark

Jul 4, 2019 2:48 pm

administrator   ~0052038

Thanks!

* The guardian purchase budget has been vastly reduced in general. It's still using some internal multipliers in the code, which is less than ideal, but we'll deal with that later. For now the code should be resulting in many fewer guardians on all planets, but in particular not the insane numbers on mark 6 and 7 planets that you saw before.

Issue History

Date Modified Username Field Change
Jun 16, 2019 12:36 am wm46 New Issue
Jun 16, 2019 9:42 am wm46 File Added: Guardians On T6_T7.save
Jun 16, 2019 9:42 am wm46 Note Added: 0051917
Jun 18, 2019 12:46 pm DEMOCRACY_DEMOCRACY Note Added: 0051920
Jun 18, 2019 3:25 pm BadgerBadger Note Added: 0051922
Jun 18, 2019 3:27 pm BadgerBadger Note Edited: 0051922
Jul 4, 2019 12:50 am Dominus Arbitrationis File Added: ReduceStrengthGuardians.save
Jul 4, 2019 12:50 am Dominus Arbitrationis Note Added: 0052024
Jul 4, 2019 2:16 pm Chris_McElligottPark Note Added: 0052034
Jul 4, 2019 2:25 pm Dominus Arbitrationis Note Added: 0052035
Jul 4, 2019 2:48 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Jul 4, 2019 2:48 pm Chris_McElligottPark Status new => resolved
Jul 4, 2019 2:48 pm Chris_McElligottPark Resolution open => fixed
Jul 4, 2019 2:48 pm Chris_McElligottPark Fixed in Version => 0.873 Battlestation Overhaul
Jul 4, 2019 2:48 pm Chris_McElligottPark Note Added: 0052038