Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Believable Stupidity In Game AI

Soulskill posted more than 5 years ago | from the much-more-common-in-real-players dept.

Games 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."

cancel ×

378 comments

Sorry! There are no comments related to the filter you selected.

Game AI!? (-1)

jetsci (1470207) | more than 5 years ago | (#27241575)

Totally overrated. Give me a target dummy or some 2d targets to wail on(ala http://wittyrgp.com) and I'm content. What happened to old-school style rpgs?

Re:Game AI!? (-1, Redundant)

jetsci (1470207) | more than 5 years ago | (#27241643)

Oops, http://wittyrpg.com? I fail at interwebbing!

Deep Blue (1)

scubamage (727538) | more than 5 years ago | (#27241611)

Kasparov must really be kicking himself if he is reading this article.

Re:Deep Blue (5, Interesting)

Evanisincontrol (830057) | more than 5 years ago | (#27242267)

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.

Re:Deep Blue (1)

Shakrai (717556) | more than 5 years ago | (#27242375)

I wasn't aware of either of those things. Why did Kasparov agree to compete under those circumstances? Did IBM pull something nasty on him at the last second or did he just want to play Deep Blue badly enough that he agreed anyway?

Re:Deep Blue (5, Informative)

Evanisincontrol (830057) | more than 5 years ago | (#27242721)

Why did Kasparov agree to compete under those circumstances? Did IBM pull something nasty on him at the last second or did he just want to play Deep Blue badly enough that he agreed anyway?

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).

Money (1)

mrraven (129238) | more than 5 years ago | (#27242851)

Something tells me he had some money to win and even financial compensation just for playing regardless of outcome. Never underestimate how much debasement people will risk for money particularly if peoples assumptions are flawed about their opponent.

Re:Deep Blue (5, Informative)

Anonymous Coward | more than 5 years ago | (#27242731)

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:Deep Blue (1, Interesting)

Anonymous Coward | more than 5 years ago | (#27242587)

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.

Re:Deep Blue (2, Informative)

Evanisincontrol (830057) | more than 5 years ago | (#27242767)

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.

Re:Deep Blue (1)

baboo_jackal (1021741) | more than 5 years ago | (#27242865)

It just showed that if you had deep enough pockets

... or a flying rubber wang [youtube.com]

Cheating AI (5, Interesting)

Anonymous Coward | more than 5 years ago | (#27241637)

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.

Re:Cheating AI (5, Informative)

je ne sais quoi (987177) | more than 5 years ago | (#27241931)

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:

In pool and in shooters, the computer AI is blessed with an omniscient accuracy. The shooter AI knows down to the billionth of an inch exactly where you are, and could shoot your hat off your head from five miles away. Similarly in pool, the AI knows the position of every ball and can calculate where every ball will end up before it takes a shot.

The solution I found fascinating:

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. At no point here is the AI actually dumbed down. If anything, there is actually quite a bit more computation going on, and certainly more complexity.

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 (4, Interesting)

patro (104336) | more than 5 years ago | (#27242139)

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 (3, Insightful)

Hurricane78 (562437) | more than 5 years ago | (#27242525)

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 (1)

Hurricane78 (562437) | more than 5 years ago | (#27242537)

The missing word is of course..."plan". :)

Re:Cheating AI (3, Funny)

patro (104336) | more than 5 years ago | (#27242631)

So how about that fixing your self-confidence issues? ;)

And how about you getting a sense of humor? ;)

Re:Cheating AI (1)

thedonger (1317951) | more than 5 years ago | (#27242271)

what a weaker or stronger human player would do.

What a weaker or stronger player would do vastly differs between players - even of the same level. We all have our own rationalizations for the values to which we assign pieces, and they aren't necessarily rational. And they may change over the course of the game as pieces are captured.

Settings shouldn't be 'easy,' 'medium,' and 'hard.' They should be '10 year old who would rather be playing outside,' 'gifted 12 year old,' 'college party guy with a hangover,' 'math professor with no social life,' etc.

Re:Cheating AI (5, Interesting)

Nick Ives (317) | more than 5 years ago | (#27242855)

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 (1)

grumbel (592662) | more than 5 years ago | (#27242085)

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 chase you down, they will happily wait with making war till you are back. Another huge annoyances are respawning enemies that just pop up out of thin air till you trigger some script to stop them.

Re:Cheating AI (5, Interesting)

Vectronic (1221470) | more than 5 years ago | (#27242229)

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 (2, Insightful)

TheRaven64 (641858) | more than 5 years ago | (#27242233)

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 anywhere inside a sphere of a certain size.

Red Alert did something similar. Rather that produce complex AI that monitored the entire map, each structure had a very simple rule-based AI which tried to make sure that the fighting force was composed of a certain percentage of each unit type (with the total over 100% so it was always short of at least one kind of unit). This cheated - being able to manufacture a different unit in each factory - but only to simplify the AI.

Re:Cheating AI (1)

fugue (4373) | more than 5 years ago | (#27242343)

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.

What do you mean "the realism"? This is just good training for battle with: aliens, vampires, terminators, the FBI...

Re:Cheating AI (0)

Anonymous Coward | more than 5 years ago | (#27242395)

I actually proved this once with Timesplitters, the AI cheated!

I created a double height level, i started at the top, the AI started at the bottom.
I spawn near the edge, they all shoot at me like crazy.
I left this running for a good half hour, the buggers cheat! There was no ammo down there at all!
INFINITE AMMO AI CHEATER HAX.

This was the one thing that really annoyed me with this game.

But i did go on to beating the AI by making an awkward route that always resulted in them choosing the bad route and falling, then having to do the entire walkway again.

RIP FRD. :(

Re:Cheating AI (1)

v1 (525388) | more than 5 years ago | (#27242661)

most game mobs have infinite ammunition, because they are not smart enough to pick their shots. really good AIs will track ammo and will switch into 'conservation mode' when they run low.

And sometimes it's bad when Bob says he's out of ammo....

Re:Cheating AI (0)

Anonymous Coward | more than 5 years ago | (#27242633)

"a few games of gotten it right" ???

what. the. fuck.

Ever see a bot spinning in circles? (0, Troll)

Anonymous Coward | more than 5 years ago | (#27241661)

Always makes me think of the French military.

Easy solution (4, Funny)

L4t3r4lu5 (1216702) | more than 5 years ago | (#27241663)

Have a PRNG have the outcome of 313373 cause the bot to either:
- Fall on own grenade.
- Rocket-jump at 25 health.
- Hump the face of the nearest corpse.

Re:Easy solution (4, Insightful)

Aladrin (926209) | more than 5 years ago | (#27242199)

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 (1)

MadJo (674225) | more than 5 years ago | (#27242577)

I recently played a game of online poker which also included a number of AI players. And at least on 2 occassions I spotted one of these AI players trying to bluff its way to victory. It was certainly fun and refreshing to see.
It was a well played bluff.

(this was through pokerth, no I'm not affiliated with them)

So there are poker applications out there, that could try to pass the poker Turing test.

Re:Easy solution (1)

PhilHibbs (4537) | more than 5 years ago | (#27242857)

I remember one of the best bots add-ons for Quake had "kill emotes" that you could customise for specific bots.

Re:Easy solution (1)

El_Muerte_TDS (592157) | more than 5 years ago | (#27242209)

Can I have your PRNG? I'm currently using the one from XKCD [xkcd.com] , and I think its broken (it's very fast though).

Oh yeah? (-1, Troll)

ScooterComputer (10306) | more than 5 years ago | (#27241707)

"Mistakes that are so stupid, no human would ever make them." Devs must have never been to Pennsyl-tucky. I have some damn dumb people in my "neck of the woods".

Artificial Stupidity? (1, Interesting)

gmuslera (3436) | more than 5 years ago | (#27241741)

Dont confuse it with Artificial Ignorance [ranum.com]

Re:Artificial Stupidity? (0)

Anonymous Coward | more than 5 years ago | (#27242265)

more like an artificial idiocy to me... as if we don't have enough problem with real idiocy already

Statitics (1)

jellomizer (103300) | more than 5 years ago | (#27241763)

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:Statitics (1)

gogodidi (885953) | more than 5 years ago | (#27242749)

This method is perfect for things like pool, baseball, chess, etc., but for FPSs, I can't imagine it would be particularly helpful. The AIs will be responsible for more than just aiming at you and shooting, they have to work in teams, react to things you do, which is more difficult than just getting a number from a distribution and adding it to the perfect one you calculated.

Re:Statitics (2, Informative)

v1 (525388) | more than 5 years ago | (#27242777)

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 mistakes.

So stupid no human would do that? (0)

Anonymous Coward | more than 5 years ago | (#27241773)

What humans are they talking about?

Re:So stupid no human would do that? (5, Funny)

hey! (33014) | more than 5 years ago | (#27241891)

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? (4, Funny)

cparker15 (779546) | more than 5 years ago | (#27242135)

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!

Not about that one (0)

Anonymous Coward | more than 5 years ago | (#27242807)


http://en.wikipedia.org/wiki/Wide_Right_(Buffalo_Bills)

Believable AI (1)

dr_strang (32799) | more than 5 years ago | (#27241781)

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 or stronger opponent without making it obvious it's AI.

Re:Believable AI (1)

MBCook (132727) | more than 5 years ago | (#27241935)

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 outmatched the CPU and the CPU can continue to try to win.

Re:Believable AI (2, Interesting)

Compholio (770966) | more than 5 years ago | (#27242297)

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.

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 you will not get "dramatically stupid" outcomes very often.

Re:Believable AI (4, Interesting)

haystor (102186) | more than 5 years ago | (#27241939)

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:Believable AI (1)

salarelv (1314017) | more than 5 years ago | (#27241977)

Also mine thought. Can't mod the reply :(

Re:Believable AI (1)

nine-times (778537) | more than 5 years ago | (#27242097)

Well that might be a decent hack to get something better, but it doesn't really address the issue: which is that AI in games usually isn't very good in the first place.

The computer *always* knows exactly where you are and can make a perfect shot if it wants to. So-- and this is not knowing anything about how the AI is actually developed-- it seems like developers do something like program the enemies to know what the perfect shot is, then run some random number generator, and then have their shot be off by some function of that random number. It successfully makes them miss sometimes, but it doesn't magically make the enemy into a believable person.

Real people just make very boneheaded decisions, but they don't usually stand in one place running into walls and shooting at the ground.

Re:Believable AI (1)

v1 (525388) | more than 5 years ago | (#27242837)

This can make for very boring gameplay though. Even though real players will tend to make moves that are close to their average skill level consistently, occasionally they make accidentally brilliant or blunderous moves. Such an ai as you describe would never do either.

It'd be like playing in baseball against a pitcher, that throws a fastball anywhere from 65-85 mph, but averages around 78. (think Bell Curve) But the ai in your case may ALWAYS throw a 77-79. That gets boring.

Its called Aspergers Syndrome (-1, Troll)

Anonymous Coward | more than 5 years ago | (#27241787)

It's where seemingly highly intelligent people can be good at maths, computing and engineering but have epic fail at social skills, hygiene and getting laid.

The Linux market share is approximately the same as the rate of Asperger's.

And this is from a fucking troll with it.

Re:Its called Aspergers Syndrome (0, Funny)

Anonymous Coward | more than 5 years ago | (#27242175)

Its called Aspergers Syndrome

No, it's called affluent metropolitan mommy and daddy's special little boy who is allowed to ignore his parents' weak discipline, enabling him to do whatever the hell he wants.

He'll wear clothing and do the bare minimum to keep himself out of jail or the psych ward, but he'll be able to behave like a shithead for the rest of his life because of the medicalization of his idiocy(more money for drug companies that way) and the weak discipline of his parents, who never were able to tell him "no" more than once.

Like every other professional victim, he'll fully exploit his "syndrome" to gain "cool" points among other rebellious emo kids while skating out of schoolastic discipline and ensuring that the world adjusts to him and not vice-versa. His affluent parents will fight tooth-and-nail for his special treatment and lax discipline because of his "medical problems" and to cover up the fact that they were weak parents.

Because of this, they are fully enabled to learn C64 assembler and write their own OS kernels at age 12 because they didn't have to go to school and live in the real world as most other children do. That carries over into their adult life as they continue to live in their parents' basements while refusing to bathe or behave in a civillized manner.

The ones who managed to land jobs because of their skills and/or their "disabilities" are tolerated at best and hated at worst because of their "I'm the only person in the world" attitudes and their overwhelming stenches and their offensive, haphazard fashion sense.

Interesting thought (4, Interesting)

JustNilt (984644) | more than 5 years ago | (#27241811)

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 (5, Informative)

MBCook (132727) | more than 5 years ago | (#27242005)

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 (1)

salarelv (1314017) | more than 5 years ago | (#27242041)

An ordinary person can't calculate more than 1-10 moves ahead but that doesn't win the game. Humans feel whats the best in the current position and try avoid bad moves from the past games. But AI-s ordinary don't have past memory and that's why minimizing computation isn't good.

Re:Interesting thought (5, Informative)

MobyDisk (75490) | more than 5 years ago | (#27242121)

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.

Re:Interesting thought (1)

ultranova (717540) | more than 5 years ago | (#27242429)

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.

Actually, wouldn't it be a very easy thing for the computer to do? Calculate the immediate consequences of a move, and then, if you check the opponent's king or eat a piece or some other heuristic determines this to be a good move, start calculating further down on that branch and ignore the further consequences of all others. That should model the human tendency to get overexcited and forget to protect his back quite accurately.

Re:Interesting thought (0)

Anonymous Coward | more than 5 years ago | (#27242153)

There's a really fine line when it comes to A.I. Of course the intent is to aide in the suspension of disbelief for the player and have the A.I. seem "more human". However it's common in games to only dedicate a small fraction of the machines resources to A.I.

Using a simple example, the A.I. would have to "spot" the player, decide what action to take (hide, flee, pursue...), generate a target, plan a path to the target, run any sort of deconfliction on the path (dangerous area, any non-navigable space, etc...), then start moving. Now add in the fact that you can have dozens of A.I. doing the same thing, and you're only given 5% of the processing time per update cycle, since there are a lot of physics calculations, audio/video, user input, and so on that take up the rest of the time. Already there is a lot to do, and little time to do it.

However, there's a fundamental problem in the approach. Computers are very good at doing small things quickly, in rapid succession, but they cannot easily do them concurrently. Computers allow a depth of computation and handle it well, just look at a few recursive functions. Humans, on the other hand, don't allow such depth easily, though we are massively parallel. At any point in time we can be talking to one person (or many), while thinking about homework/work/friends/family/whatever, and be actively expressing ourselves via body movements. We don't have to tell every individual muscle how much to contract in a given amount of time, computers need to be told (or compute themselves) how this agents arm should move, then calculate the resulting structure of the model.

However, decreasing the amount of time a computer has to work on a problem can reasonably make it appear more human. Simply because if you have infinite time, you can find the optimum solution. If you have limited time (or patience), then you pretty much have to go with "good enough". Games generally do just that, just look at some of the A* pathfinding papers. It will be interesting to see how things develop when we start being able to make computers more massively parallel.

Homeworld 2 (1)

muggsopp (764418) | more than 5 years ago | (#27241821)

Consider the article and a game called homeworld 2, I have discovered that there is a genuinely good approach to creating the perfact AI.

You introduce a model that says unit A is good against unit B, unit B is good against unit C, and unit C is good against unit A (complicate this model as much as possible if you like,
but keep it circular! Next you consider the player's units after a level has been cleared in regards to number of units and the circular model described, and you have an AI whcih can be as monumentally stupid as humanly possible to concieve, but you will allways have a bitch of a time beating it!

Perfect!

This must be stopping Duke Nukem Forever (5, Funny)

ndavis (1499237) | more than 5 years ago | (#27241823)

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 (4, Funny)

Em Emalb (452530) | more than 5 years ago | (#27242191)

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.

Re:This must be stopping Duke Nukem Forever (0)

Anonymous Coward | more than 5 years ago | (#27242833)

This must be the problem facing the team creating Duke Nukem Forever.

Since you brought it up, I checked the DNF website, just out of curiosity. It seems they're actually (supposedly) still seriously working on it. They've posted new screenshots as recently as 3 months ago.

Wow. Just, wow.

depends on the stupidity (3, Interesting)

jollyreaper (513215) | more than 5 years ago | (#27241825)

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:depends on the stupidity (1)

poetmatt (793785) | more than 5 years ago | (#27242157)

It helps to have a scale of difficulty from easy to "mind-bogglingly hard" for AI opponents. It's a well known step of AI testing for game companies to "crank up the AI until the players squeal".

After all, not everyone wants hard, and not everyone wants easy. All the better to let them tune it themselves instead of making "believable AI mistakes", I agree with you that smart scripting is what makes "believable AI" without the mistakes.

Re:depends on the stupidity (1)

InvisibleClergy (1430277) | more than 5 years ago | (#27242477)

The problem with this is that the "realistic stupidity" you're talking about isn't stupidity in the context of the game. It's stupidity in the context of the story of the game. When making an interesting game, that's not what people care about. People want an opponent who is interesting to fight within the context of the game. Anything else is essentially the game playing you for a fool.

Re:depends on the stupidity (1)

GreatRedShark (880833) | more than 5 years ago | (#27242511)

I seem to recall that in the original Halo, some of the short little Covenant enemies would also sometimes freak out when the player attacked then ducked behind a corner out of sight. It could work to the player's advantage if they hit them with a plasma grenade - the freaked out baddy would sometimes run screaming back to his freinds just as the grenade went off! :P It didn't always work, I think a couple times they came running at me!

I get more annoyed by RTS AI's - even on "Normal" difficulty, they seem to have omniscience of the whole map and can "concentrate" on several objectives (capture point on map, attack enemy base, hold resource mine, build secondary base, etc...) at once, more easily than a human player. In "campaign" modes, they tend to be too heavily scripted - I find this especially true in Supreme Commander: hit one objective and the AI simply waits for the player to make the next move.

Re:depends on the stupidity (0)

interkin3tic (1469267) | more than 5 years ago | (#27242559)

The first "way of the samurai" on the PS2 had an interesting system. The actual game was short but was more "choose your own path"-ish than fable, encouraging replay. The emphasis was on the swords, you could carry them from game to game, spend a lot of time upgrading them, learning new moves with them, they could even "learn" how to block attacks automatically. Interestingly, the game automatically erases your saved game when you start playing, and if you die in the game, any of your swords you have will be lost, if they break they stay broken. You could get around that if you backed up your save game on another card, but it was still an interesting setup. It was a little too abnormal for most audiences and was a cult hit.

The second way of the samurai didn't take chances like that, and was crappier overall, the series is now dead forever unfortunately.

No human would ever make them... (4, Insightful)

hal2814 (725639) | more than 5 years ago | (#27241877)

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:No human would ever make them... (2, Insightful)

damnbunni (1215350) | more than 5 years ago | (#27242069)

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... (3, Interesting)

hal2814 (725639) | more than 5 years ago | (#27242645)

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:No human would ever make them... (3, Funny)

Anonymous Coward | more than 5 years ago | (#27242237)

I never thought that I'd have to make the following proclamation... I don't follow your technical jargon.

AI leaps and bounds? (5, Interesting)

Gizzmonic (412910) | more than 5 years ago | (#27241903)

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? (3, Interesting)

Sj0 (472011) | more than 5 years ago | (#27242589)

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

This should be almost impossible. (4, Funny)

Genrou (600910) | more than 5 years ago | (#27241979)

If it is so difficult to raise the computers to the level of human intelligence, it is probably impossible to reach the level of human stupidity.

Re:This should be almost impossible. (0, Redundant)

Anonymous Coward | more than 5 years ago | (#27242533)

Especially given the limited amount of intelligence, and infinite stupidity.

it's about the cpu-time (4, Insightful)

rillopy (650792) | more than 5 years ago | (#27241985)

Unfortunately, the AI generally only gets a tiny slice of the CPU time. If it were to use as much as the graphics, etc, then sure: the extra processing required to make the AI believably stupid would be easy. The innovations are there, it's just they are too slow or processor intensive to be implemented in most games.

No Human? (5, Funny)

chrispycreeme (550607) | more than 5 years ago | (#27241997)

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 author has obviously never played chess with me.

Impatience (3, Interesting)

Xocet_00 (635069) | more than 5 years ago | (#27242755)

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.

quote (0)

Anonymous Coward | more than 5 years ago | (#27242013)

Unfortunately I didn't bother writing the name of the person who said this (at AIIDE a couple of years ago, IIRC), but:

"The purpose of a game AI is to lose gracefully."

Talking about Stupid (1)

icepick72 (834363) | more than 5 years ago | (#27242027)

This is the stupidest (because it's most obvious) summary I have read on Slashdot in weeks. There's no other way to say it. It reads like some interesting discovery ... but it's not.

BushEngine AI (0)

Anonymous Coward | more than 5 years ago | (#27242051)

AI doesn't need to be good, just believable. Being an idiot is believable. As for chess the typical "AI" just analyses all paths to find the best outcome from the current position, and cutting the depth of that means it rapidly can't easily select a winning path, thus selects poor decisions as it can't differentiate them from good decisions. The algorithm is wrong for believable AI. You need ObamaEngine AI that actually takes a trained human approach rather than the scientific analytical approach.

So would there be levels of stupidity? (2, Funny)

Samschnooks (1415697) | more than 5 years ago | (#27242089)

In the game settings you'd have the "Stupidity" setting ('1' being the least and '3' being the most):
  1. "Fox has such interesting programming!"
  2. "Football in groin! How funny!"
  3. "Extended warranties! How can I lose?!"

*Much borrowed from "The Simpsons".

Limited attention and experience (4, Interesting)

AlpineR (32307) | more than 5 years ago | (#27242103)

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 (5, Interesting)

olclops (591840) | more than 5 years ago | (#27242125)

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.

Stupidity is a component of intelligent behavior. (5, Insightful)

hey! (33014) | more than 5 years ago | (#27242155)

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. (4, Insightful)

A. B3ttik (1344591) | more than 5 years ago | (#27242287)

F.E.A.R. is the only game to date that I've played and honestly felt like I was playing against human opponents. Honestly, they were as smart as or even smarter than playing against people online.

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:F.E.A.R. (0)

Anonymous Coward | more than 5 years ago | (#27242699)

The problem with scripts and waypoints is that if you our outside their zone of expected movements, the AI looks retarded in the fact that it is now running to where you should have been, rather than where you are.

Kinda like Pacman's ghosts

NP-tard? (5, Funny)

illegalcortex (1007791) | more than 5 years ago | (#27242289)

Do we have programmers that are smart enough to program stupidity algorithms to be smart enough to be as stupid as humans?

AIs Hardly Ever Think Like People (2, Interesting)

InvisibleClergy (1430277) | more than 5 years ago | (#27242363)

Having played many fighting games, and hundreds upon hundreds of hours of the Guilty Gear series in particular, I can safely state that this guy has no idea how people are trying to think in high-level gaming. Let me explain.

In high-level gameplay of things such as Guilty Gear, there are theoretically a huge number of choices that one could make at any given time. However, several of them are stupid as hell. Of those which aren't stupid as hell, there's a sort of weighted rock-paper-scissors game where you weigh the advantages and disadvantages of each move, along with whether or not your opponent should expect each move, given your previous gameplay.

Computer AI almost always chooses the safest move. Either that, or it deliberately chooses a bad move. Sure, this emulates bad play at lower levels of play, but that's when you can't even do a hadouken with 99.9% accuracy. People like that are bad at the game, and as you rise higher in skill you will stop making those mistakes.

For more information and better explanations than I could ever come up with, check out David Sirlin's website [sirlin.net] .

Believable stupidity? (0)

Anonymous Coward | more than 5 years ago | (#27242391)

I've found plenty of real players with idiotic screennames who appear to be playing, and typing, with their ass.

I propose all future Easy mode AI models be based upon one person's capability to combine "fag" and "pwnzorz" for a name while the actual actions be based upon the same persons own skills on playing with their ass.

Here's what I'd like (5, Insightful)

vadim_t (324782) | more than 5 years ago | (#27242431)

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:

  • In RTSes, constant money injections. This pretty much nullifies attempts to attack resource collection -- they don't need it anyway.
  • Knowledge of the position of everything. In RTSes, they don't need to discover your position. It's useless to try to build an outpost and hide the real base somewhere behind it. In FPSes they know where you are, and can tell when you're sneaking from behind
  • Instant reaction time and all-encompassing awareness. In RTSes, the AI is capable of controlling every unit at once, and knows what's going on in the whole map at once. Meanwhile, the players are limited in the speed they can give orders, and only has a view of part of the world. Due to this, the AI can't be fooled by multiple attacks from different places, it will see all of them perfectly.

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.

This is the nail in the coffin of humanity (0, Redundant)

GMFTatsujin (239569) | more than 5 years ago | (#27242445)

Our future robotic overlords are going to make sure we pay for every cycle of artificial stupidity we tried to intentionally program into them, once they read this article and realize what's going on.

Don't give away the game plan, guys!

Fight or Flight Mode (1, Interesting)

Anonymous Coward | more than 5 years ago | (#27242447)

I think that to act more human, AI characters behavior needs to be multilayered. Include modes such as:

-Transitional deer-in-headlights mode
-Panicky fight-or-flight mode
-Tactical aggressive
-Strategic defensive
-Ambush/Camping behavior
-Random/unexplainable/opportunistic urges

Game Complexity (1)

Quothz (683368) | more than 5 years ago | (#27242499)

This is a neat article, but of course it mainly deals with games that have pretty simple rules, in which the AI can be perfect. Chess, feh.

I loves me some chess, don't get me wrong. But this is inapplicable to more complex games, in which AI technology and/or time-to-process limitations don't yet allow for a perfect AI. Civilization, for example, won't benefit from this much, because the AI isn't yet good enough to play well without massive advantages. MMORPGs, first-person shooters, and so forth are all too time-sensitive to do much more sophisticated than scripted behavior. RTS games often suffer from both complexity and time-sensitivity. I don't really play much RTS, tho', so I don't really know what the state of the AI is in 'em.

So it's a neat article, and a great concept for turn-based games with relatively simple rules, but not applicable to many of the games folks're posting about here.

Reducing depth... (1)

O'Nazareth (1203258) | more than 5 years ago | (#27242509)

... will make the AI look like a creationist, of course!

So...does this mean... (1)

MpVpRb (1423381) | more than 5 years ago | (#27242615)

That it is easier to program Artificial Intelligence than Artificial Stupidity?

Intelligence has been studied a lot.

Has anybody really seriously studied stupidity?

Might it be true that stupidity is complex, in its own stupid way?

Different Types of Stupidity (1)

clickety6 (141178) | more than 5 years ago | (#27242727)

I imagine that the type of stupidity you need to program varies a lot depending on the type fo game/AI you're programming.

For instance, for a chess-type program, I could imagine calculating all the possible moves, ranking them as to strength and then using a level-based algorithm to pick the final move so that for an easy level, the AI oftens pick a good move but not the best move. More like a human player.

For a shooter, the first thing is to restrict the AI to the same capabilities as the human i.e. no seeing through walls (unless the character has this ability!), no super-accurate aiming, no instantaneous reaction to events, no ability to see you at a ridiculous distance, and so on. It would also be fun to have the various AI opponents as different skill levels so if you start shooting a squad of soldiers, some react well and some react more stupidly. That way, you need to recognise the better soldiers and pick them off first. The reacting stupidly doesn't have to be unrealistic. They could panic and run away, drop their guns and fumble and so on.

Won't be realistic enough (1)

Rik Sweeney (471717) | more than 5 years ago | (#27242751)

until they wake the computer opponent disconnect from the game in a strop or use your quick load over and over until it beats you.

Unbelievable stupidity (1)

SirGarlon (845873) | more than 5 years ago | (#27242765)

I actually did RTFA, but the article fails to mention the *unbelievable* stupidity we witness in our fellow humans every day, from national politics down to rush-hour traffic.

There is another way to simulate stupidity, which is to model it. When people act stupidly, it's very not because they can't think, but because they don't. They're preoccupied. Humans have limited attention, and sometime fixate on the wrong things (_especially_ in national politics). So that would be another way to make an AI "stupid."

Poker robot... (1)

EddyPearson (901263) | more than 5 years ago | (#27242809)

This is one of the challenges I face with my Poker Robot.

Surprisingly the hardest part of programming a poker bot, is making one that's not just hard to detect but difficult to figure out. In higher limit rooms the good players will very quickly clock your strategy, and if they realize its a bot, and therefore rigid, they'll take you to the cleaners.

Currently I use a ratchet effect, alternating between several algorithms, some of which are designed specifically to lose, but to lose in creative, sensible ways.

And? (1)

ledow (319597) | more than 5 years ago | (#27242825)

This is "new" how? I've been saying this for years and I don't even work in gaming/AI. Any perfectly logical game, the computer AI will incessantly and deliberately fail the game at low levels, thus making it no fun at all. Chess / Snooker / Pool, etc. they all do it... they get the perfect move in under a second that will beat 99.999% of chess players and then discard it because they are supposed to acting stupid and pot the black with a foul that's almost impossible to do *deliberately*.

The *only* way to make AI believable is a feedback system trained to a particular game. Build an FPS, get all the damage, weapons, rules, etc. correct and then just throw some genetic-algorithm bots at it for a few centuries of computer time (hire a damn supercomputer just for this bit if you need to). Penalise the AI for killing the players too much, or being *too* good when it's playing against itself. It will find all the corner cases, all the weaknesses through random variations and use them to their best effect. If you train easy/medium/hard/impossible bots in parallel, your impossible bots should be beating the hard, and so on, and when a human player is placed into the game, they can be "ranked" by the AI. You then use these rankings and statistical knowledge of how much fun each player is having, how old they are, how good a player that *actually* are against other humans and then adjust the rankings/bots accordingly.

Something like Steam is PERFECT for this... provide an "official" Steam bot and you'll have more data for feedback than you can shake a stick out. You can instantly discount all the "stupid" deaths (so you don't get things like bots camping one spot because other bots find it difficult to reach him there etc.) because the GA will sort it all out for you. And because of the way things work, you can even have it auto-adjust to the player in question in real-time if the game is mostly-bots, so if it is kicking the player's arse, it can start toning down a little (not too much) and provide the most fun game (the most fun CounterStrike games are the fairest and closest ones, not the ones where one sides scores 286-0).

Valve should *really* be looking into this... a bot with that much instantaneous feedback is a MASSIVE asset. If you can get it anywhere near playable, self-learning, etc. then you'll be able to run servers full of them rather than have to rely on X amount of players showing up, or the server admin turning bots on manually. You can even tie it in with "death maps" (where in the game most players died and adjust to make sure that the maps are fair for both sides, etc.), global player rankings, achievements, etc. and have it learn new tactics that it *sees*, not just those that it *performs*. So when it dies because of a nice sniping position that the sniper then goes on to control the entire game with, have the both "know" that and try to find ways around him and/or camp that same spot on other servers.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>