Slashdot Mirror


Believable Stupidity In Game AI

Gamasutra is running a feature written by Mick West, co-founder of Neversoft, about creating game AI that is dumb enough to defeat, yet intelligent enough that its "mistakes" are similar to those a real player would make, thus preserving the illusion that the AI is not just throwing the game. "The simplest way to introduce stupidity into AI is to reduce the amount of computation that it's allowed to perform. Chess AI generally performs billions of calculations when deciding what move to make. ... The problem with this approach is that it decreases the realism of the AI player. When you reduce the amount of computation, the AI will begin to make incredibly stupid mistakes — mistakes that are so stupid, no human would ever make them. The artificial nature of the game will then become apparent, which destroys the illusion of playing against a real opponent. ... By reducing the amount of computation, we create an AI opponent that is trying to win, but has been crippled in a way that leads to unrealistic gameplay."

26 of 378 comments (clear)

  1. Cheating AI by Anonymous Coward · · Score: 5, Interesting

    Actually I don't have much issue with the quality of AI's used in games, but I don't like that so many of them cheat. A few games of gotten it right, but many AI's can track my movements through walls. In order to defeat the AI, I have to figure out how it works and so I'm constantly aware it has superhuman abilities and I find that very distracting from the realism.

    1. Re:Cheating AI by patro · · Score: 4, Interesting

      The programmers of Fritz [a chess program] hit upon a solution that involved the AI deliberately setting up situations that the human player could exploit (with some thought) that would allow the human to gain a positional or piece advantage. Once the human player gained the advantage, the AI would resume trying to win.

      It's so humiliating, isn't it? We can only win if the machines let us. I for one welcome...

    2. Re:Cheating AI by Vectronic · · Score: 5, Interesting

      I think that's largely because AI is generally controlled as a group entity, so there is one main master pool of data that they get information from.

      When what should be done, is that each AI is IAI or something, individual artificial intelligence, which can be done with object masking, and an analysis of what the AI can see in it's perspective camera, or it's range to a sound, instead of all players and sounds being a dot on a grid, with no regard for obstructions and range.

      Little more on topic, I don't really mind figuring out how the AI is working, what I dislike, is like hard-coded faults, usually with waypointed bots in FPS type games, where they will always get stuck at the same spot on that same path. Because then I abuse it, i'll lead them there, wait for them to get stuck, and kill them... lotsa fun for 15 minutes, but the game gets really boring quickly, however I actually like the superhuman AI as long as they still have to abide by the rules I do (not shooting through walls I can't, etc), makes for great practice.

      I generally don't play games for realism, but rather for the lack of it, I can't go out collecting coins from trees, or shooting my neighbours "really"... excluding racing/flying simulators, but usually they don't have much problems with realistic AI because of how many variables there are to "fuck with", most, if not all of which can happen in reality, sudden gust of wind, punctured tire, blown engine, etc, perhaps thats what humanoid AI games need, is more variables to be more realistic. Different eyesights, hearing, reaction times, strength, etc, etc, then slightly randomized variations on them during the same match, so that even a hard-coded fault in the AI wouldn't come to the exact same result, humans don't play by constants, why should AI.

      Now that i'm rambling, I'll end with the fact that most games are multi-player now, so they spend more time working on the human interaction with the game, and the AI is just tossed in afterwards, probably carried over from v1.0, just so they can say it has that option, expecting people to want to play people. As a side note, maybe thats the logic behind some of them, make shitty AI, to try and force more people to buy+play the game so the game is useful.

    3. Re:Cheating AI by Nick+Ives · · Score: 5, Interesting

      FC2 was notorious for the enemies ability to see you through anything, they clearly didn't even attempt to solve the perfect aim / x-ray vision problem.

      The best shooter in this regard is Crysis. The enemy AI can only see you over long distances if they happen to look in your direction through either binoculars or a scope and if you can't see them they can't see you, even through bushes.

      --
      Nick
    4. Re:Cheating AI by Nick+Ives · · Score: 4, Interesting

      Really? I found that enemies tended to spray their fire more wildly when I disappeared into the bushes, then I would just turn on stealth and dash across open ground to alternative cover. From there it was generally a case of watching them circle in on empty ground and tossing in a grenade when they were all bunched up in my previous position! I rate it as the best AI I've seen in any FPS.

      They had scarily accurate aim even across long distances but I didn't find that too unrealistic: the enemies were all trained soldiers. Except the aliens. Crysis would've been far better without aliens.

      --
      Nick
    5. Re:Cheating AI by jd · · Score: 3, Interesting

      I would agree - to a degree. To me, an AI should be as smart as possible (even if superhumanly so - if I wanted a human opponent, I'd go to a gaming club), but should do so on no more information than a human player would have. Thus, you should not have one side play in a "fog of war" and the other be given a full-information scenario. That doesn't cut it.

      But within the constraint of equally limited data, I have no objection to the computer throwing every clock-cycle it has into trying to beat me. I'd prefer it. Game AIs are frequently dumb to the point of being pointless.

      One wargame I used to play was "Crusade in Europe". I found out that if you bombed the enemy supply depots and just sat on the beaches of Normandy, the AI's forces would all starve to death. I successfully won World War 2 from the D-Day landings onwards with under 500 casualties. I wish to argue that this should be impossible, no matter HOW good the human player is.

      Sure, players want to win. That's natural. But they should win because they're good enough to win, not because the AI lets them, even if the AI is sneaky enough to not make it obvious that it's letting them win. Games should be hard. It took me almost a year to reach the top rank in BBC Elite. Had the AI been half-way competent, it should have taken me longer. Games that are completed and disposed of in a fortnight aren't worth the money to buy or the effort to write.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    6. Re:Cheating AI by __aasqbs9791 · · Score: 4, Interesting

      Your mention of racing games makes me recall this racing game I was playing when I was a kid on an Atari ST called Hard Drivin' (IIRC) and I was almost beating the AI when we came up to the draw bridge jump. It was basically a ramp that automatically raised and lowered itself in a cycle, with a large tower in the middle. If you hit it when it was too low you smashed into the tower. If you hit it too high you'd overshoot the track, because right after the other side of the tower was a hard left turn. I could tell the AI was going to hit the jump at the wrong point and overshoot the whole thing, while I was going to hit it perfectly. So when I get to the other side I'm really ecstatic as I watch the shadow of the other car pass over me. I start to get less so when the shadow turns to the left and the AI car lands right in front of me, like nothing special had happened!

    7. Re:Cheating AI by Daravon · · Score: 3, Interesting

      Customizing AI in the original Unreal Tournament was pretty amazing. You could specify different attributes like accuracy, and even specify favorite weapons. Using that, you could set up the bots so that you might be facing twelve "Brosephs" running around with rocket launchers, but you know true fear if you see "Will Hunting" coming at you.

      --
      I traded all my mod points for these magic beans.
  2. Interesting thought by JustNilt · · Score: 4, Interesting

    So, basically, we have to determine how many "calculations per second" equivalent an average human can manage. Then we have to allow a range on either side of that since not everyone has the same capacity. Once we manage that, game AI would start being more realistic, huh?

    Somehow I doubt it's that simplistic but still sort of interesting.

    --
    You know the thing about UDP jokes? I don't care if you get it or not.
  3. depends on the stupidity by jollyreaper · · Score: 3, Interesting

    What I've always wanted to see is more scripted realism in games. For example, the Medal of Honor games worked much in the same way as a Disney theme ride with certain prescripted actions occuring when you passed by. Run across the field to the house, then the soldiers there will go through a scripted sequence of planning the next move, then they do so. You walk past the far side, a German tank triggers and comes crashing through at you. These are all nice starts. The original Aliens V. Predator game would have the human opponents freak out at random. You tear the head off of someone beside the soldier, he might drop his weapon and run screaming or start spraying the walls at random. And the most unsettling of all were the civilians who would run, cower and cringe away from you, the alien monster.

    All of the above are tricks, not real intelligence but things that provide the illusion of intelligent agents engaging in realistic behavior. Critics will say the heavy scripting ruins the replay value because there's not as much room for variation and surprise but I think that it makes the games more interesting. Unfortunately, not many people go to the effort here.

    I for one would love to see a shooter where I burst in on the room of baddies playing cards and see them fumble for their weapons, someone drops his, etc. It would be very realistic to have an enemy get the drop on you but his gun jams and he's left trying to clear it when you engage. As mentioned before, AVP created a sense of realism when the humans freaked out and started firing randomly.

    When we get right down to it, players aren't looking to get their asses mercilessly beaten every time they play. Neither do they want a pushover opponent. Gamers want to win but they want to feel like they had to earn it. It's rarer to find gamers who want to push the working for it to masochistic levels but they do exist. They would be typified by Rogue fans. For those who don't know, Rogue is a dungeon crawler where you really should save your game except you can't except as a bookmark -- you can save it to come back later but if you die the previous save point is deliberately deleted. You have to beat the game in one go through.

    The only other game I've encountered that masochistic is Escape Velocity Nova, a space exploration and trading game with a realism mode. You die in the game, you die for keeps, you have to start over. To its credit, it does offer a vastly different play style. For example, you want to hit a big pirate ship for max profits, you pick a world near where they spawn and land. Each time you launch local space reloads and a pirate might respawn nearby. You have maybe a one in ten chance of taking him as a lowly player but it's fun. You keep reloading and rolling the dice until you win and you get a nice haul. If you play it in hardcore mode, you have a vastly different approach to this sort of thing. For starters, you lose your ship and it's gone, you have to buy a new one. If you lose your escape pod, you're dead. You will take a vastly different approach tackling a monster like that when you risk losing hours of progress. This seems too much like work to me but some people love it. I think they're the same ones drawn to high-risk PVP games like EVE Online. I think it's a form of gambling addiction, the risk of possibly losing a lot of stuff and the thrill of making it through.

    --
    Kwisatz Haderach
    Sell the spice to CHOAM
    This Mahdi took Shaddam's Throne
  4. AI leaps and bounds? by Gizzmonic · · Score: 5, Interesting

    Year after year, I read these kind of articles that report how game AI increases in leaps and bounds...and I still don't see it. Bad guys in GTA still seem to rush towards grenades, Halo/Gears of War enemies are either completely impulsive or avoidant. I'm not knocking the programmers...I think game AI must be very difficult to achieve, and even harder to detect for the layman (such as myself).

    Does anyone have an example of really good AI in action games (or any non-RPG, non-RTS games)?

    --
    (-1, Raw and Uncut is the only way to read)
    1. Re:AI leaps and bounds? by Sj0 · · Score: 3, Interesting

      The Half-life series has always been acclaimed for the AI.

      I found Left 4 dead had excellent AI. The zombies rarely did things that didn't make sense, the only thing I can think of is when they climbed up on objects they didn't need to climb over.

      It's not enemy AI, but Alyx from HL2 was pretty impressive. The zombies rarely did something stupid, but Alyx never did anything stupid. I'm sure I'm not the only one who formed a weird bond with the character by the end of Ep. 2

      --
      It's been a long time.
    2. Re:AI leaps and bounds? by Jim+Hall · · Score: 3, Interesting

      Does anyone have an example of really good AI in action games (or any non-RPG, non-RTS games)?

      The AI in the first Half-Life was pretty good, I thought. Especially for the era. There were AI creatures that, once they saw you, would run to the rest of their group so they could attack in greater numbers. IIRC, other AI would behave a certain way (i.e. aggressive) until their health dropped too low, then would act in another way (i.e. defensive, even retreating.) It was very believable with the non-human creatures (the sonic dog-things) and not too bad with the enemy soldiers. I think the soldiers had certain logic, where if they had a reasonably good shot at you, they took it - otherwise, they'd reposition to get a better angle. Net effect: in certain areas, you'd have two soldiers laying down "covering fire" while two others ran around the corner to flank you. I was surprised by that the first few times it happened; very decent AI.

      I'm re-playing Killzone 2 right now. The first play-through, I thought the AI wasn't too bad. The second time through, I realized that the AI had a different behavior when you were more than a certain distance away vs. closer. So on my second time through the game, I ran up to a lot of Helghast and used the knife on them (there's a trophy for that, anyway.) If you can get close enough without taking too much damage, it's easy because the AI takes about half a second to switch to the other "mode", during which time it has stopped shooting. That's the opportunity to strike. (Yes, this kind of kills re-play value.)

    3. Re:AI leaps and bounds? by Jim+Hall · · Score: 3, Interesting

      Does anyone have an example of really good AI in action games (or any non-RPG, non-RTS games)?

      I really liked the AI in the Thief 1 & 2 games (never played Thief 3.) Very believable, added a certain dimension to the game.

      Guards would sort of tool around the place, doing their rounds. If you hadn't been discovered, they were not very attentive (you might believe they were just bored with the routine.) If they heard you make a noise, they entered a higher level of alertness, became more suspicious. Their posture would change as they snooped around, looking for what caused the noise. You had to be really well-hidden for them not to find you. If you made any more noise, they went towards that. Make a lot of noise, or show yourself, and they entered full-alert and came charging. You were pretty much screwed if you found yourself trapped in a semi-dark corner on marble tile when guards were around.

      If a suspicious guard didn't find anything, then he would (after a long while) go back to the lower alert level, and just go about his day. But I don't remember that guards, once they actually saw you, ever went back to just doing a normal, unaware patrol.

      (Did suspicious guards "infect" nearby guards, causing them to become suspicious for a certain time? Maybe someone here will remember.)

      Guards alsowent into higher alert automatically if they came across an unconscious body. So you always had to be careful about stashing the body(ies) when you coshed someone.

      It would have been much better if guards responded to torches going out, or moss suddenly appearing in a room, or an arrow sticking out of a post, or a door left open. Even a simple acknowledgment "hmm, I thought that torch was lit before... must have gone out" would have been more realistic.

      But generally, I thought the AI in Thief was pretty well done.

  5. Re:Believable AI by haystor · · Score: 4, Interesting

    Fritz has a sparring mode which does a little better than that. It will find a route that sets up a position where the player can force a win of a piece or a pawn. Essentially it sets up a tactical middle game puzzle live in the middle of a game.

    The player doesn't know when it will do this or even if it will happen at all. But it is most likely to happen when the player puts the computer under pressure. This is great because it teaches the player to press the computer and coordinate pieces while also constantly keeping an eye out for the wins.

    The whole chessmaster series features near-perfect play alternating with just flat out dropping pieces.

    Even with Fritz though, "easy" mode is still well above beginner.

    --
    t
  6. Limited attention and experience by AlpineR · · Score: 4, Interesting

    My first rule of game AI is that the computer should have access to the same information and controls as a human player. I hate games where the computer knows about your units and buildings that it hasn't scouted.

    The big advantage that computers have is that they can micromanage every unit with 100% efficiency. One way to reduce skill could be to limit the amount of attention the computer can spend, maybe in the form of "actions per minute". For a game like poker that could be a limit on how precisely the computer player calculates odds. A more experienced human player has a better feel for the game, so a more skillful computer player could dig deeper into the nooks and crannies of probability.

    A way that computers often act too stupid is not accounting for how their interactions with one player will influence other players who aren't directly involved. For example, in a three-way game the computer player might throw everything against the strongest player, weakening them both and letting the third player win. Humans have millions of years of instincts for dealing with such situations. So the game AI might need to precompute some game theory and adapt to opponent reactions over a series of many games. Then it could be dumbed down by reducing its use of that experience and acting more like a newbie human player.

  7. Competing goals by olclops · · Score: 5, Interesting

    If you want an AI to make human like mistakes, you have to have at least a roughly human cognitive model. The simplest way to do this, it seems to me, is to give the AI competing goals. Rather than just have the AI "try to win", and then cripple its ability to do that effectively, you could give it multiple goals to strive toward, and then give it some degree of randomness in which goal it chooses to pursue. Victory vs. pain-avoidance, attack vs. finding time to recover, etc.

  8. Re:Deep Blue by Evanisincontrol · · Score: 5, Interesting
    This has been mentioned before, but I think it's worth bringing up that Kasparov wasn't facing Deep Blue under fair conditions. Even ignoring accusations of cheating and whatnot, there's two very important facts to consider:
    • Normally when a grandmaster plays in a chess tournament, they are givens months of advance warning. The grandmaster will study hundreds of game transcripts, studying their opponent's style and looking for weaknesses. (The opponent will also be given the grandmaster's game transcripts). Deep blue was given Kasparov's transcripts, but Kasparov was given nothing.
    • IBM modified Deep Blue after Kasparov won his first match. This meant that, after finally learning how Deep Blue played (on the fly!), Kasparov basically had to play a brand new opponent.

    If this were a karate match, this would be the equivalent of the master having to fight someone he's never met before, but that person has studied the master's every move. Then, after the master wins the fight, he has to fight someone else who has studied his every move and acts differently. Not a fair fight.

  9. Re:No human would ever make them... by hal2814 · · Score: 3, Interesting

    A fullback's running assignment is one of the most conceptually easy AIs to write. Run in front of the RB and knock as many people down as possible before they get to the RB (or until the RB passes you). If they can make a reasonably sane QB AI, they should have no problem with a decent FB.

    As far as monopoly, the Madden fullback AI was a Rhodes Scholar compared to the fullback logic in the 2K games. At least the Madden FB doesn't go running off to the other side of the field based on how the D is stacked. And don't get me started on NCAA 2K2's misuse of the word "flex." Flex is not a damn blitz! Flex LBs are supposed to sit back and plug holes, not free-for-all the QB. And that's coming from someone who preferred the 2k series.

  10. Impatience by Xocet_00 · · Score: 3, Interesting

    It's interesting that they say this actually. I'm a terrible chess player not because I don't 'get' the game, but because I'm not very patient. So I tend to do fairly well playing speed chess, but doing very, very poorly in a normal game. I tend to just get tired of evaluating the possible moves after a while and just make whatever one was the most promising out of the few that I did think about.

    Isn't that sort of the same thing as limiting the number of calculations? In this case limiting the calculations would replicate the stupid moves that I (as a human/meat popsicle) would make, assuming that the order in which the computer evaluated possible moves was decided using more or less the same set or priorities that I would use (which are also probably stupid).

    So the trick to coming up with a "realistic" AI opponent for chess might be more about figuring out how a human surveys the board and in what order they evaluate the moves. You can replicate the behaviour of dumb humans (like me) just by cutting off the evaluation at some very early point and scale up the difficulty by extending it.

  11. Gran Turismo 2 had this by rapiddescent · · Score: 3, Interesting
    back in the day - Gran Turismo (the popular playstation driving game) used to have AI cars that would make driving errors such as braking too late into corners or oversteering and spinning out onto the grass.

    It used to have hilarious consequences as AI cars behind the spinning-out-of-control AI car would crash into it, deflecting and causing a complete pile up.

    This gameplay felt realistic because this is what happens when cars are travelling at high speed in close formation.

    Newer versions of Gran Turismo on the Playstation 3 - have way more computation cycles and so the AI cars now drive a whole lot better and never seem to crash. Sure they take different lines into corners and so on - but they don't completely bollox it up like the human drivers often do. It has made the game pretty infuriating because it has taken a randomness factor out of the game.

  12. Re:Deep Blue by Anonymous Coward · · Score: 4, Interesting

    i'm not involved into any of these activities, but i know Kasparov as a great mind and chess player because big blue won against him.
    and thats probably what the history will remind us.
    Eventually, a human would have been beaten anyway.

  13. Re:Deep Blue by josh61980 · · Score: 5, Interesting

    I read about in college. Kasparov did ask for the transcripts. However the Big Blue team told him no. Basically saying it would give Kasparov an unfair advantage because he could study Big Blue's moves and deconstruct the algorithm it used.

  14. Re:Easy solution by somersault · · Score: 4, Interesting

    Bah. It depresses me how bad the AI still is in FPS games after I made my own bots for CS years ago (when I didn't have a decent internet connection - when I got broadband I stopped making the bots). My bots had different personalities, can't remember if you specifically had to specify rusher/camper/whatever or if it was just a certain courage level, but you could specify obedience level (for responding to radio commands), weapon preferences, ability to use grenades, aiming skill (higher skill levels would use more controllerd fire and be more likely to HS you on the first shot, while lower ones would start at about chest level then just spray and pray), whether they were able to look sideways to check for enemies down side alleys as they were running along a path etc, all per bot so you could create awesome bots (modelled on myself and my friends :P), and noobs, etc. In the last incarnation they were starting to pick up knowledge of stuff like where they had killed enemies or died themselves which affected their 'courage' and how likely they were to start sneaking around or rushing (made a big difference because you can't hear walking enemies in CS and the bots respected that). Those were the days.. AI is fun, at least for games like Counter-Strike.. it's not quite so much fun for stuff like board games..

    If anyone still has CS 1.5 and wants to try them out they're called TEAMbot and one of the last releases is still up at http://www.planethalflife.com/teambot . I probably still have the latest version of the source on one of my old HDs..

    --
    which is totally what she said
  15. Truly realistic by gurps_npc · · Score: 3, Interesting
    The author's unspoken assumption is that it is impossible to have them make mistakes the way humans do.

    Take poker for example. We have a standard bias of "unknown = 50%". This actually works pretty well for cases where information is not known. To make the winning software programs, they basically program in the rules that a human expert knows to be true. It is NOT that hard to instead program in a bunch of rules that a human FOOL 'knows' to be true. Just find some bad poker players and ask them what they do in certain circumstances.

    -------------- Similarly, the pool game could be made more realistic. I noticed the first thing he did was have the computer select the highest possible point scorign shot, ignoring banking a shot unless it is set to super-expert. That is NOT what humans do. Bad pool players pick the EASIEST shot - i.e. the one that is most straight on and least distance. (I know, I am a bad pool player). As you get better, you raise your standards about what you think you can hit. So a moderate player looks among all the shots he thinks he can hit and takes the highest point one of that.

    --
    excitingthingstodo.blogspot.com
  16. Re:Believable AI by nine-times · · Score: 3, Interesting

    As far as Thief goes, you have to admit at least that it was very good for the time. Making it hard to win in a fair fight made sense for the game, especially since it was one of the first sneaker games, and they kind of had to smack you over the head to let you know that you weren't supposed to run-and-gun through the game. If you didn't want to sneak, then you simply picked the wrong game.

    Also, I was remembering Thief as a game that rightly didn't follow the "once your cover is broken, it's broken" thing. It was more like, if they saw you, you couldn't simply run into the nearest shadow and be safe. You had to evade them first, sufficiently that they wouldn't particularly know where you were, and then hide in the shadow. The effect wasn't perfect, but certainly you could get back into hiding after being discovered without killing the person who saw you.

    I don't know what I'd think of Thief if I played it now, but at the time, it did seem to be some of the most interesting AI in a FPS, if only for how limited the enemies' knowledge was.