View Issue Details

IDProjectCategoryLast Update
0023297AI War 2Bug - GameplayAug 10, 2020 9:22 am
Reportertadrinth Assigned To 
Severityminor 
Status newResolutionopen 
Product VersionBeta 2.065 To Infinity And... No, Knock It Off 
Summary0023297: Tackle drones going after guard posts
DescriptionNot sure why, but my tackle drones keep going after guard posts even when there's mobile ships on the planet that they could be tractoring (and thus getting their damage bonus). This may be a more widespread issue, my sentinel gunboats also seem to like shooting at guard posts over mobile military.
TagsNo tags attached.

Activities

keith.lamothe

Jul 10, 2020 5:32 pm

administrator   ~0057552

Can you attach a save? I just tested 400 spiders vs an AI planet in various situations and whenever newly-alive engines came in range they switched over to clearing those (not instantaneously, the targeting logic doesn't run every ship every time), and didn't seem to shoot much (if at all) at non-mobile units while mobile units were in range.

So it may be specific unit types (not spiders) or specific gamestates (heavy load, more delay between targeting computations, etc), but I can't tell without a save.

Thanks,
Keith

RocketAssistedPuffin

Jul 10, 2020 6:20 pm

reporter   ~0057553

Some information for you Keith. (Nice to have met you in some form, it was interesting reading your work on Classic, and I often referred to it when trying to figure things out when I worked on 2).

I would guess these are Deathgrip Tackle Drones, as normal ones can never deal damage. It seems you can add this line:

only_targets_mobile_units="true"

To their functional weapon to possibly solve this. Something I should've done before.

keith.lamothe

Jul 16, 2020 3:32 pm

administrator   ~0057651

Good to meet you too, Puffin. Thanks for your work on AIW2.

I see now that I misunderstood the point of this post; I was thinking about engine-damage based on something Chris had said. Nonetheless, Spiders at least are going after their preferred prey, and not much after guard posts.

On Tackle Drones, I only see one kind (not Deathgrip) in the xml, and it has a gun, and that gun has only_targets_mobile_units="true" . Is it still shooting-at / going-after guard posts?

On Sentinel Gunboats, I don't see anything in the data to indicate that they should prefer shooting mobile enemey ships over enemy guard posts. Is their current behavior undesirable, because they wind up shooting stuff not involved in the current fight, etc?

Overall, if someone posts a save where I can load it and see the undesirable behavior, and tell me what the desirable behavior is, I can probably figure something out :)

Thanks,
Keith

RocketAssistedPuffin

Jul 16, 2020 4:58 pm

reporter   ~0057655

There are two types of Tackle Drones:

1): The normal kind, in KDL_Ships_Drones in the base game GameEntity folder. This is spawned by only the Backdoor Combat Factory. This pre-dates the DLC, in which we put the Backer units, such as the Tackle Drone Launcher.

2): Deathgrip Tackle Drones, in TSR_Ships_Frigates in The Spire Rises DLCs GameEntity Folder, and is spawned by those Tackle Drone Launchers. This version exists because I had accidentally created the former already before the DLC, and did not want to remove base game content for a DLC one, nor have a backer unit be so similar to a pre-existing one.

A key thing here is that they both have a weapon system that is disabled. However, the unit still tries to attack with it (which does nothing). This gun is shorter range than the tractor, thus making it so the target is always held out of range, so it keeps trying to go to it, thus pushing the target constantly until it hits the edge of the gravity well. It also has a 0x damage multiplier versus units whose albedo or engine stats would make it immune to the tractor, and lastly it cannot target structures.

Deathgrip Tackle Drones have another weapon in addition to that fake one. This one works, and does damage. It however does not have that XML to make it unable to target structures. This is the weapon that line needs to go on.

I hope that's clear enough, it's a bit odd. The Deathgrip Drone should really be in the Drone file. I forget why I kept it next to its parent Frigate.

BadgerBadger

Jul 16, 2020 5:21 pm

manager   ~0057656

Last edited: Jul 16, 2020 5:48 pm

View 3 revisions

Keith, if I was prioritizing something in this vein, it would be trying to have units de-prioritize non-aggroed guard posts. A number of people have complained over the years about long ranged units especially provoking aggro from everything on the planet quickly.

If you recall, guard posts don't release their ships until aggroed in some capacity (generally a unit either shooting the guard post or a guardian near the guard post). It would be ideal if long range units would prioritize already-aggroed units and guard posts, instead of provoking other guard posts that haven't released their ships yet.

I don't have a reproduction scenario in hand, but it's definitely a complaint. It would be better if your FRD units could take out a planet methodically.

Edit: Since Puffin has real scenarios to work with, go with those!

PS Puffin, nice to see you on mantis again! I hope things are going well.

RocketAssistedPuffin

Jul 16, 2020 5:33 pm

reporter   ~0057657

A couple of saves I set up. Hopefully they work, as I had to clean out mods and had issues with crashing upon entering the lobby.

The first one exhibits some Deathgrip Tackle Drones currently holding some units, which they should get a damage bonus against. They are mostly firing at units not held instead, such as Turrets and Agravic Pods.

Second they are rushing for Guardians which they cannot hold either, ignoring the units they can. This is a good example I believe of the Guard Post problem, in which a units priority set in the XML appears to override damage bonuses. I recall in the past issues of Fortified Tesla Guardians taking all the sniper shots due to their priority, despite taking only 1% of that damage.

keith.lamothe

Aug 7, 2020 10:03 am

administrator   ~0057982

Thanks for those saves; been looking into it as I have time. I've found that the only_targets_mobile_units flag is not adequate to get the deathgrip tackle drone to stop shooting at non-mobile units, so I'm working through instrumenting the targeting code for tracing, etc.

keith.lamothe

Aug 7, 2020 5:26 pm

administrator   ~0057995

Last edited: Aug 7, 2020 5:27 pm

View 2 revisions

For next version:

* Fixed a bug where deathgrip tackle drones had a gun that could shoot immobile targets, greatly confusing their logic. That gun now has the only_targets_mobile_units flag.
** Also fixed a bug where tackle-drone-launchers could give their spawned drones a direct attack order to go after an immobile unit.

Turns out the targeting logic itself was honoring the flag, but the code drone-spawning code was bypassing it with a direct order (and that flag doesn't actually make it impossible to DAMAGE an immobile unit, only to target it).

Thanks again for the saves, Puffin, couldn't have tracked this down without something like that.

keith.lamothe

Aug 10, 2020 8:12 am

administrator   ~0058023

On TackleDroneTargetingOddity2.save , I think it's still not acting right, but perhaps closer than before.

I suspect the main problem there is that a drone's first target is typically inherited from the drone-spawner. The drone-spawner, naturally, produces very different targeting decisions than a drone would because it has a totally different armament, etc. That said, I hesitate to simply remove the "drone inherits spawner target" rule without seeing how the changes already implemented do.

RocketAssistedPuffin

Aug 10, 2020 9:22 am

reporter   ~0058024

If I remember right, the XML tags for targeting only prevents that weapon from adding a unit as a target, instead of preventing it from firing at it. This means that if a unit has two weapons, one with the tag, and one without, the latter can put a target into its list, which the first weapon would be allowed to fire at, despite being told not to.

I didn't think of this at the time, but the Drones in those saves might still have targets in their list, and because of how the tag works they can still shoot at it. Maybe.

Issue History

Date Modified Username Field Change
Jun 14, 2020 1:50 am tadrinth New Issue
Jul 10, 2020 5:32 pm keith.lamothe Note Added: 0057552
Jul 10, 2020 6:20 pm RocketAssistedPuffin Note Added: 0057553
Jul 16, 2020 3:32 pm keith.lamothe Note Added: 0057651
Jul 16, 2020 4:58 pm RocketAssistedPuffin Note Added: 0057655
Jul 16, 2020 5:21 pm BadgerBadger Note Added: 0057656
Jul 16, 2020 5:32 pm BadgerBadger Note Edited: 0057656 View Revisions
Jul 16, 2020 5:33 pm RocketAssistedPuffin File Added: TackleDroneTargetingOddity.save
Jul 16, 2020 5:33 pm RocketAssistedPuffin File Added: TackleDroneTargetingOddity2.save
Jul 16, 2020 5:33 pm RocketAssistedPuffin Note Added: 0057657
Jul 16, 2020 5:48 pm BadgerBadger Note Edited: 0057656 View Revisions
Aug 7, 2020 10:03 am keith.lamothe Note Added: 0057982
Aug 7, 2020 5:26 pm keith.lamothe Note Added: 0057995
Aug 7, 2020 5:27 pm keith.lamothe Note Edited: 0057995 View Revisions
Aug 10, 2020 8:12 am keith.lamothe Note Added: 0058023
Aug 10, 2020 9:22 am RocketAssistedPuffin Note Added: 0058024

Debug Log

Number Execution time Caller Event
PLUGIN-10SMFAuth SMFAuth.php:55 SMFAuthPlugin->auto_login()SMFAuth Initializing
PLUGIN-20SMFAuth SMFAuth.php:59 SMFAuthPlugin->auto_login()SMF Settings loaded from /home/arcengames/public_html/forums
PLUGIN-30SMFAuth SMFAuth.php:147 SMFAuthPlugin->decodeCookie()Cookie doesn't exist! Is the user logged into the forums?