Believable Stupidity In Game AI 378
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."
Deep Blue (Score:2)
Re:Deep Blue (Score:5, Interesting)
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.
Re:Deep Blue (Score:5, Interesting)
Re:Deep Blue (Score:5, Informative)
Well, I don't know Kasparov and I'm not a history expert, but I'm willing to bet that because he beat Deep Blue in 1996, he just figured he could do it again with no problem. He probably underestimated how much Deep Blue had improved, but that's just my speculation.
I don't know Kasparov's motivations for playing Deep Blue at all, honestly. Beating Deep Blue wouldn't have won him any fame ("Oh look, he beat a computer. Computers suck at chess anyway."), but losing would look bad for him. He had nothing to gain and plenty to lose. I know after he lost the match, he demanded a rematch, but IBM refused and put Deep Blue out of commission. IBM had nothing to gain by beating Kasparov again, and their stocks had already started going up when the news got out that they had beaten the grandmaster (to their great pleasure, history did indeed forget the shady details I mentioned before, just as they hoped).
Re:Deep Blue (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.
Re:Deep Blue (Score:4, Insightful)
Re:Deep Blue (Score:4, Insightful)
Re:Deep Blue (Score:5, Funny)
Kasparov had immortality to gain. In fact I'm fairly certain most people today remember him only as The First Person To Lose Against A Computer In Chess and have no idea who deep blue is.
What! I was losing against my Sinclair Spectrum +2 as long ago as 1987.
Re: (Score:3, Interesting)
He probably enjoys a real challenge? Also the reason why he went into politics and placed his life on the line against thugs?
Re:Deep Blue (Score:4, Insightful)
Many people in the tech world only know Kasparov's name because of his battle with Deep Blue. His name will likely be in history books for this reason. I would say he did indeed have something to gain by competing with the machine.
Re:Money (Score:5, Insightful)
As for it being "unfair" it wasn't touted as fair it was a computer v grandmaster experiment not a ranking test.
The only shady part in my opinion is the refusal for a rematch. If the man is willing to play on uneven ground and give his time (even if paid) to your stunt then you should have the courtesy to let him challenge/redeem himself.
Re: (Score:3, Informative)
First off, the market shows little rationality to begin with. However, a bit of an upward trend in a research & development corporation which has shown that their R&D is successful seems reasonable. The theory being that what they learned from Deep Blue could be used in other applications - and they're right. IBM has taken that technology deep inside various Life Sciences research: genomes, protein folding, etc., are all benefiting from the research that went into Deep Blue.
Re:Deep Blue (Score:5, Informative)
At the time that Deep Blue was being used, there was more of a focus on brute force search than tricky AI game play. Deep blue searched an average of 130 million nodes a second using a iterative-deepening alpaha-beta search, sometimes able to look 40 moves ahead. IBM declined a rematch after that game, but thanks to improvements in AI, a standard desktop PC running improved search algorithms is now a suitable match for even a grandmaster.
Deep blue also contained an 'opening book' of 4000 positions and 700,000 grandmaster games indexed.
Source: Artificial Intelligence A Modern Approach: Russell, Norwig
Re: (Score:3, Informative)
In the AI research community, Deep Blue isn't even seen as interesting. It was all about "beat Kasparov", and contributed little (if anything) to the field of AI.
It just showed that if you had deep enough pockets you could buy hardware to do enough conventional AI calculations to compete on a search problem.
Agreed. In fact, Deep Blue had plenty of reasons to be uninteresting. The biggest one is that Deep Blue wasn't even that clever, it was just really, really powerful (11.38 gigaflops) at the time. All it did was brute force its way through a lot of moves (up to 40 plies!) and pick the best one. It wasn't exceptionally clever about the way it calculated the moves.
Cheating AI (Score:5, Interesting)
Re:Cheating AI (Score:5, Informative)
The solution I found fascinating:
So the idea is that the AI needs to calculate precisely where you are, and then rather than hit you if the preferences are set to "hard" or miss you on the "easy" setting, probabilistically make a decision based on what a weaker or stronger human player would do. It's was a great read!
Re:Cheating AI (Score:5, 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...
Re:Cheating AI (Score:4, Insightful)
No. What should humiliate you, is the fact, that there is no "machine" "winning". There is only a machine blindly and incredibly stupidly processing a giant set of rules, created by programmers, out of a giant amount of knowledge of many many persons.
So in fact you play a whole expert comitee that can every minuscule detail down to the stangest exception, in advance.
Now if you win that, you win against them all, and are truly a genius!
So how about that fixing your self-confidence issues? ;)
Re:Cheating AI (Score:4, Funny)
So how about that fixing your self-confidence issues? ;)
And how about you getting a sense of humor? ;)
Re: (Score:3, Insightful)
No. What should humiliate you, is the fact, that there is no "machine" "winning". There is only a machine blindly and incredibly stupidly processing a giant set of rules, created by programmers, out of a giant amount of knowledge of many many persons.
Well, to be fair, there's no "you" losing. There's only a biological machine blindly and incredibly stupidly processing electrical and chemical inputs, based on a set of rules created through years of evolution, and out of the stored memory and neural network training that you have accomplished up to date.
Just because all of that has a high-order output display that looks like consciousness and thought is no more significant than the fact that the computer's display looks like a chess board. We're way mor
Re: (Score:3, Funny)
It's so humiliating, isn't it? We can only win if the machines let us. I for one welcome...
Absolutely. I find it humiliating that a Howitzer can fling a shell further and faster than me, that my car is faster than I am (and can carry more weight) and that my calculator is faster and more accurate at arithmethic than I am.
Re:Cheating AI (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.
Re:Cheating AI (Score:4, Funny)
if you can't see them they can't see you,
AFAIK they used this approach in Half-Life 2.
Pick up jar.
Obstruct the line of sight to the turret.
Approach turret, carrying the jar in front of you.
Crowbar the turret.
Re: (Score:3, Insightful)
No, it's not.
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.
I only managed to play Crysis for a short time before the lack of immersion killed it for me and the enemy targeting AI was the main problem.
Re:Cheating AI (Score:5, 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.
Re: (Score:3, Insightful)
My problem with Crysis was that they had a specific limit to their "vision" I could stand outside that radius and shoot a guy until he died and he would simply stand there not moving. It was very disappointing for me.
Maybe my game was bugged or something.
Re: (Score:3, Interesting)
Crysis is definitely worth playing. It's just a glorified corridor shooter designed to sell the CryEngine but the corridors are wide bits of jungle that give you a reasonable degree of freedom. Except the alien bits, they suck. Try to pretend everything after meeting the aliens isn't really happening.
That the AI does a reasonable job of responding to how you're playing the game without the use of supernatural powers is what makes it fun. I originally pirated it after its release just to see if would run at
Re: (Score:3, Insightful)
I ran into that problem just a few days ago playing Far Cry 2. I was sneaking into the airport to assassinate a character who was in a hanger... As I'm walking around the outside of the hanger towards the entrance, I hear pistol shots at the wall to my left. The AI detected me walked around outside the hanger while he was inside and with perfect accuracy, started trying to shoot through the wall at me. That's the sort of problem this article was about:
I'm not necessarily saying that this is truly desirable from and FPS AI, but the top Counter-Strike players can do this and do this all the time. I played in a top-tier CS for a while and we learned where all good spots for shooting through walls were. The map "de_nuke" was notorious for having these spots. As CT'S we just listen for the T's, and if they were dumb and didn't walk, a spotter would announce their position, we shoot through the walls and we would generally get a kill or two and then get subs
Re: (Score:3, Funny)
Re:Cheating AI (Score:4, Funny)
Farcry 2 had a LOT of problems with it. But I'd suggest that *I* know when someone is outside my door without being able to see them. And back in my college years I REALLY knew when the upstairs neighbors were home without ever seeing them.
Did you also shoot at them through the walls and ceiling with perfect accuracy?
Re: (Score:3, Insightful)
Its not that fascinating. What makes human opponents bad is their inability to see the board and to think ahead more than 1-2 moves. The stronger a player is the more moves he can think ahead. If you want to make stupid AI, then you need to limit its depth, and give it a percent chance of missing things like pins, forks, skewers, etc. You could try to program some kind of tunnel vision. Like the beginner player who doesn't notice the bishop hiding down in the corner when he hangs his queen out to dry. You
Re:Cheating AI (Score:4, 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.
Re: (Score:2)
Quite true, its not just that they cheat a bit in there doing, its also that the overall structure of the game cheats, a lot. Most of the times for examples enemies and friendly character will not shoot at each other, they will stand there and shoot, but never actually hit anything, unless you go there and shoot a bit of yourself and trigger a script that will make your friends move forward. In most FPS you can just walk away from the fight, admire the scenery and neither friend nor foe will ever came to ch
Re:Cheating AI (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.
Re:Cheating AI (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!
Re: (Score:3, Informative)
Need for Speed, isn't a simulator, it's arcade. Although more recently with Carbon, and Undercover, a lot of the cars are day-to-day drivers, but you can still plow into a wall and drive away, and excluding cop spikes, you wont get a flat tire or blow an engine (except maybe in the drag races).
Simulators, like GTR/Race/Evo [gtr-game.com], Live For Speed [lfs.net], rFactor [rfactor.net] or TORCS [sourceforge.net] either come with, or are available [simracingworld.com] as downloads [nogripracing.com] after, normal day to day cars, likewise most flying sims have Cessna's and ultra-lights which some people
Re: (Score:3, Insightful)
A lot of these things are hacks to make the AI fast enough to run on the kind of machine that the game targets. For each enemy to have proper vision, you need to do ray casting from each enemy to the player (quite expensive, and very expensive with lots of enemies) and you also need to program them to model human behaviour when the person is occluded so that they guess where the person is. Alternatively, you can just do a distance check, which takes a dozen cycles, and have them able to track the person a
Re:Cheating AI (Score:4, Insightful)
Re:Cheating AI (Score:4, 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.
Easy solution (Score:5, Funny)
- Fall on own grenade.
- Rocket-jump at 25 health.
- Hump the face of the nearest corpse.
Re:Easy solution (Score:5, Insightful)
You're joking, but having realistic actions like teabagging a defeated corpse brings a lot more illusion of reality than a lot of the other stuff they do.
As for the article, I saw a lot of 'dumbing down' and 'intelligent mistakes' ... But I saw absolutely nothing about 'personality'. -That- is what makes an AI seem real.
Take the poker example. If you just create 3 levels of players, bad, good, and perfect... There's no personality.
Instead, you make different players: Cardsharp, timid bets, reckless bets, etc. In other words, you model the AIs after real player types.
In other words, you're trying to pass the poker Turing test with this AI.
Re:Easy solution (Score:5, 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 [planethalflife.com] . I probably still have the latest version of the source on one of my old HDs..
Re: (Score:3, Interesting)
One of the best AI examples I've played against was a quakeC bot written to learn just as a player would. The bots had no knowledge of the map nor any information beyond what a human player could garner, but they learned everything they were exposed to. So the first encounter was an easy kill. Later encounters became progressively more difficult as they learned to avoid your fire and learned to anticipate your dodges. In the end, they would memorize all ammo and health spawn points and times such that y
Artificial Stupidity? (Score:2, Interesting)
Statitics (Score:2)
If you have too good of an AI. Give it a standard deviation of probability, And adjust it for for the skill level. So for the most part it will shoot near the target but sometimes it will miss and other times it will just be way off.
Re: (Score:3, Informative)
I think the problem they were discussing is that if you use that probability model, then there is a 2% chance that the computer will make such a totally boneheaded move that goes way beyond what any normal player would commit as a mistake. Like in chess swooping in with the queen to take a pawn and immediately be captured by the adjacent pawn, for no tactical advantage. If you are relying on pure probability to determine what mistake the computer makes, it will occasionally produce grossly unlikely mistak
Re: (Score:3, Informative)
Shooting accuracy is easy and has been standard in bot AI since forever.
Believable AI (Score:2)
I think the key isn't reducing the number of calculations, but changing the final decision process.
For example a chess playing AI will make lots of calculations in order to deduce the best possible move. Along the way it has already found the 2nd best, 3rd best, etc. etc.
Just add an algorithm to the final pre-move analysis and, every once in a while, have it choose the non-optimal move. Tweaking the parameters (e.g. which non-optimal move and how often to not pick the best move) would result in a weaker o
Re: (Score:2)
The article discusses that. The problem is you get in situations where the computer has been playing well and then makes a move so stupid no human would ever make it. It just moves, say, it's queen to be sacrificed with no purpose to it.
That kind of thing feels insulting.
I think the idea in the article, that the computer should make a move that leaves a big opening for the human (should they see it) is a good one. If the human doesn't see it, you can do it again. If they do, they feel like they've outmatc
Re: (Score:3, Interesting)
Not exactly, the GP seems to be discussing a probabilistic system weighted against success. You'd only get dramatically stupid moves on a regular basis if all possible moves were weighted equally, if you weight the best moves the most and the worst moves the least then yo
Re:Believable AI (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.
Re: (Score:3, Interesting)
he computer *always* knows exactly where you are and can make a perfect shot if it wants to
Not all games behave this way. It's certainly the easiest way to do it, but some games will look at each mob and try to determine what actions they will take based on realistically available conditions. This is tricky to do well because it's hard to code in the ability to act sensibly when searching for you, or to try to guess where you are based on previous information. (he ran around that corner. Maybe he's waiti
Re: (Score:3, Interesting)
What I didn't see discussed in the article is the alternative of not increasing the AI and exploring deeper paths in order to choose a weaker move, but to, you know, actually change the algorithm to match how a human would arrive at an action.
For example, in the case of a FPS, instead of having perfect accuracy and omniscient awareness of every opponent, the computer could use search algorithms to look in front, up to a reasonably human visual range, taking into consideration any obstacles in the way which
Re: (Score:3, Interesting)
it's like once your cover is broken it's broken
I hate that. Some are better than others - the original Far Cry wasn't too bad, you could hide out for a while and watch the soldiers beat the bushes fruitlessly, but they were always jumpy after that, especially the sniper in a guard tower two miles away who could see you no matter where you were in the bushes.
I have also found STALKER: Shadows of Chernobyl with the Oblivion Lost mod running has pretty believable AI patterns, the enemies usually can't see you if you can't see them and you can evade them,
Re:Believable AI (Score:4, 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.
Re: (Score:3, Interesting)
I totally agree with you, for the time the first Thief was great. I think the AI was actually better than the one I was referring to, Thief Deadly Shadows, third in the series (which used some form of the Unreal engine, probably a reason for some of its AI issues).
In fact, the first game is still good, even if the graphics are on the ugly side, the play quality makes up for it. It consistently follows its own rules, and like you say, it is possible to elude guards chasing you without killing them. In Thief
Re: (Score:3, Interesting)
I'll try to keep this on topic.
That would be great if the folks from Looking Glass Studios could get back together for another Thief game. The team was great at creating an atmosphere and NPCs and enemies that responded in believable ways, I'm sure if you looked closely at the programming and responses in Thief 1 they would be more primitive than, say, Far Cry, but they hold up even now because their responses were consistent and believable. Shoot out a candle you'd get "hmm, that's odd" but start doing to
Interesting thought (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.
Re:Interesting thought (Score:5, Informative)
That's not what I got out of the article.
What I took away was have your opponent play it's strongest, but make exploitable situations for the player. Make a pool shot so they human starts in a good position. Make a chess move that, while beneficial, opening a big possible hole for the player to exploit. Make the FPS bot run for cover at the wrong moment, but not randomly/suicidally.
(those are all from the article)
Basically make the AI make human like mistakes (mistakes in strategy) instead of "computer like" mistakes (just lowering their accuracy, not looking far ahead, etc).
Re:Interesting thought (Score:5, Informative)
Actually, he is saying the opposite. He is saying that by reducing the number of calculations per second, you create an unrealistic opponent. Instead, you must do additional calculations to model the mistakes that a human would make. Our problem is not that we don't do enough calculations, but that we make mistakes in our calculations. We are inaccurate, we jump to conclusions, we get excited, or calculate one branch of the tree very deeply while ignoring another one. Those types of things are tough for computers to do.
Or: measure a persons "gaming intelligence" (Score:3, Interesting)
Once you have that, you could start giving games meaningful measures of difficulty: such as "This game is suited to players with a GI greater than 80"
It would then be interesting, if not useful, to see how people's G.I. varied, and if their GIs correlated (or negatively correlated) to any other metric, such as SAT scores. Even better, you could deter
Re: (Score:3, Interesting)
I think it may be more a case of where you KNOW what isn't a good idea even if you can't see far enough ahead to judge it for certain.
For example, in chess, you see very new (young in particular) players take out their queen soon and try to run around with it, expecting the most powerful piece to be a sure weapon to wreck havoc with. This quickly leads to a 'queen hunt' on behalf of the opponent, who while harassing the queen, develops a dozen pieces on the board before cornering or chasing away the queen,
This must be stopping Duke Nukem Forever (Score:5, Funny)
This must be the problem facing the team creating Duke Nukem Forever.
They needed the AI to be dumb enough so you could hear the comments all the time during the game.
Re:This must be stopping Duke Nukem Forever (Score:4, Funny)
From what I understand, they're trying to model their AI after Forrest Gump but it keeps causing the AI to sit on a park bench and strike up conversations with random people.
depends on the stupidity (Score:4, 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.
Re: (Score:3, Interesting)
I think a set of possible scripts would actually make things more realistic. In reality a team goes according to script. They might have contingency plans. The more trained and prepared the more contingency plans and the more they will follow those plans. I would expect the SAS to be much more accurate when everything goes wrong than the common soldier. The less trained and prepared the less contingency plans and the more they will panic and deviate from the plan when things go wrong. I think a good s
Re:depends on the stupidity (Score:5, Insightful)
The events you describe in AvP are not necessarily examples of scripted scenarios, but sound more like a scripted set of responses to stimuli the player provides (would the AI react differently if you didn't rip off a soldier's head?). The trick for interesting yet realistic decision making is to allow the AI a range of responses that it can make, and then every time you present the same scenario to the computer you may get a different response. So when the AI is actually making decisions, rather than just following a pre-scripted path, this allows the player to make actual decisions in response, rather than just following their own memorized trial-and-error derived path to success.
The key to a good scaling AI doesn't have to be that tricky, it can just be a matter of what range of choices you allow any given AI to make and what sorts of "mistakes" you throw in that pool of choices.
When I face "easy" opponents in an FPS, I want them to use simple tactics (not just be unable to hit the broadside of a barn) like charging forwards blindly, or getting scared easily and retreating or even panicking, and being easily suppressed by heavy fire. When I face more advanced opponents, I want the range of their choices to move up the tactical scale to include flanking maneuvers, suppression fire, use of cover, and tactical retreats. A good mistake for an advanced AI would be to assume you're in the wrong position if you duck out of view and to attack that wrong position vigorously (as opposed to the omniscience a lot of AI's seem to have). They don't have to be any more accurate or need any more bullets to kill than an easy bot, but at least they could present more of a real challenge without artificially increasing their stats. Granted this is harder to do and would require actual programming rather than just increasing a few numbers, but that's the price for good AI in your game.
No human would ever make them... (Score:5, Insightful)
Oh, the humanity! Football games drive me nuts when the AI does stupid things no real person would ever do. Why the hell did my fullback just brush by the linebacker that's right in my RB's way?! Why can't I get my linebacker to stay in his lane on running plays?!
I'd love to see the difference in difficulty in Madden being the difference between playing a Jerry Glanville-coached team vs a Tom Landry-coached team. Instead, all increasing the difficulty does is make your opponents more talented but no smarter. Even on the highest difficulty, FBs don't understand their blocking assignments.
Re: (Score:2, Insightful)
How much of that is due to difficulty in writing a good AI for a fullback and how much is due to EA not needing to write a good AI for a fullback because there aren't any other football games left to compare it to?
When you have a license monopoly, why try?
Re:No human would ever make them... (Score:4, 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.
Re: (Score:3, Funny)
Re:No human would ever make them... (Score:5, Funny)
"Oh, the humanity! Football games drive me nuts when the AI does stupid things no real person would ever do. Why the hell did my fullback just brush by the linebacker that's right in my RB's way?! Why can't I get my linebacker to stay in his lane on running plays?!"
Gee, you sound like a real life coach. Certainly like my High School coach.
I'm thinking the AI is working like it should here. You got your disgruntled, not getting paid enough FB who isn't taking the hit, and your linebacker who thinks he's smarter then your Defensive Coordinator and is freelancing with visions of stardom in his head.
Realistic this is, I think. Patience, padiwan. Trade you must. Draft you will. Beware of anger.
AI leaps and bounds? (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)?
Re:AI leaps and bounds? (Score:4, 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
Re:AI leaps and bounds? (Score:4, 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.)
Re:AI leaps and bounds? (Score:4, 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.
This should be almost impossible. (Score:4, Funny)
it's about the cpu-time (Score:4, Insightful)
No Human? (Score:5, Funny)
The author has obviously never played chess with me.
Impatience (Score:3, Interesting)
Isn't that sort of the same thing as limiting the number of calculations? In this case limiting the calculation
Re: (Score:3, Funny)
The author has obviously never played chess with me.
You sunk my battleship! Now how am I supposed to connect four?!?
Talking about Stupid (Score:2)
Limited attention and experience (Score:5, 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.
Competing goals (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.
Re: (Score:3, Interesting)
"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."
That strategy would still create bot-like behavior; programmed correctly, a bot will find an "ideal" solution to a constrained problem. This isn't how humans work. Humans aren't just random number generators attached to optimizers. In fact, the score function of the typical game engine (like chess) works almost
Re:Competing goals (Score:5, Insightful)
I agree with this totally. One of the bigger reasons some players fail at a game is that they aren't actually playing the same game as everyone else.
What I mean is illustrated by some post I read once where some jerk, who was also a rather good player, laid it out bare:
Many people don't play the game. They invent their own little rules for what is "fair" or "better" or "morally right". This handicaps them. You win by playing the game and using all of your abilities and all of your assets to do so, no matter how "cheap" or "skill-less" they seem to you.
If the game makes it so that some skill does more damage for less effort, but you prefer to use another skill because it seems "cool" to you, or you liked the animation or whatever, you deserve to lose.
The one thing that this illustrates is that a computer also tends to have clarity of purpose. They are programmed to kill you. That is what they do. They aren't there to smirk or taunt you (unless that's in the script). They will not dance around or try and add finesse to their moves to look cool. They use the most efficient moves or actions to kill you. Or, sometimes, they only get a certain set of moves, but they are scripted to execute them in a certain manner.
So, basically, by giving your NPCs a "personality" where their goals aren't to strictly kill you with Terminator-like focus, but perhaps to simply make you look bad, or use some moves that *they* think are cool, which really aren't all that useful, you can make them a bit more "human".
The problem with most mobs is that you already know their motivation, so knowing what they will do next is actually rather easy to figure out. So, if you "cheat" with their AI, it becomes apparent to players that you either buffed or nerfed them artificially.
If your mobs act in a manner where they are believably foolish, its a lot easier to handicap them and have a player believe that the handicapping is their lack of "skill", rather than you simply giving them less hit points or some absurd lack of resistance to one damage-type.
Stupidity is a component of intelligent behavior. (Score:5, Insightful)
And vice versa.
One thing that is stupid: trying the same things that failed in the past.
This is a component of smart behaviors as well. If you don't know what to do, try something and watch very carefully how it fails. If you are in a desperate situation and you are going to definitely fail through inaction, then try an action which failed in the past and hope you get lucky. Or vice versa, when the action that usually works looks like its going to fail, try doing nothing.
Animals freezing in the face of danger is an example of this. It's not much of a defense, but you might get lucky. Maybe the prey a couple animals down the line will get itchy and draw the predator's attention.
On the other hand, smart behavior can be a component of stupidity. If the red button gets you a treat 80% of the time and the green one gets you a treat 20% of the time, the intelligently stupid thing is to push the red button 100% of the time. The stupidly intelligent thing is to try to work out the pattern of red/green rewards.
If you want realistic model of stupidity, provide the NPCs with a range of decision making strategies, all of which work to some degree, but the better of which take more effort (computation). The NPC can choose between the strategies with a random function weighted towards the better strategies, but as time and "stress" come into play the function can shift towards the easy but less effective strategies.
That's a pretty good model of human performance "choking".
Evolution did not produce human stupidity because it was useless, after all.
F.E.A.R. (Score:5, Insightful)
They did this through heavy use of waypoints and scripted events. If that's what you have to do to make it realistic, then by all means, do it.
Re: (Score:3, Informative)
FEAR gained it's AI from using a planner to string actions together to reach some kind of goal.
It's not the waypoints or scripted events that make it special, every shooter has those.
In short a character in FEAR consists of a set of actions (shoot, dodge, open door, jump through window, etc..., etc...) and a set of goals (kill player, survive, stay in cover).
Each action has a number of pre- and post-conditions, just like functions have in (formal) programming. Actions also have a cost. A searching algorithm
NP-tard? (Score:5, Funny)
Do we have programmers that are smart enough to program stupidity algorithms to be smart enough to be as stupid as humans?
Here's what I'd like (Score:5, Insightful)
A computer that plays on equal terms.
AIs often win in some games not by the virtue of being smarter, but by having an unfair advantage. Examples:
My suggestion: An AI should be coded as a bot, within the constraints given to the player. If the player can only see a part of the battlefield (like in Starcraft) then the AI should have the same limit and need adjust its own viewport to gain awareness of an area. It should also be limited by the fog of war, and lack the ability to see out of the back of its head. To put in another way, a fair Starcraft AI would be one implemented with a camera pointed at the screen, controlling only the keyboard and mouse inputs.
The idea is that I want to be beaten because the AI is indeed smarter, not because it's got a superior access to the battlefield I can never gain.
Chess probably comes closest to the sort of thing I want -- the AI and human are fighting on very equal terms. I don't see the calculating millions of positions a second as a problem, that's simply an implementation detail.
Re: (Score:3, Interesting)
My suggestion: An AI should be coded as a bot, within the constraints given to the player. If the player can only see a part of the battlefield (like in Starcraft) then the AI should have the same limit and need adjust its own viewport to gain awareness of an area. It should also be limited by the fog of war, and lack the ability to see out of the back of its head. To put in another way, a fair Starcraft AI would be one implemented with a camera pointed at the screen, controlling only the keyboard and mouse
Re: (Score:3, Interesting)
That's just a bad implementation. There's no reason why an AI couldn't ocassionally spend a while to look at its territory. Also, the human player u
Gran Turismo 2 had this (Score:4, Interesting)
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.
Planning vs. execution (Score:3, Insightful)
That particular game programmer happens to have worked on games where perfect execution is possible. In chess, "execution" is moving the pieces; in poker, it's moving the cards. The game engine is expected to perform those operations perfectly. There's no "friction" (in the sense that Clausewitz used the term) in such games.
That's not true of a combat game. Weapons have finite accuracy, as do humans; sometimes there will be a miss even if the shooter, human or AI, did everything right. Weapons can jam (America's Army simulates this.) Running characters don't necessarily follow their planned path; bumps on the ground and slippery spots can interfere. The AI has to face those limitations, too.
Of course, if you make it too real, some kinds of games are unplayable. You can't really drive a car very well with a game pad or joystick. (Watch people driving R/C cars that way. They crash every few minutes.) In most console driving games, the CG of the vehicle is below the ground, to make the thing unreasonable stable.
In my ragdoll-physics days, we'd made enough progress that a two-person martial-arts fighting game with real physics looked feasible. Then we realized it would be unplayable. "Your throw failed because your left foot was out of position. Further to the left. Again!" "Yes, sensi." Real physics in a fighting game would make gaming feel like a bad day at the dojo, although without the bruises. Most of your moves wouldn't work. A game with a learning curve like real martial arts, where you train a few times a week for a few years before you're any good, would never sell.
Truly realistic (Score:4, Interesting)
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.
Artificial Stupidity. (Score:3, Interesting)
It's interesting that in order to create better AI, we need to create Artificial Stupidity. Some would argue that is already all around us.
The beautiful never never statements (Score:3, Funny)
mistakes that are so stupid, no human would ever make them.
Really? That's a bet I would like to be on the other side of.
Someone needs to get out and mix in the general population.
Re:So stupid no human would do that? (Score:5, Funny)
Hmmm. Possibly this is a sign that TFA was written by an AI agent. Asserting that there are mistakes that are too stupid for for any human to make is a mistake that is too stupid for any human to make.
Re:So stupid no human would do that? (Score:5, Funny)
Asserting that there are mistakes that are too stupid for for any human to make is a mistake that is too stupid for any human to make.
HA! I see through your ruse!