View Issue Details

IDProjectCategoryLast Update
0022696AI War 2Gameplay IssueFeb 3, 2020 3:41 pm
ReporterStarKelp Assigned ToBadgerBadger  
Status resolvedResolutionfixed 
Product Version1.308 Mega Performance 
Fixed in VersionBETA 1.323 Everybody Buff Now 
Summary0022696: 'Hide Near Command Station' logic should exclude Drones, potentially Melee
DescriptionThe AI likes to have its ships hide near its command station when outnumbered, but it also brings in drones and heads while doing so.

As these are quickly reproduced (in the case of drones) or lose health over time (in the case of heads), it may be more productive to exclude these from the logic.

As an aside, Melee also suffer from not being able to do anything when given this order, but I'm unsure about how exactly that could be dealt with, or if it even should.
TagsNo tags attached.

Relationships

related to 0022688 new If the Devourer is on a planet, Ai drones will exit Guardposts and run to to the command station 

Activities

Chris_McElligottPark

Jan 28, 2020 9:36 am

administrator   ~0055794

Badger I can put in the logic if need be, but I don't know where the "hide at command station logic" is. There are simple checks for TypeData.IsDrone and TypeData.IsMelee which could easily be set to be excluded from this logic.

BadgerBadger

Jan 28, 2020 10:39 am

manager   ~0055801

Last edited: Jan 28, 2020 10:40 am

Look in AI.cs' LongRangePlanning for all places where we call Helper_HunkerDown() for a group of units.

The Threat Routing code which begins
                #region check for routing non-en-route threat ships, and freeing guard ships under overwhelming assault

should probably just omit looking at drones entirely in the big loop (they should just fight to the death at all times).

Melee ships are more complex, because if the rest of the AI's ships are cowering then the melee ships will just get stomped. I'm not sure the Hunker down behaviour of "cower at command station" actually makes sense anymore. I seem to recall that once upon a time the AI always grouped its defenses around the Planetary Controller (yes this is very old logic), and this usually includes a shield, so that would make sense.

The goal of hunkering to my mind is when the AI says "We're not outnumbered enough to outright retreat, but fighting away from our static defenses is a bad idea because we are outnumbered. Lets consolidate our ships around our most heavily defended point and make you win the war of attrition. If we can draw this battle out maybe the Warden will come help, or maybe the Hunter can take advantage of your ships being tied up here".

So I vote to redo the logic as follows. Pick the strongest set of defensive structures on the planet. If a ships is outside that structure's range, send it to that structure, otherwise fight normally. This would allow you to slowly whittle down the units with snipers, but that's very inefficient and the AI's goal is to make you leave lots of ships on this planet for longer so it can perhaps strike elsewhere.

BadgerBadger

Jan 29, 2020 11:30 pm

manager   ~0055822

Anyone have a save game with drones or melee units exhibiting this behaviour?

StarKelp

Jan 30, 2020 10:55 am

developer   ~0055827

Got a Dire Tethuida being cowardly with its drones on Garr.
Cowardly Dire on Garr.save (1,105,634 bytes)

BadgerBadger

Jan 31, 2020 12:20 pm

manager   ~0055841

I can't load this game; something about "Could not find game entity with name RoyalDireGravityGuardian"

RocketAssistedPuffin

Jan 31, 2020 12:45 pm

reporter   ~0055842

Yeah that's something in the changes I gave him to try.

Hopefully I can actually have it finished and checked out soon...

BadgerBadger

Jan 31, 2020 10:44 pm

manager   ~0055851

Puffin, I'm assigning this to you until you get the Guardian stuff checked in so I can check out that save.

RocketAssistedPuffin

Feb 2, 2020 3:06 pm

reporter   ~0055870

Back to you.

BadgerBadger

Feb 3, 2020 3:41 pm

manager   ~0055874

Some improvements have been made

Issue History

Date Modified Username Field Change
Jan 23, 2020 10:02 am StarKelp New Issue
Jan 28, 2020 9:35 am Chris_McElligottPark Relationship added related to 0022688
Jan 28, 2020 9:35 am Chris_McElligottPark Assigned To => BadgerBadger
Jan 28, 2020 9:35 am Chris_McElligottPark Status new => assigned
Jan 28, 2020 9:36 am Chris_McElligottPark Note Added: 0055794
Jan 28, 2020 10:39 am BadgerBadger Note Added: 0055801
Jan 28, 2020 10:40 am BadgerBadger Note Edited: 0055801
Jan 29, 2020 11:30 pm BadgerBadger Note Added: 0055822
Jan 30, 2020 10:55 am StarKelp File Added: Cowardly Dire on Garr.save
Jan 30, 2020 10:55 am StarKelp File Added: Cowardly Dire on Garr.savemet
Jan 30, 2020 10:55 am StarKelp Note Added: 0055827
Jan 31, 2020 12:20 pm BadgerBadger Note Added: 0055841
Jan 31, 2020 12:45 pm RocketAssistedPuffin Note Added: 0055842
Jan 31, 2020 10:43 pm BadgerBadger Assigned To BadgerBadger => RocketAssistedPuffin
Jan 31, 2020 10:44 pm BadgerBadger Note Added: 0055851
Feb 2, 2020 3:06 pm RocketAssistedPuffin Assigned To RocketAssistedPuffin => BadgerBadger
Feb 2, 2020 3:06 pm RocketAssistedPuffin Note Added: 0055870
Feb 3, 2020 3:41 pm BadgerBadger Status assigned => resolved
Feb 3, 2020 3:41 pm BadgerBadger Resolution open => fixed
Feb 3, 2020 3:41 pm BadgerBadger Fixed in Version => BETA 1.323 Everybody Buff Now
Feb 3, 2020 3:41 pm BadgerBadger Note Added: 0055874