Jump to content
RabidHobbit

AI Spotting Improvements I Think We Can Agree On

Recommended Posts

Every time I come back to Arma 3 SP (from playing other MP games, mind you) I'm always a bit frustrated by the AI's advantage over the player in the realm of tracking and firing on targets that should be harder to locate, when one plays Mil-Sim properly (using cover and concealment). More than anything, I'd like to see the AI spotting improve a bit in future Arma titles. It would impact every aspect of the game.

 

Yes, we all know that the AI in Arma 3 cannot spot new soldiers when they don't have LOS. The devs confirmed this long ago, and this classic video demonstrates it:

 

 

But the issues go beyond that. There are 2 aspects to AI detection of enemies that makes them a bit unfair (and less fun) to fight against. This is an issue in any FPS game, and is not unique to Arma. However, Arma is a leader in milsim gaming tech, and this is another area I could see them brining more innovation to the genre.

 

Issue #1: After 1 squad member spots a target, the whole squad maintains perfect knowledge of target location, even without LOS. You can see that in the video above where the AI tracks the target through the foliage, perfectly predicting where they will emerge and immediately firing upon them (even though they never "saw" them). We see this in game all the time. When an AI squadmate says "Rifleman 100 meters", you get a red diamond that perfectly tracks the target even though you have no LOS on them. You watch the diamond and immediately fire as soon as they emerge, knowing precisely where they'll emerge from.

 

Issue #2: The AI's ability to spot is not hindered in the ways that human vision is. It is pretty clear that the AI has some modifiers to its ability to spot, such as a possible target's stance, if they are moving, their distance, if they're making noise, and if it's night time. But it doesn't nearly bring the AI to the level of a human spotter. The AI seems to be able to consistely spot targets practically immediately, even when they can only detect a few pixels of the target. I would like to see the the AI make a "Spotting Check" (that they can fail) to determine if they notice a new target. And it would take these factors into account:

  • Spoiler

     

    • Size of target's sillhouette
      • Distance to target
      •  Stance
      • How much is visible vs concealed
    • Location in spotter's cone of vision (i.e. from center to peripheral)
    • Spotter's cone of vision is stationary vs moving (sweeping)
    • Contrast of target vs local background
    • Target motion or unmoving
    • Rate of motion perpendicular to spotter's camera (ex. target moving right to left is easier to spot that one moving directly away)
    • Multiple targets' distance to each other in cone of vision (i.e. when targets are not grouped together, they are spotted 1 at a time instead of at the same time)
    • Did the spotter previously spot this target recently
    • Spotter is moving (penalty)
    • Spotter is taking some other action (ex. throwing a grenade, mantling) (penalty)
    • Spotter fatigue
    • Spotter injury (getting shot currently makes it easier for an AI target to spot their shooter! It should be the opposite!)
    • Spotter being suppressed
    • etc.

     

     

 

The amount of time that a target is in a Spotter's cone of vision should be a significant factor. For example, a spotter might get a Spotting Check every 1/4 to 1/2 second, which receives bonuses for every unit of time that a potential target remains in their cone of vision. Thus, spotting is not necessarily an immediate thing the AI does, but instead simulates a reaction time. They react more slowly to targets that are harder to spot (or they might not react at all if a target is only momentarily within sight).

 

The second half of issue 2 relates to sound. The AI should not be able to pinpoint with 100% accuracy based on hearing a sound. Rather, they should have a "Hearing Location Check" that provides them with possible locations to sweep their camera over, not actually pin-pointing anything until a Spotting Check succeeds. This check would also be affected by various factors, and should be less reliable under situations of confusion (ex. lots of sound coming from multiple locations).

 

Solutions? 

 

Issue #1 seems easier to solve. A character (AI and player) should not be able to track a target they can't see. This is best explained with examples:

 

Example 1: Soldier A spots Soldier B. Soldier B breaks LOS. Instead of tracking soldier B's actual location, soldier A will have a marker for the last location they were seen before they left LOS (Orange diamond "Target: ?"). They can continue to fire upon that location, but they will have to re-spot their target again before they can fire at their updated location. Maybe they get a bonus to re-spot, which diminshes over time, and by distance travelled perpendicular to the line of sight.

 

Example 2: Soldier A spots Soldier B. The callout is reported, although Soldier C does not have LOS of Soldier B. Soldier C should not get a red diamond that tracks soldier B. Rather, they should get the static orange diamond mentioned above. They can of course fire upon this position, but they don't know anything about where soldier B actually is.

 

Issue #2 is harder to solve and is a real engineering problem. It might involve calculating silhouette compared to the percentage it comprises the frustum, along with testing RGB values against some chunk of background around the possible target. Perhaps that's too processor intensive. But some more improvement in this arena would really help the player to not feel that the AI can supernaturally locate and fire upon partially concealed targets. Especially when the player cannot see them. I think a starting point would be implementing some kind of "Spotting Check" that does not always succeed, even if the factors are less granular than those I mentioned above. Or some other way to reduce the speed and reliability of AI spotting to a reaction time that is more similar to a human response.

  • Like 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×