Human Flaws in Game AI

Started by
6 comments, last by Servant of the Lord 10 years, 7 months ago

In multiplayer games (particularly first-person shooters) bots are sometimes needed to fill the places of other players. With that said, how human should these bots be? If they were just designed to win they would just be aimbots that only annoys the human players. If they were designed to be stupid then the players would get bored. At what point is a bot too smart or too dumb? Here's one example of an almost perfectly human-like bot; it was able to hold grudges, make mistakes, and plan: http://www.utexas.edu/news/2012/09/26/artificially-intelligent-game-bots-pass-the-turing-test-on-turing%E2%80%99s-centenary/

Advertisement

At what point is a bot too smart or too dumb?

Can you describe the scale and unit of measure on which these "points" appear?

--"I'm not at home right now, but" = lights on, but no ones home


At what point is a bot too smart or too dumb?

too smart: defeats player > 75% of the time ?

too dumb: defeats player < 50% of the time?

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

For me, it's too smart when I feel like I can't beat it. It's too smart when it makes me feel dumb. Stupid cheating computer.

It's too dumb when I feel like it can't be me unless I get sloppy. It's too dumb if it doesn't present a challenge. Weak dumb computer.

It's just right when I stop and think, "Wow that was clever of him", thinking of the AI as a sentient being rather than AI.

It's just right when there is a mixture of unpredictability - not from randomness, but from me not being sure what the AI is doing, and whether

It's just right when I have to create improvised solutions to solve the emergent gameplay problems that the AI produces in an otherwise simple game.

It's just right when the AI surprises me by the appearance of being clever. It doesn't actually have to be clever - it just has to react in non-obvious but non-dumb ways that take me by surprise and force me to react. The AI always reacts to me, but when it forces me to react, then fun results.

This should happen alot more in videogames.

To quote Soren Johnson, GDC 2008: "The AI should be good enough to just barely lose to the player."

Of course, that's a pretty nebulous target, isn't it?

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

IMHO there is a bigger question apart from "how accurate should the bot be". If you can make it exhibit interesting behaviors - perhaps based around teamwork with the player - then that should go a long way to making it believable and enjoyable.

But there's also the story about Halo grunts running away when their leader died. The behavior was not obvious to players until they added a verbal part where the grunts shouted "Leader dead! Run away" or something along those lines (been a long time since I played Halo). So you need to make it obvious to the player that the AI is doing something clever, not only make the AI do something clever.

Dont know if people remember the games(and they were no FPS), but in Commandos you could actually make the view cones of AI soldiers visible, which widened and prolonged depending on the soldiers alertedness and terrain could block parts of it and it had different zones where they could see everything or only nonhidden things/people. It was also simulated how much noise different actions would make and from how far away AI soldiers could hear.

They even started alert when they found a dead or knocked out or tied up buddy and free him.

They also had believable patrol routes, did things like smoking breaks or pay attention to officers.

The nice thing was you always knew it was hard to break through this interconnected network of enemies, but the AI never cheated so you often had time to find the weakest link and plan some timed attack without causing alert and your soldiers getting chased down.

In most other games the AI does cheat by having 360° view, seeing through walls to the other side of the map, rotating its weapon and shoot at you immediately without taking a realistic time for that motion or it got access to your exact position instead of deriving it from its view and your distance. Once you caught it one time having access to information it shouldnt have when playing within the rules of the gameworld, you immediately stop believing it, especially if it still does stupid moves, gets stuck or just runs in a straight line towards you.

Here's an idea for auto-adjusting the AI's accuracy: what if you detect (per weapon) the average accuracy of each player? Some games do this for statistical purposes anyway, just for the player's amusement. Track the average accuracy per player of that player's last 5 matches.

Then, depending on who the AI is firing at, what if the AI uses equal accuracy to the person it is currently shooting at?

If [Player #452] has an average accuracy of [74%] with [Weapon #7], and [AI bot #4] has is firing at [Player #452] with a [Weapon #7], then it'd use that player's [74%] accuracy.

(As a plus, this would make the AI have perfect accuracy against aimbot-users. tongue.png)

This topic is closed to new replies.

Advertisement