AI in Video Games vs. AI in Academia
missingmatterboy writes "Dr. Ian Lane Davis, AI researcher turned game development studio head, talks briefly about the differences between AI used in the game industry and the AI being researched in academic institutions. A short read but you may find it interesting."
Most video games I've played had a pretty simple AI algorithm:
Easy - Computer player doesn't cheat
Medium - Computer cheats and always knows where you are or what you are doing
Hard - Computer cheats and is allowed to break the rules.
If game programmers spent more time writing smart (as opposed to cheating) computer opponents and less time trying to get 10 million more polygons on the screen, todays games might actually be worth buying.
This is a big debate in the AI community. They're devided into the "strong" and "weak" camps.
Strong AI says that it's entirely possible to make computer programs that think and feel just like humans. After all, all human thought is the result of chemical processes which obey the laws of nature and can thus be described algorithmically.
Weak AI says that it's impossible to ever create a computer program that really thinks and feels and loves and hates like a human. The best we can hope for is to simulate these thoughts to create a close approximation.
Of course no computer system out there today can recreate the complexity of the human brain.
I found that injecting a bit of randomness often looked like the AI was 'learning' - but it isn't. For example, a first cut at a best path routine often got stuck bouncing between two points. Solution? Add a bit of randomness. The AI didn't 'learn' anything by getting stuck, it just tries something odd now and then making it appear to have learned how to get unstuck.
Re: mass tactics
Humans are really good at recognizing patterns. Computers find this hard. So in games that involve lots of objects that implicitly form some larger structure (units that form armies, buildings that form cities, mountains that form mountain ranges, etc.) humans will have an advantage in that they see the larger structure, while the computer sees the individual objects and can only guess at larger structures.
Computers are good at micromanaging individual objects, while humans get tired/bored of it.
So you often end up with humans winning because of strategy or computers winning because of brute force (perhaps because their cities/units are more efficiently managed).
An additional problem is that the human can not only see the patterns in the game, but also the patterns in the computer play. Once you see the pattern, you work out a strategy to beat it. Having a computer reason about strategies is hard.
One thing I've wondered about is whether we should be designing games that take into account the computer's strengths and weaknesses. The problem is that I don't want to play a game that's geared towards the computer's strength (lots of micromanagement). But there could be other things that could help the computer play better. Kohan for example has explicit groups of units. It's more convenient for the human to deal with. Does it also help the computer AI play better? Hmm.
- Amit
When looking at AI and Cognitive research, you really have to keep in mind that there are two differwent motivations at work in doing the research.
One motivation - the one alluded to in the article - is to make stuff that gives the same behavior as humans (or whatever animal you are looking at). You don't really care whether your methods are biologially correct, you want things that work. Most of classical AI falls into this category.
The other motivation is to figure out how we do things (we being animals in general). If the research ends up being useful in appolications, great, but that's not the goal of the work. You really want models of how real brains solve problem, and these models may be far too inomplete or computationally intensive to be used in implementations, yet be perfectly fine for their intended use. A lot of Cognitive science falls into this category.
Game AI designers probably have a much richer mine of information and techniques in AI than in cognitive research, and they have so far been able to exploit that knowledge - as well as judicious 'cheating' - to make a compelling illusion. If/when they turn to cognitive science, however, the pickings will be slimmer and harder to use, as the methods and models aren't designed to solve any kind of real-world problems to begin with.
/Janne
Trust the Computer. The Computer is your friend.
Actually, the current fad is to go simplistic. That is, to set only a few simple rules, and see what happens. It's very effective in modeling simple behavior on solitary animals, but it's real triumph is in modeling hive-like behavior, like in bees or in the game "Pikimin". That said, there is still some very impressive work being done on the other end. Bots for FPS's are starting to get hot, with some upcoming games that rely extensively on the quality of their bots. Unreal Tournament 2003, the sucessor of perhaps the first game to have "lifelike" bots, promises to be even better than the original. And Counter-Strike: Condition Zero is very, very reliant on its bots for the single-player portion of the game, simulating humans to the point of falsely claming "Uber-l33tness". So as far as a general-purpose artificial intelligence, we're not there yet. But we have a lot of specific applications AIs that are quickly becoming freakishly human.
And what about the situation that gets trotted out in every ethics class, which illustrates one of the difficulties of utilitarianism: the robot can preserve total human life best by destroying some human life?--in a time of hunger and mass starvation, it decides that humans would best be served if it and its brethren killed 10% of the population to feed the rest. Easier to imagine, it decides that human life would best be preserved if all rednecks and christian fundamentalists were wiped off the face of the earch -- the U.S. at least. You can say that the 2nd law could be invoked, but it clearly conflicts with the 1st law in both of these -- and millions of other -- cases, and the 1st would take precedence.
These 3 rules are incredibly simplistic. If ethics were this simple, there would be no discipline of ethics within philosophy, and our courts would never have to deal with questions of ethics, only with those who break the ethics enshrined in laws.
This is of course computationally expensive. In the video game case, the program must run smooth in order for the computer to be a significant opponent. A typical team of computer-controlled oppenents tend to share information as if telepathic. The computer must cheat, simply to make the game interesting. If all agents (soccer players) have a shared knowledge base, it can easily be a tough opponent. The computer must often "cheat" for this reason.
For right now, computers are not fast enough to handle the AI with more integerity. The bottom line is that a video game has to be fun. In academia, we are able to put more time into things that are not immediately useful in order to better understand real AI. Of course in the soccer video game situation, the human player also acts as a shared knowledge base for its team, as it controls all of them. In a game like a multi-player shooter, however (ignoring the chatting option), this is more applicable. It is unfair for each computer player to be able to divine the intent of the team members as if controlled by an overmind. Applying this research to video games would result in better realism, provided the CPU could handle it. For now, it would simply not make for a very interesting game. Still, shared knowledge is an interesting problem in AI, and a lot of the work having been done is quite good. But we do have a long way to go.
This research would apply to systems other than video games where each agent may work under a different protocol. Each situation is different, though. Often there will be a standard communication protocol, but sometimes that may break. The distributed system should not cease in this case. Examples are automated military, network routing, manufacturing plants and clustered computing.