ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
683 stars 204 forks source link

Make a tactical AI parameter for only skirming shootable enemies #3744

Open GoogleFrog opened 4 years ago

GoogleFrog commented 4 years ago

A shootable enemy would be one that is at least a radar dot, and is at least a static radar dot if the unit is set to not fire at radar dots. Phantom wants it.

rlcevg commented 4 years ago

If it's related to http://zero-k.info/Battles/Detail/785146 (~20th minute map) where sniper was dancing in place (kiting range) in front of a stinger that was not in radar or los, then additional observations with unit AI and fire at radar dots enabled: 1) with only Fight command phantom behaves as expected - moves into range until target appears in los. 2) SetTarget (without Fight) makes phantom stall/dance at kiting range.

Or is it a separate issue?

GoogleFrog commented 4 years ago

For (2) are you sure that the unit had not given itself an order?

rlcevg commented 4 years ago

Not sure what you mean, but SetTarget is being issued by AI for internally saved UnitId and it doesn't check LOS before issuing (that would be AI-side fix). Replay settarget_demo.zip to reproduce through UI. 1) spawn turretheavylaser 2) spawn cloaksnipe (near kiting range) 3) enable globallos 4) issue SetTarget for snipers 5) disable globallos

GoogleFrog commented 4 years ago

Interactions with globallos toggling are untested and hence unsupported.

rlcevg commented 4 years ago

Ok, feel free to fly above with sparrow (though i didn't test it). globallos was just an easy way to provide LOS

rlcevg commented 4 years ago

sparrow demo settarget_demo2.zip