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)
Granted we haven't seen great AI in some time, I still rather play people any day of the week.
RTS - People will do things unexpected and make mistakes.
FPS - People will "get lucky" and there is always fun in that.
the list goes on.
Until your A.I. can call me an asshat and actually MEAN it, I'd rather play people.
On a side note, once your A.I. can call me an asshat and mean it I want him unplugged...
omg...
metamod funny.
the main problem is that AI is HARD. like NP HARD. and its difficult to program so it goes in last. what would change it is a predefined AI library which can elarn and be plugged into multiple games like the havok physics engine. something easy, can be shoved in last and can learn.
Can take a hint on this. As much as I find standing on a vehicle with an NPC perpetually running at me entertaining it just shows sloppy work.
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.
Damn, this AI trollbot is growing pretty human-like. It could pass as a genuine web nut Scary tech.
Table-ized A.I.
Do we really want and AI that could hunt us down like dogs and kill us? We secretly like out AI to be dumb as a bag of rocks. Most games with "good" AI simply give the NPC a pre-programmed knowledge of the terrain, perfect accuracy, or the ability to soak up damage. If I were to make all things equal, I would give a game AI the same visual range, weapons, accuracy, and resistances as the player and then we'd see how smart it really is.
I have had extensive experience evaluating AI over the years. The best AI I've ever observed was the one where Carrie Underwood beat Bo Bice.
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.
Check out the OpenTTD NoAI branch. The AI for the original Transport Tycoon reacted quite badly to having its cheating turned off, and in OpenTTD generally sucks, even to the point of bankrupting itself sometimes. The NoAI branch is an attempt to make AI that don't cheat, and are incredibly good. An AI can always be made slower or stupider.
There have even been some experiments into building an interconnected rail network instead of sticking to point-to-point lines.
If there is anyone here who thinks they can program a good AI, I recommend you get involved.
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.
I think part of the issue is that methods of interactions with games are still fairly clunky.
Keyboards with lots of different buttons can take some time to navigate. Moving appropriately with mice is also not super efficient. Even special gaming devices for the PC are not that great. Game controllers for the Wii, Xbox 360, and PS3 are not super great either.
With controls for interacting with games that are not all that great, designing great computer AI that can potentially react as well as or better than a person would react if they were really in that environment is unfair to a human player.
my teacher who, seriously, spoke with a lisp.
I usually play FPS games ...
When I play single player, I usually finish the game in normal settings. I struggle finish it with anything higher.
When I play the same game online, I am usually one of the top players.
I would prefer to have friendly AI improved first and then go for the enemy AI
I believe the reason procedural dialogue is so behind all other forms of AI (also relating to turing tests) is that it is so unpopular among game designers. It has been neglected for deades with everyone preferring pre-scripted dialogue because they are too lazy to build a real language engine into their game.
I pop in the latest RTS and I have that initial moment of "ZOMG! BEST GRAPHICS EVER!!!" but once I scrape my jaw off the floor I see that the units are as dumb as ever. Same pathfinding problems that were around in Warcraft 1 and we're how many years later? Ultimately it just means I'm playing the same game as before with prettier graphics. YAWN.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
There are some good points about having AI enhance the fun for the player instead of greater difficulty or realism but there are still some genera of games that more difficulty and realism would be better. I use horror and survival games for an example. I've never found great interest in scripted monsters jumping out at you and then running mindlessly in your direction. I'd love to see a survival game were you have a sleek intelligent killing machine using opportunity and time to take you out, that backs off when in danger, and uses the environment to its advantage rather then yours. A game for example could be something like the first Alien movie. Lets see a horror/survival/puzzle game were you have to find a way off your ship in space, make crude probably ineffective weapons while being hunted down by a lone creature. The suspense alone could be huge if built with the right environment and right monster while just exploring. Why does a game need a large numbers of bad guys to mo down when with a great AI, level design, sound design and so on you should be able to have a good game with one?
Man, GNU Chess is one hard bastard.
Arsehole!!!
"AI capabilities have not scaled with CPU speed,"
SHIT! And here we all thought AI was based on CPU speed. How wrong we were...
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.
Because game AI developments don't give you pretty pictures, bullet point features or big numbers to put in the ads and on the box.
That having been said, I'd kill for 3D pathing that doesn't suck. If I need to do another escort mission with some idiot who can't walk around a boulder in the middle of the road, I'm going back to Tetris and I'm never leaving.
Funny you mention Tetris. Since 2001, most Tetris games have had pathing bugs. Look at how this T piece jumps into an F-shaped hole, which works in Tetris Worlds, Tetris DS, Tetris Zone, Tetris Evolution, Tetris Splash, and Tetris Party.
I liked the article. Some good bits in there, lacking in detail or a good algorithm like any AI article.
But I am going to euphemistically call the author a Jackass for the following:
For example, inside a classroom there would be one specific set of social norms if it's full, a different set if it's empty, and wholly unrelated reactions when being shot at.
Thanks. I've got this idea in my head about always think about your characters animating with adverbs. I'm feeling mildly inspired. Then you give me a visual of a classroom being shot at? Find another example quickly, you insensitive clod.
I've played a little OSS RTS game called Globulation 2, it sounds just like the game you describe. Even though it's unfinished, it's a lot of fun to play and, and to give these commands (such as "Make a building here", "Attackers stand here" etc). It suffers in larger/longer games when units trip over each other and starve to death, or cannot survive the trip from the battlefront to the inn, but I think these issues can be resolved.
Try it out:
http://globulation2.org/
From a cost-benefit standpoint, there's little incentive to make major improvements to the AI systems of the kinds of games that are popular now (first-person shooters, RTS's, sports games, etc.). The methods currently in use are well-understood and produce a reasonably fun playing experience. To build an AI in some more sophisticated paradigm (such as neural nets) would require a huge up-front investment of money and effort and would be a difficult proposition to sell to most game publishers when existing methods are good enough.
I think that game AI will blossom when AI itself makes leaps in other areas. I imagine a research team somewhere will come up with a fuzzy logic-based system that deals with some problem in science, industry, defense, or whatever, and someone on that team will think to him or herself, "hey, this has a fun side application!"