IEEE Spectrum Surveys Current Games' AI Technology
orac2 writes " IEEE Spectrum has an article on the AI technologies used in the current crop of video games. State machines, learning algorithms, cheating, smart terrain, etc are discussed. Game developers interviewed include Richard Evans, of Black and White fame, who talks about Lionhead's upcoming Dmitri project and Soren Johnson who created Civ III's AI."
Yes, let's stop working on AI, so that when we have the hardware to do it we won't know how.
Bright idea.
Besides, what is a human being besides a complex system of input and output anyway?
I've moved on.
If you're referring to simulating human thought, computers will *never* be that advanced. At least not if we continue down the path we've been on, and engineering techniques make that unlikely. Artificial sentience (Sci-fi AI) is a design problem, not a speed problem. I think it's possible, but not on your PC.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
I have a 56k modem, and no chance of getting broadband, so while massive online fragfests might seem like fun, they're not really accessible to me (RTCW was bearable till PunkBuster slowed it to shit).
Unfortunately, the games industry seems to have focused on turning out hundreds of online fragfest games that bring in the $$ but leave little to the imagination. Even 'The Sims' are at it.
AI doesn't necessarily have to be 100% realistic for a rewarding offline game. But even the bots in UT2003 aren't that hot, so it's clear AI and single player games are taking a backseat to the online money spinners.
Hopefully some big breakthroughs in AI will turn the tide, but with the games industry already ignoring AI, I'm not optimistic for AI's future in games.. since everyone would rather play their dumb neighbor anyway.
mogorific carpentry experiments
I just found an interesting web site which is dedicated to the topic of Artificial Intelligence (AI) in games. Check it out.
Namely, what happens if some researched finally stumbles across an application that passes the Turing test? One that for all intents and purposes appears to be a conscious life form?
The resulting ethical problems will be myriad:
- Will the AI life form be the property of the person or corporation that developed it?
- Will the AI life form be copyrightable?
- Will the creator of the AI life form be obligated to keep it "alive" (i.e. keep the power running, etc.) as long as possible?
- Will the AI life form have the same rights as an ordinary human being?
- Will distributing the souce code for the AI life form be regulated under anti-cloning statutes?
- Will the AI life form be allowed to earn money as a result of its efforts in controlling entities in videogames?
- Will the AI life form be entitled to royalties as a participant in the creator of the videogame?
As a libertarian I am torn between my concerns about keeping markets free and unregulated, and my concerns for the freedoms and rights of potential AI life forms. Interesting times...QUOTE: For a project code-named Dmitri, Evans is now focused on improving the ability of AI to interact socially. Agents' behavior will be controlled by their membership in overlapping social groups.
----
So how long until the AI gets good enough that we don't need it to be truly multiplayer and can all play on our local machines with AI characters that can chat with us about our real lives instead of just the game?
-
I have yet to find an FPS where I felt the bots had really believable AI.
In most FPS games, the bots simply have really good "aim" and really good "dodging ability" in the higher difficulty levels, coupled with the fact that the computer technically knows where you are all the time. Even so, a player will usually develop reflexes that will allow them to outgun the bots.
Players without the "reflexes" to beat the bots' super aim can still beat them, as the bots will repeatedly fall for the same tricks over and over.
To have realistic bots, they need to be able to learn from their mistakes. Bots fail to learn things such as the following:
1) The player's favorite weapons.
A common technique in games like Quake is to "control" the weapons. If you are playing against someone who is great with the rocket launcher, but not so hot with the other weapons, you can try to limit their access to that weapon. Bots don't pick up that you use the RL all the time, and thus don't really do a great job of stopping you from getting it.
2) The player's techniques.
Obviously, if a player likes to re-use certain techniques (circle strafing, etc.) too much, other players will pick up on it. Bots, however, don't really anticipate what the player might do in this fashion.
3) Mistakes.
At the same time, the bots will often reuse the same techniques as well. However, the human player will pick up on it. Bots need to learn what tactics it has used that have failed, and try something else.
"You spoony bard!" -Tellah
I have been playing Morrowind for quite a while and the AI of the characters is simply breathtaking. I must admit it has been the only game that had me talking to people "And suddenly this big whale like creature jumps out at me so I run as fast as I can to a house and hide inside" ... "So I goes outside and the coast looks clear.. the monster is only hiding *behind* the house peaking out and then charges for me"
;)
Morrowind, if you have not played it, you must. But make sure you have a fast processor 1ghz+
1) The player's favorite weapons.
A common technique in games like Quake is to "control" the weapons. If you are playing against someone who is great with the rocket launcher, but not so hot with the other weapons, you can try to limit their access to that weapon. Bots don't pick up that you use the RL all the time, and thus don't really do a great job of stopping you from getting it.
In my experience human players are no different in Q3A, UT2k3 or BF1492 in those 32+player servers. I mean there are so many players like "3l33t-b0rg" or "lick my pu$$y"(no joke), that the focus is more on "I killed 'BFGFucker9000'!" than strategy that requires both team-work and (gasp) thinking.
Now if you're talking about clan games or one-on-one matches, then yes, humans move to a higher level of strategic thinking to block resources that give opponents advantages.
For an AI subsystem to perform this type of thinking requires lots of dynamic("oh shit he has a rocket launcher...time to sniper") and static analysis("grab rocket launcher so he doesn't kick my ass and own me").
After observing a large number of games, the major problem with game AIs is that the developer puts very little effort into the AI itself. While there are a few good/excellent AI systems out there, these are the exception and not the rule.
Naturally, the AI has the shortest time frame in the software engineering, but there is no reason it should remain stagnent across the future patches. From these patches, the developers can identify the shortfalls of the old AI, and correct them. This is very rarly done, and is only performed across versions.
It's also very difficult to find a game with a decent or challenging AI, since mose formal reviews ignore that portion of the review entirly. Most people will look for the 9/10 IGN Review award as opposed to the real deal in the message boards (the AI in the game is a cheating piece of c***).
> all computers are. They are *computational* devices with a preprogramed logic. *That* logic is subject to Godel.
Consider the analogous statement you get when you substitute the word "brains" for "computers". And indeed that is a valid substitiution:
1) Brains are computational, because they work based on the same fundamental physics, which is computational (Penrose notwithstanding).
2) Brains are preprogrammed no less than computers -- except that evolution did the programming; indeed, we now know (see Pinker et al) that the brain is mostly optimized for special-purpose information-processing (i.e. vision, running autonomic body processes, etc.) and abstract logical thought is far far slower than a planning algorithm or theorem prover running on a general purpose computer; indeed it is to a large extent the common sense that is so specialized to our environment through millions of years of evolution that makes us better in it than computers are (thus the 'situated agent' concept in AI).
Regarding 'understanding' -- there's nothing mysterious about this term -- it is simply a certain level of familiarity with a subject, and being able to answer to some detail 'how' and 'why' questions about it; people like Penrose misguidedly (is that a word?) try to suggest there's more to that. But Penrose's crap has been disproved a thousand times over.
"Politicians and diapers must be changed often, and for the same reason."
Here is one of the sites we used for new ideas in my CS class at cmu
http://www.seanet.com/~brucemo/topics/topics.htm
Here is another one
Enjoy
The major problem in AI is the Attention Problem - what features should be paid attention to in order to make a decision and how to ignore the huge ammount of irrelevant information (without explicitly examining that information to determine that it is irrelevant).
Game engines often present a very small "world view" (in terms of feature space) to AI agents because for every simulation cycle each agent has to check facts in its world view to guide its action, and the more complicated the world view the more CPU cycles are used by each agent.
For example, an agent might be exposed to the same fact in 3 ways: The first uses a hard-coded definition of what near means (that can be precomputed by the engine), the second allows the agent to use its own definition of nearness, while the third allows the agent to decide what distance means (if it has access to map information).
While the 3rd definition is the most flexible, it is also the most computationally expensive particularly when this computation may be run every simulation cycle.
So, what I was trying to say is that much of the flexiblity possible to an AI agent is limited by the feature space it has access to, and this feature space is usually very limited for efficiency purposes.
To improve the behavior of an AI agent, script tweaking may help some, but what is often needed is for the underlying physical engine to expose slightly more information. For example, the above "near" might be split into "sortof-near" and "really-near".