I like that idea. It's a bit complicated, but should be doable. Each object that's being defended/escorted would have to keep a list of attackers and how many times they've attacked, as well as the current threat the escorts are defending against, if any. If they come under attack from something that isn't the current threat, increment its times attacked, then decide if it's a bigger threat than the current threat. If it is, send the escorts after it with a maximum pursuit range that's a function of times attacked. If they exceed that range, send them back and remove it as the current threat (after a bit of time so it doesn't immediately trigger by fighting the escorts). Also, periodically clear the list of objects that don't exist anymore.JohnBWatson wrote:A simple and reasonably elegant stopgap would be to have escorts attack any hostile that comes within a small radius (or attacks the freighter or its escorts), and return once it leaves a larger radius. If a ship that has been disengaged from attacks again, double the size of the larger radius when engaging that ship, and repeat the process as many times as it attacks and flees. This would also make for very human like behavior, responding to repeated attacks with increased fervor.NMS wrote:It seems like AI escorting behavior was changed in the beta as I suggested here: AI should stay closer to ships that they're escorting. Autons disengage more readily, which is nice. It also seems OK for Korolov freighter escorts.
The downside is with escorts that aren't much faster than the ships they're escorting, like Zulus and T31/55s. When they attempt to return to the freighter, it takes them a while. If they're attacked repeatedly, they'll oscillate back and forth some distance from the freighter, not fighting back much. Of course, AI can't do too much for Zulus; their equipment is utterly ineffective. Against the player, their only use is to make a suicidal all-out attack and hope it's enough of a distraction for the freighter to get away. The ideal behavior would include being able to fire at a target while moving in a different direction as I suggested here: AI should fire at targets of opportunity with primary weapons, but that might require a major AI rewrite. In the mean time, a few other things would help:
- Make Zulus faster or assign faster ships to escort fast freighters.
- Limit how frequently AI switches between fighting a target and returning to the ship it's escorting. (If this is how it worked before, then somewhere in between the old and new behavior might be better.)
- Keep the current behavior when attacked by AI, but go berserk and attack forever if attacked by the player.
In addition, using a similar process for station defenders would fix quite a few problems.
Making all escorts react to an attack on any of them would prevent them from being lured away one by one. I guess removing those kinds of exploits is a good thing?