Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Codex Overhaul (05/11/24)

Author Topic: [0.95.1a-RC6] AI does not fire torpedoes at overloaded enemies (+1 minor issue)  (Read 1629 times)

Vyn

  • Lieutenant
  • **
  • Posts: 60
    • View Profile

This is my first game in 0.95.1a, playing essentially vanilla with only utility mods.

I was testing out various Manticore builds in the simulator, making it go up against Enforcers with the "Rocket Destroyer" configuration. The Manticore had no officer, and the only relevant player skills was Crew Training granting +15% CR.

After watching several battles in various configurations, I noticed that the Manticore was making some strange decisions about torpedo use. In particular, it would not fire its torpedoes at overloaded enemies. See the pictures below for some examples:

https://imgur.com/a/zyfo8OE

The three in-battle pictures were taken from three separate engagements. In all three cases, the Manticore had overloaded the Enforcer with one torpedo, and then just sat there firing its small guns rather than shoot its other torpedo into the vulnerable target. In about a half hour of repeated testing, I never saw the AI shoot a torpedo at an overloaded target despite a dozen opportunities to do so.

Edit: misread flux values, so the issue below might just be AI being very flux conscious, but will keep text here for reference...

The other minor issue that can also be seen in this picture is that the AI had turned off its Mark IX cannon against the overloaded Enforcer. Under normal battle conditions, it might be a good choice to turn off kinetic weapons against unshielded targets to conserve flux. In this case however, I had specifically built the Manticore to be almost flux neutral when firing all non-PD guns while shields are off (607 flux use vs 510 dissipation), and the shot damage on the Mark IX is comparable to that of the LAG and light mortars even against armor.

In a situation where there is only one overloaded enemy in sight, I think it would be wise for the AI to be a bit more aggressive and try to deal as much damage as possible with all its guns when there is not a significant flux cost. This is probably an edge case for the AI in regards to the usage of kinetic vs explosive weapons, but maybe it will be a useful data point for fine tuning the AI rules.
« Last Edit: January 05, 2022, 05:46:59 PM by Vyn »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24271
    • View Profile

Thanks for the report! The first is - the AI basically will not fire a strike weapon more than once every so often. I've been meaning to look at that as it does lead to cases like this, but it also does help it conserve them in the case of a larger battle, so it's... not necessarily straightforward to figure out what's actually best.

It turning off autofire is a flux management behavior and seems reasonable to me. Consider that, say, the enemy might be able to fire off some kind of burst damage after coming out of their overload - it can be dangerous to redline your flux and keep firing at a venting enemy, even with a flux-neutral loadout if your flux is already high.
Logged

Vyn

  • Lieutenant
  • **
  • Posts: 60
    • View Profile

Thanks for the fast response!

I can see the rationale for conserving strike weapon ammo. It would certainly be annoying if the AI just dumped all its missile on first contact with the enemy. From what I have observed with various loadouts however, this decision does not seem to be very consistent across various missile types.

For missiles like Harpoons and Atropos, the AI uses them quite liberally despite their low ammo limit, and will generally shoot off all its missiles against the first enemy it comes across. For unguided torpedoes like Hammers and Reapers, it is much more conservative, and can lead to situations where it refuses to fire on overloaded targets.

Would it be more reasonable to reverse these two behaviors? In particular, larger sized torpedo launchers like the Typhoon already have a pretty long reload time, so even if the AI did try to fire them on cooldown it would be hard to run out quickly.

On a related note, does the AI's decision to conserve ammo account for information from the strategic level? In a normal battle, it would make sense if the AI had some idea of how much of the enemy fleet is remaining (save ammo if there are many more enemies), and how much time has passed (use more ammo if battle is dragging on), to nudge it towards making a better decision.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24271
    • View Profile

One key difference there is that for dumbfire strike weapons, it wants to be quite sure of landing the shot, and that can be tough to line up. So that should account for any major difference between Atropos and Reaper use. Harpoons are not "strike" and the AI is more liberal with them.


On a related note, does the AI's decision to conserve ammo account for information from the strategic level? In a normal battle, it would make sense if the AI had some idea of how much of the enemy fleet is remaining (save ammo if there are many more enemies), and how much time has passed (use more ammo if battle is dragging on), to nudge it towards making a better decision.

It does not, generally. It will change some behaviors when/if it gets to low hull or CR level, though.

I don't think the AI should base missile use on considerations like that. It's, for example, easy to see where you'd want the opposite - "use missiles quickly to turn the tide and stop being outnumbered", rather than "save missiles because there are many more enemies (and get destroyed without using them)". I think it's better if it sticks to tactical considerations only; frankly, there's enough to consider there to keep it occupied :)
Logged

Vyn

  • Lieutenant
  • **
  • Posts: 60
    • View Profile

One key difference there is that for dumbfire strike weapons, it wants to be quite sure of landing the shot, and that can be tough to line up. So that should account for any major difference between Atropos and Reaper use. Harpoons are not "strike" and the AI is more liberal with them.

Landing a good torpedo hit is definitely worth prioritizing. How much does this uncertainty of landing the shot factor into the AI's decision though?

In situations where the target is literally a lone overloaded sitting duck, any torpedo launched is pretty much a guaranteed hit. Maybe this is a case where it is worth overriding other AI priorities and just have it fire its torpedoes.

I think it's better if it sticks to tactical considerations only; frankly, there's enough to consider there to keep it occupied :)

That's fair. It is best to keep things simple whenever possible. I think this is a situation where the AI's choice really does deviate so far from human behavior that it can become a distraction to the otherwise very fun space battles however. Let's hope it gets a fix in a future build some time.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24271
    • View Profile

In situations where the target is literally a lone overloaded sitting duck, any torpedo launched is pretty much a guaranteed hit. Maybe this is a case where it is worth overriding other AI priorities and just have it fire its torpedoes.

You'd be surprised! The target can still maneuver and will actively try to dodge torpedoes, and the likelihood of a hit also depends on maneuvering so the relative velocities of the ships line up. And since the AI has other things to consider when deciding whether to try to do that (i.e. to maneuver with a focus on that), finding a good launch window is not that easy.


I think this is a situation where the AI's choice really does deviate so far from human behavior that it can become a distraction ...

I do know what you mean there, yeah. I'll make a note to investigate! (Edit: by investigate, I mean the possible solutions. I mean, I know exactly what causes it... :) )
« Last Edit: January 05, 2022, 08:15:52 PM by Alex »
Logged

Yunru

  • Admiral
  • *****
  • Posts: 1565
    • View Profile

I will admit some frustration in the lack of prioritising a kill. A dead ship can do no damage back to you - even taking some damage to get it dead might be better than leaving it alive to shed flux.

balordezul

  • Lieutenant
  • **
  • Posts: 59
    • View Profile

I just noticed the same thing with some of my builds and how the AI uses them.  This clears that up a good deal.
Logged

√ústad

  • Commander
  • ***
  • Posts: 132
    • View Profile

AI should prioritize to use finishers when enemy ship is either overloaded or close to be overloaded like %80 of the flux limit. Missiles like reapers should not be used on frigates or other low profile targets at all because it's almost immpossible to land unless you face hug, two it's just wasted on them they should conserve for better targets in %90 percent of the time.

Also AI cares about landing the shot so it overuses guided missiles and overly conserves and waste opportunuties with reapers.

Logged