Jump to content
Sign in to follow this  
polar bear

Statistically sample human behavior and use the data to model AI behavior

Recommended Posts

I am specifically thinking about aiming accuracy but the idea might apply to other things as well, wherever there is a task with a probability of success and an easily measured outcome.

I think in game performance of human players should be statistically sampled to determine the aiming performance of high, medium, and low skilled human players: How accurately do they fire on a first shot at N meters? How accurate is their 2nd or 3rd shot? Roughly how many rounds do they fire to hit a target? What impact does it have when the target is moving?

The game might be able to produce these statistics for another reason as well, it would be kind of cool for human players to be able to see their own performance and understand what they need to work on and how well they compare to other players.

However this data could be used to generate probability tables that could inform the performance of the AI. Rather than the AI randomly becoming more accurate with every shot, the AI could "roll the dice" against the probabilities actually demonstrated by real human players in a similar situation.

Ideally this would result in AI performance that is similar to human performance and as a result make the game more enjoyable.

There are different levels of human behavior so you would want to categorize the human players by skill level and then use the different results to model the behavior of the AI's at different skill levels too.

Just a thought...

Edited by Polar Bear

Share this post


Link to post
Share on other sites

I don't want AI to be as good as I am, that would be stupid and not fun, it's like having a 1:1 K/D ratio in a CoD match, not fun.

Share this post


Link to post
Share on other sites

You could still set the AI skill setting to low. It`s a question of realism, this would improve it. You`d have more realistic low skilled AI to shoot at if that`s what you like doing.

Share this post


Link to post
Share on other sites

How do you even measure skill? Who has most skill, the Apache gunner with 1000 points or the medic without a single point?

Share this post


Link to post
Share on other sites
How do you even measure skill? Who has most skill, the Apache gunner with 1000 points or the medic without a single point?

Percentage of bullets that hit the target. Obviously there are a lot of AI tasks that aren't suitable to this approach, but for the ones that are, like aiming, it would be great to have more realistic behavior.

Edited by Polar Bear

Share this post


Link to post
Share on other sites

Hmmm - statistic-based tuning of the game. Interesting. Imagine VBS2 might tinker with that notion - not sure about A2/OA though.

But do you seriously want to have to face AI sniper that can shoot as well as a well-trained marksman? Because in real life I enjoy shooting benchrest rifle - practicing all afternoon.

grouping.jpg

Typical 5-shot group @50m, Anschütz 54 Match, Federal .22LR 36gr plated hollow-point, winds 16-24kph, temp 38C, humidity 10%.

Edited by Evil_Echo

Share this post


Link to post
Share on other sites
But do you seriously want to have to face AI sniper that can shoot as well as a well-trained marksman? Because in real life I enjoy shooting benchrest rifle - practicing all afternoon.

If the skill level for the AI is turned up to 100 then yeah that's what it should mean: They should be exactly as good as a well-trained marksman. If that's not called for in a mission set the skill lower :)

I'd point out though that performance on the range is generally not the same thing as performance on the battlefield, especially for a sniper who has been sitting in an uncomfortable position for hours and is worried that the target might shoot back so life-like data may not be the same thing as one-fine-day-at-the-range data.

I also think it would be better to sample human players in the game, rather than go from real life data. Real life data might be better for VBS, OA/A2 would benefit more from the AI being more-like-a-human-player.

Edited by Polar Bear

Share this post


Link to post
Share on other sites

Have been sleeping on it, and I think it is a bad idea. At least for vanilla, and especially for multiplayer. I prefer having AI who's accuracy/skill set is based more on who/what they are, and if I run into problems I can't handle I always know I can raise my AIs skills and/or lower the enemy AIs skills to make it playable.

For MP it would require a bit too much work gathering and organizing the data used to dynamically adjust the skill of the AI. I'm not sure if I like the idea of an AI suddenly becoming a less effective soldier because he is now being shot at by a different human with "less skill".

That being said, I know I'm far too lazy already messing around with the AIs skill. Skill tend to be some random value not really associated with who/what they are. So I typically end up with riflemen who shoot too well, accompanied with snipers who can't shoot much at all. Note to self - start paying attention to this!

I know I enjoyed "auto skill" back in Unreal Tournament bot training, but that's a completely different game.

Share this post


Link to post
Share on other sites

Hi Carl,

I think I must have done a horrible job of explaining what I meant! I agree with you that dynamically changing AI skill level in a game would be a bad thing and I hadn't even though of that. Let me try again and see if I can explain this idea.

I did not mean that in each individual game the AI would statistically sample you and come to match your ability. I meant that BIS would gather data over a period of time on the performance of real human players and then once and for ever create a table of probabilities that would be used to determine the accuracy of the AI, to determine how likely they are to get a hit at a certain distance with a certain rifle given a certain pre-set (by mission designer using the slider) AI skill level.

That table could be updated from time to time, but once set, it would not change unless there would be a patch to the game released by BIS. I guess modders could also mess around with it--but not something that would change dynamically.

The idea is to replace the current AI behavior, which I gather is a formula, that determines how accurate they are, with some data that reflects how accurate real people are in similar circumstances.

So for example there would be an accuracy table that you could look up into and find out how accurate are low skilled players using a sniper rifle shooting a moving target at 500 meters after having been running. The AI's odds of hitting would then be the same as that low skilled player's odds if the AI were set to low skill.

To gather this data BIS would add something to the game that would collect these statistics and run those collection routines until enough player data had been gathered to fill in all the slots in the table with realistic, statistically significant estimates.

Edited by Polar Bear

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
Sign in to follow this  

×