What Would You Like to See from Game AI? 272
jtogel asks: "As someone working in new (bio-inspired) AI research with an eye to applications in games, but within an academic setting, I often hear that game developers are not incorporating cutting-edge academic AI into their projects because it's too "risky" (they can't really predict how gamers would react), and because they don't see the point in it. As a gamer, and as someone who cares what gamers think, I am often surprised by the sorry state of current commercial game AI - it has hardly moved since the 1980s. However, maybe the problem is that no-one really knows what we want from game AI. Academics keep coming up with innovative AI technologies, but what we should we use it for? What do you think? What sort of intelligent behavior would you like to see in games, but don't at present? Which are the most obvious intelligence deficiencies of current NPCs that need to be fixed?"
Turing (Score:5, Interesting)
Let us take the simple game of tic-tac-toe (three by three) as our game space. Not too hard. Tic-tac-toe, checkers, cognac, are popular games that fall in this category. And when you use AI to its full advantage, the computer rarely loses.
As we move towards type II games, we see games like chess or go where the game space is too large to search but still 'algorithms' (or heuristics) can be defined that prune the tree space or match/strive patterns out of raw moves. Look up tables are also useful but not really "AI" in the strictest of sense.
A full fledged type II game would be something like Warcraft or a complex computer game in which the internal engine of the playing board (server in this case) has an innumerable amount of states that it can exist in.
The NPCs and AI in games like Doom or even Halo are still fairly simple. They rely on heuristics and Euclidean distances (conceptually within the game) to overcome their opponents. If they are faced with obstacles, they deviate from their path.
Now you ask me what I would like to see. I have very finite desires and I will list them here:
Horribly.
I can easily tell that I'm not playing another human.
Adapting (Score:5, Interesting)
Surprise! (Score:1, Interesting)
Look to FramSticks for an example (Score:5, Interesting)
Here is a great example of Artificial Life that generates truly unexpected behavior during runs. Perhaps this type of Alife simulation could be an inspiration for a new generation of game AI. Do not program a location and series of behavior patterns, instead make a population of AIs based on a variety of physical forms. Each form will have a limited set of possible movements within a the simulated world. It will need inputs in order to determine friend and foe, perhaps something similar to limited vision and hearing. It will need survival as a baseline goal. They will also need "food" of some sort. Perhaps the player or other, different, AIs can represent a food source. Give it some form of sex in order to reproduce its learned behavior through some genetic mechanism.
I suspect a hardware physics chip would help tremendously. But what I've seen of FramSticks was pretty damn cool. I have no idea how well it could be incorporated into AI gaming though. So this is just one of those: *shrug* hey, what about this? type of posts from someone ignorant and totally out of the field.
Radiant + tactics (Score:4, Interesting)
I don't know what I want to see (Score:5, Interesting)
Rob
Re:A More Conceptual AI (Score:3, Interesting)
It's going to be a long time before an AI can derive that concept from just the bare information about its terraforming options, so cheat. Watche the smart beta testers and steal their tricks.
Creatures (Score:4, Interesting)
Unfortunately, all the current FPS/RTS etc etc games have ignored this completely.
I want AI to be obvious (Score:5, Interesting)
1) If I've got a bunch of bots on my team, and I rush out like a madman, I want them to be completely suicidal as well, or maybe cover me. And I want them to say "covering you" as they do it, so I don't go sit behind a rock as soon as I hear gunfire.
2) If I'm sneaking up on some AI enemy, I want the AI to recognize that I'm sneaking up on it, and then LET ME SNEAK UP ON IT. Maybe it notices that I'm right next to something I can duck behind, so it shuffles its feet and slowly looks around back towards me, giving me just enough time to respond.
3) If I'm in a deathmatch, I want clever, flawed, fair bots. Bots that know good spots to fight from, but get up and move after a kill or two. Bots that aim poorly when I get the jump on them they just picked up their mouse in panic.
4) If I'm fighting a squad of enemies, I want to overhear their communication somehow so that I don't think they're looking through walls waiting for me. And I want them to react slowly to what I'm doing, not instantaneously.
I want my AI to be fun, and I want it to be pretty obvious it's being fun.
A Game Designer's Perspective (Score:3, Interesting)
Here's my perspective on things.
First, you really need to focus on a genre. The gameplay desires and thus AI desires are completely divergent between, say, a Poker AI and an Racing game AI. There are some commanalities though, which I think lay in an interesting area to be studying...
The point is that your opponent should be human.
All too often, game AIs are purely robotic. You can't surprise them. You can't outwit them. They don't show cunning, they don't show fear, they don't interact with each other - they lack emotions.
Having a bot in a FPS is all well and good, but if at the first sound of a footstep behind it, it whips around with perfect precision and starts firing - it is next to useless. It won't satisfy a player - it doesn't give the same thrills as sneaking up behind a human player.
Study the behavior of humans in your chosen genre: see how they react, the ways they interact, the ways they try to play the game against each other - and use this as a foundation for building an AI.
I think there is a severe lack of emotional response in current game AI. Building an opponent with emotional model, that directly affects their chosen actions, would lead to some interesting results.
Of course, good AI is nothing without an appropriate means of displaying the results... for instance, back to the FPS - if you can't tell the difference between a bored opponent and an alert one, the player will never appreciate your efforts!
That's Not Quite What I Meant (Score:5, Interesting)
What if Ragnaros changed his strategy (not so that he constantly targeted the healers--because there are rules of aggro in effect in WoW) but what if he followed a markov model built off of spell/counterspell? What if Ragnaros had a little bit of unpredictability built into him?
What if he slowly remembers which characters (yes, by name) are spec'ed and drinks resistance potions according to their specialty class of magic? This would stop people from camping and grind-looting him (I know camping isn't possible in instances but guilds do the same instance run over and over with the difficulty the same everytime).
I don't know who Ragnaros is but if he has the ability to move around, why don't they have him become more frantic or hostile if he's seen the same people and remembers them?
You'll noticed that I said you will find heuristics that make it too hard (like targeting healers first or not emerging) and you have to purposely dumb it down to meet your user's needs.
I said use your imagination and make things interesting--not figure out how to make NPCs afraid of conflict
That would be my idea of fun.
Re:A More Conceptual AI (Score:2, Interesting)
Re:Turing (Score:5, Interesting)
You think it's fun because the reason you're winning is that the enemy is too stupid to beat you? You concede that if Ragnaros actually thought about it for a second (even before dying the first time), he would go for the healers first; therefore, you're winning not by strategy or tactics (which are meaningless against a pattern - you're just responding with a pattern at that point), let alone initiative, but by brute strength and strict orders? Where every fight with him is the same as any other - random patterns aside?
Personally, I'd rather fight a much weaker (but much smarter) boss, where I actually had to show some initiative, where the fight is different from week to week. Ever played the same chess game twice with an experienced player?
Eh, I understand the draw for a 40-man raid, though. I'd rather play 32 on 32 Tribes, though.
Ah, marketting bullshit (Score:5, Interesting)
So I'm supposed to believe that only against bots is a mouse so slow that the bot has to stand still in the open to be hittable at all? Heh.
Want a more natural controller? How about a lightgun? Those existed for ages, and some of them (e.g., Namco's) had nearly pixel accuracy. They can be moved around with a flick of the wrist, just like the Wii controller. And if holding it like that had any kind of advantage, noone's keeping you from holding some lightguns by the barrel and using the button on the side to shoot.
So, please. The Wii controller may have its advantages, but (like anything else even vaguely computer- or console-related) it also has a bunch of shameless marketroids behind it. Tho'll cheerfully claim any absurdity if it helps sell their snake oil. Use your own brains when reading such patently absurd statements.
The limit was _never_ how fast or accurate the mouse is, but how fast and accurate the player is. And if the AI was dumbed down in a lot of games, I can also tell you why:
1. Because of player skill constraints. It's not that the mouse isn't fast enough, it's that the average gamer in your target market segment _isn't_ Thresh or Fatality. You can't throw 20 perfectly skilled opponents at them and expect the average player to track them all and handily dispatch them all. More importantly, the gameplay isn't a deathmatch where you just respawn when shot either: in most single-player FPS, if you got killed, it's game over and you need to reload. You don't want the casual gamer to _need_ to save before each corner, and reload 5 times before he manages to shoot before the bot headshots him. Because that's just no fun.
So even if you do program the bot to take cover, you still must make it easy enough to kill by a casual gamer. You have to just give the impression that the bot is playing well, not actually have it play well.
Contrary to uneducated belief, making a bot unpredictable and have 100% accurate aim takes no skill at all. The first is just a matter of using a random number generator, and the second is elementary maths: take the bot's position, take the target position, set the gun to point exactly along that vector. There you go: a deadly aim that never misses. That's not what's hard to program. But what you really want it to stand out of cover at regular intervals that the player can learn, and spend several seconds missing, so Joe Average has the time to aim and dispatch him.
2. Even more importantly, because of budget constraints. _The_ reason FPS exploded in the '90 wasn't because everyone wanted to play only that, it was because they were _cheap_ to produce. You could make a profit even if you sold less copies. You could license a 3D graphics engine, hack together a few levels and a couple of skins, and call it a game. Unlike RPGs and adventures which needed lots of scripting, animations, and occasionally AI, a FPS was cheap to produce precisely _because_ it didn't bother with those.
So noone was going to spend more money on one. Definitely not on ellaborate AI and character interactions, and not on the myriad of animations needed for the bots to take cover behind corners, crates, pillars, or upturn tables when nothing else is available.
3. Because of CPU power constraints. Let me tell you how those "minimum requirements" on a game box are born: the marketting guy, yours or the publisher's, comes and tells you: "studies say that 10% of people still have a 286, so our game must be 16 bit and run on a 12 MHz 286." That's an actual q
That doesn't necessarily mean AI, though (Score:4, Interesting)
But here's my take: it's not actually necessary for the NPCs to actually _do_ that stuff while the player isn't around. I don't really care if an NPC has been sleeping, sweeping his floor, and restocking his shop when I'm not around, or if he just got spawned in the right point for that time of day when I entered the level.
Games are just about creating an illusion, and an illusion is perfectly good for me. What's missing is any attempt to even bother about that illusion.
E.g., if a tribe is presented as having fought for grazing land (e.g., the Tauren in WoW), I want them to either be able to graze themselves or have cattle. I want their culture, their myths, etc, to reflect that. There are (not-so-subtle) differences between a hunter-gatherer society and an agriculture/animal-husbandry society, so a tribe that fought for grazing land for their cattle damn better not act like they're hunters-gatherers. I want their towns or settlements to have stables. I want their economy and their quests to reflect that. (E.g., while mystical and ancestor worship concernns are good and fine, surely a lot of their peasants would worry about more mundane stuff like cattle thieves or wolves or land conflicts, because they're a more immediate threat to their livelyhood.)
E.g., in Morrowind if a town has built city walls, then I want someone to sit and think what did the citizens try to solve with that. Building and maintaining a city wall was a _huge_ expense, so noone would do it just for decoration sake. So I want it to be a functional defense. Maybe it would actually need city gates too, not just some wide arches that either enemies or wild animals can just walk through. Maybe it would need ramparts, towers, or other suitable places for the defenders on that wall. (An undefended wall, anyone can just prop a ladder against and climb over.)
E.g., if the Imperials there built a fortress, what did they try to achieve with it? Maybe placing it on _top_ of a hill would server that goal better than placing it between two hills and half-way into one of them. If anyone can climb an easy slope to the top of the hill and rain arrows _downwards_ into the fortress, then wth purpose do those walls serve? Doubly so if continuing to walk over the hill gets one neatly over the walls and into the fortress.
Or what are the logistics of such a place? If you read for example Sun Tzu, armies used to cost a _lot_ and could even break an economy. Maybe they'd need to be regularly supplied, for example? There'd be a whole economy supplying a nearby fortress with wood, weapons, food, ore and coal if they have their own smith, etc. Which is why IRL even a small castrum often evolved into a major city. A whole economy basically evolved around it and in turn depended on it for protection. Important or wealthy merchants would eventually be granted or bought the right to have a house _in_ the fortress, either for the services they provided or just because they were willing to pay for it.
And so on. Basically, again, I don't care if the NPCs actually do anything when I'm not around. All I want is an illusion that those places _could_ realistically function as places for the NPCs to live in, and not just as levels for me to conquer.