The State of Game AI
Gamasutra has a summary written by Dan Kline of Crystal Dynamics for this year's Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference held at Stanford University. They discussed why AI capabilities have not scaled with CPU speed, balancing MMO economies and game mechanics, procedural dialogue, and many other topics. Kline also wrote in more detail about the conference at his blog.
"... Rabin put forth his own challenge for the future: Despite all this, why is AI still allowed to suck? Because, in his view, sharp AI is just not required for many games, and game designers frequently don't get what AI can do. That was his challenge for this AIIDE — to show others the potential, and necessity, of game AI, to find the problems that designers are trying to tackle, and solve them."
After all, publishers these days only care about churning out sequels quickly, so the so-called 'advanced' AI is basically just a computer versions of cheating player, instead of spending time on increasing the 'I' of the AI.
The one game that has always stood out in my mind as having great A.I. was Comanche Maximum Overkill. The original (386DX-40 era) DOS game actually advertised in the manual that if you repeat the same attack pattern for 30 seconds then the game would adapt, AND IT DID!
Imagine this scenario; you are in a helicopter hiding behind a hill. Whenever a bad-guy gets close enough, you pop-up above the hill, get a missile lock, fire, then drop below the hill. If you repeat this pattern long-enough (30+ seconds) then enemy copters will sneak up behind you and blow you up. I was always impressed at this "Learning A.I." as opposed to what most computers games do.
RTS/TBS: build stuff quicker then you can and/or advance technology faster then should be possible.
FPS: Have 'super accurate' shots, higher health, bigger guns.
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
As someone who wanted to develop better AI for games, I'll say this : the state of AI didn't change because there is no customer need for it.
When AI becomes a selling feature, then it will be given more consideration by developpers AND allowed more resources by managers.
Which may be never, as it faces a tough adversary : the 'ooooh Shiny' whizz effect of graphics.
But does increasing the I of the AI actually make games fun?
:).
:).
The Problem that AI is supposed to solve in most Games is not "how to beat the human".
The Problem is "how to make it fun for the human".
Creating an AI that can consistently beat humans is not hard. Making it fun for most humans might not be so easy.
Fact is humans aren't that good at most games (amongst other things). You don't have to be very intelligent to be good at most games. How many of you can beat a computer at chess at high difficulty? How many people actually _lose_ in tic-tac-toe - I've seen more than a few
It's often not hard to make a computer extremely good at a game, at least good enough to beat most people. But does that make it fun?
In most FPS games, stupid humans want to be able to mow down _thousands_ of stupider computer controlled enemies - "against the odds". That's what makes it fun for them.
That's just not possible if the enemies start having a lot more brains. Then most players might have difficulty getting past the first 3 enemies
It's not that difficult to make an enemy FPS "bot" have superb tactics, coordination, timing etc. Especially if the map is pre-known (which is usually the case). You can code the tactics and heuristics in. If you hear the player in position X, group A enemies head to position Y and group B head to position Z, and bye bye player.
Imagine if enemies that are low in health kept running away and hiding, and then snipe at you from far away when they see that you are busy doing something else. While that might be more realistic, it might not be so fun eh? Who really wants realism in games?
At that rate the player can never pretend to be the hero he wants to be. He'll just be dead. And your game won't sell.
Same goes for RTS games, believe me, you don't have to make a computer cheat to beat humans - a computer can micromanage better than most humans.
Just ensure that basic stuff like navigation is better. Stuff doesn't have to be that smart, but at least they shouldn't be totally stupid - they should be able to walk around stuff without getting stuck - even a "dumb" animal can navigate open spaces better than many computer controlled stuff in games.
As a game developer myself, I can tell you one of the reasons why game developers often use finite state machines for AI instead of advanced neural networks that employ clever learning machine learning algorithms: It's orders of magnitude easier to analyze and understand (and thus debug and fix) how and why a FSM does what it does than a complicated neural network.
When you're making a game, you want results that are easy to predict and easy to schedule - if you decide to make advanced AI and train the NPC behaviors, it's hard to schedule and very hard to pinpoint and definitively fix a problem where one or more NPCs suddenly start acting extremely strange and un-human. And it's hard to fix if they become to clever.
It's one of those cases where simple models can get you most of the way, and it's more reliable and it's much cheaper to develop (in terms of processing time and implementation time).
Give me liberty or give me kill -s 9
1. I'll somewhat disaggree about RTS. Sure, in theory it sounds good, but I've yet to see a strategy game where the AI doesn't plain old cheat to stay alive.
Yes, it can "micromanage" better, in the sense of cycling through all units every frame or couple of frames. Sure, it can do a "for" loop better than a human. But actually allocate resources intelligently, apply smart tactics against a human who built in the unexpected place, etc, is where computers are still as stupid as it gets.
Again, we could argue about theoretically being easier to make them smarter, but way I see it, that's the basic rule of thumb: does it need to cheat? Does advancing in the storyline to face a new enemy, described as more cunning and ruthless, actually just mean the same retarded AI with a bigger pre-built base and more silos full of spice/tiberium/whatever and more reinforcements out of nowhere? Does it just mean that the new "cunning and ruthless" enemy just gets better units from the start? Does upping the difficulty actually just means that the AI gets even more money and a damage bonus, as opposed to just un-hobbling that supposedly super-AI a little?
If any of those are true, no, you have _not_ coded teh uber-AI and then dumbed it down for the player. You can claim to have a too smart AI when it can start just with a town centre and 2 peons, just like the player, and put up a better fight. And, oh, make it run just as long a way to the mines/geisers/spice-fields as the players, at that. Starting with 3 resource nodes in an already built base doesn't quite qualify as equal difficulty.
2. Yes, chess makes a good poster child, but that has had decades of real AI research into just that speciffic game, and at that by real AI researchers. A brand new game, with brand new rules, within 3 years, and with the cheapest team possible... heh... sorry. I can't take that seriously.
Most of the games so far have even trouble pathfinding, or keeping their flamethrower guys from frying their own team mates in front of them, etc. Or look at bigger scale strategy games, like Paradox's, where it takes several years of patching just to get the AI to no longer waste its whole army attacking Switzerland. And even then often the "fix" isn't as much AI, as just making fortifications randomly disappear in combat, so eventually the mountains around Switzerland just stop giving a defense bonus. You know, 'cause apparently 100,000 soldiers with rifles and grenades can demolish a mountain. And then invariably it becomes vulnerable in some other way, to some new exploit created by the previous fix.
3. Ditto for FPS. What the computer has as an advantage isn't really better AI, it's unerring accuracy. It's trivial to make a bot that never misses, and has faster reactions than any human, because it simply needs to calculate the angle and pretend it aimed accurately that way. It simply doesn't have the whole issue of moving the whole arm with the mouse, or the finite resolution of the mouse, or the whole lag of the pipeline from mouse to seeing the cursor move (the TFT alone introduces another 1-2 frames lag) which is already known to ruin one's accuracy because it lets you overshoot before seeing any results, etc.
Some cheat even further, by basically having eyes in the back of their head, or being able to see through walls, or just not having the issue of "does that 3 pixel tall figure over there look like one of our guys or one of theirs? Is it even a human?" It just doesn't have to parse an array of pixels, it already knows where everyone is. Even when you say "if you hear the player at position X", you're already cheating. A player can at most judge "I hear some footsteps in that general direction" (and even that at best in 30 degree increments), but not an exact position, nor know if it's a friend or foe or neutral there.
Give the computer a spread comparable to a human for the selected difficulty level, give it a similar lag in reacting and turning, and limit it to the exact same field of view, and that suppos
A polar bear is a cartesian bear after a coordinate transform.
my teacher who, seriously, spoke with a lisp.
I wish more FPS games had an AI that behaved like it did in FEAR. That single player game had a lot of replay ability for me just because the AI responded with logical tactics.
They hear you make a noise, they'll move in to flank you while a few of them keep you distracted.
IF they notice the grenade they'll take off and run, they don't just run when there is a grenade nearby. A few times I've seen them just stand there still like they didn't notice the 'nade land near them.
If you go hand to hand, they wouldn't always shoot you because they might hit their team mate (or were all dead/dying and couldnt shoot me possibly).
The list really goes on. For a tactical shooter the AI was phenominal. Fast forward to COD4, probably the best modern warfare shooter out (haven't touched FarCry yet). Some spiffy tactics are there but if you throw a nade, they run, and they basically don't miss your head.
It almost seems a step back in a lot of that game.
The secondary problem, as you alluded to, is that nearly every game uses a completely different system for representing the world. Different combat types, different terrain, different environments.
Which makes it extremely difficult to build upon previous work.
Wolde you bothe eate your cake, and have your cake?