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."
And I still have trouble beating some games that are a decade old.
The page located at http://www.cs.berkeley.edu/~russell/ai.html#search contains wonderful links about coding A.I. into your games, programs, etc.
If you celebrate Xmas, befriend me (538
I always win.
**unplugs computer**
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.
Real stupidity beats artificial intelligence any day!
X(7): A program for managing terminal windows. See also screen(1).
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
link
You think it's hard to play with a dial up connection? Try sattilite sometime (*dodge*, *dodge*, *fire*... 3 seconds pass... "Wow, I missed... imagine that!").
I'd really like to see a decent AI for games like Baldur's Gate or Neverwinter Nights. The henchman have roughly the IQ of a very dumb dog. On more than one occasion, I've had a henchman walk directly into a fireball on the basis that an opponent was nearby. Mmm... toasty.
I'm a lawyer, but not yours. I wouldn't represent someone who thinks taking legal advice from Slashdot is a good idea.
Instead of trying to figure out everything, I think brute force processing tactics will have a lot of success in the future.
I just found an interesting web site which is dedicated to the topic of Artificial Intelligence (AI) in games. Check it out.
Not until a bot calls me a "c4mp1ng n00b" by its own volition has AI come far enough.
I'll form my OWN solar system! With blackjack! And hookers!
That is so true. I tried playing a multiplayer game at work a few years ago... and I was absolutely destroyed in seconds. I wanted to get better at the game, but there was no other beginners to play with, and the single-player mode sucked.
Sex - Find It
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?
-
but I find that the AI in Hitman II is quite exceptional. I havn't seen AI this good since Turok2 Dinosaur hunter!
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+
Given that this is the IEEE, it was somewhat disappointing to read the following.
Fortunately, most graphics processing had by then moved onto dedicated graphics cards, and CPU resources and memory--already increasing dramatically, thanks to Moore's law--were being freed up for computationally intensive and hitherto impractical tasks, such as better AI.
They make Moore's Law sound as if it is something more than just an observation.
Supposedly both D3 and Q4 will be shifting the focus back to single-player (great news for narrowband nerds like myself). But then again neither will mark a vast improvement in AI.
:(
id's focus is on graphics and physics (game engines) not providing strong heuristic bots (resource intensive entities)
"The number of Unix installations has grown to ten, with more expected." (Unix Programmer's Manual, 2nd ed.; june 1972)
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").
Lack of good AI is perfect for the Doom zombies I think. And when you're confronted with a horde of mindless zombies, the fact remains that there's a horde of 'em, no matter how mindless they are. That's what made the original Doom such a chillingly great game.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Consider this thought experiment: scan a brain on a low level (neurons and their interconnections), and then put the whole thing into a computer (that will be available in say 40 years, according to some estimates; there are also currently quite good models of neuronal behavior, and I don't mean the simplified ANNs we often hear of), and then just run it. It doesn't matter that you don't understand how it works, it works anyways -- proof of concept -- not to say that's the most practical way to do AI, but just to show it's possible.
About Godel -- Godel's theoremis very specific, and says absolutely NOTHING about human intelligence
Like the article linked above says, it has been much abused (Penrose comes to mind). As far as your statement that intelligence is ultimately axiomatic, I don't know what you mean. You say the social sciences would become mathematical scienes: this is in fact not the case simply because social systems are too large, intricate, and complicated in order to consider them on the fundamental level (i.e. physics). It is a practical issue. It is perfecly clear, however, that theoretically social behavior is based on biology which reduces to chemistry which reduces to physics.
> Perhaps we could eventually develop AI to the point where it can simulate lower animal behavior [popsci.com], but the search for machines capable of human levels of thought is ultimately futile.
This comment is no better than the claims of the message I originally replied to.
"Politicians and diapers must be changed often, and for the same reason."
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***).
None of your points follow from each other. Godel's incompleteness theorem only applies to systems of logic which include arithmetic. Going on that basis, since the brain is so poor at arithmetic it seems likely that Godel's theorem does not encompass the workings of the human brain.
In actuality, Godel's Theorem deals with the limits of our ability to describe formal systems of logic. That discussion, while interesting in and of itself, is completely tangential to discussions about simulating intelligence.
places limitations on algebraic systems. One of the things that it does *not* do is place limits on understanding because it imposes no limits on * the number of algebraic systems* you can devise.
If a theorem cannot be expressed in one system you simply make another where it can.
One of the fascinating things about the human mind is its ability to go *beyond* single logical structures and fully understand an infinite number of incompatible algebras.
The problem with developing AI isn't so much that we don't understand the human mind, it's that we *do* understand it to be something well beyond a simple algebraic computer, which at the moment is all computers are. They are *computational* devices with a preprogramed logic. *That* logic is subject to Godel.
Your computer is a giant abacus. Nothing more, nothing less. This says nothing about the possibilities of developing machines that are *not* simply a bank of bistable switches.
Nor is there any axiom which states that intelligence must be *human* in form.
That last point is outrageously important to all sorts of fields.
KFG
Not long before Lara Croft rejects me like a real woman would.
Table-ized A.I.
"The hardest thing in game AI is just making sure that the game never looks dumb. You'd be better off having an AI that was just above average all the time, rather than one that was brilliant 98 percent of the time and stupid 2 percent of the time..."
Why not? Don't they want to model a typical geek, or did they find that hurts sales?
Table-ized A.I.
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".
How are they supposed to learn if you keep killing them?
Give the bots a chance.
Keep your packets off my GNU/Girlfriend!
AI is a euphemism for "behavior." When I hear people complaining about how games aren't using the latest in AI research, I want to respond "that's because games don't really use AI" at least not what people think of as AI. AI in a typical game is just a list of weighted rules, such as "if the player has a more powerful weapon than character X, make character X run away." When you have lots of such rules and you twiddle with them a lot, then you get so-called AI.
Putting in random factors makes things much harder to pin down. Maybe when a character spots you, there will be a 50% "run or attack" decision. If the decision to run, then you think "Ha, ha, ha, he's running scared!" If the decision is to attack, and he gets you, then you think "Wow, that guy was good." If he attacks and you get him, then you feel like you're doing well.
To a great extent AI is psychological. You read into things what you want.
Some time after getting Unreal Tournament 2003, I set out to appraise its AI. I decided to set up a game in which it couldn't cheat; I made a one-on-one game, on the map DM-Gael (a small, open map, so while the bot may always know the player's location, also vise versa), and with rocket launchers only (so that the bot couldn't do some simple trig to always hit). I set the bot to its highest difficulty, and played.
The bot had some notable weaknesses (it kept getting killed going for the powerup in the center, or while coming up a lift, and never seemed to learn from these mistakes), but did fairly well overall. In the end I won with a substantial, but not overwhelming, margin.
So, I said, the AI had failed the test: given a fair match, on its most difficult settings, it lost. But then I realized, I had a lot of fun administering it. Then I realized that the point of an AI isn't to beat the player, but to be fun to play against; whether it wins or loses really doesn't matter.
I've just been reading Steve Rabin's book, AI Game Programming Wisdom, mentioned briefly in the article. I'm not a game programmer, but I am a programmer, and I've always been curious about game AIs. And I have to say that the book is very good, well worth it if you have any interest in the topic. It's actually a collection of articles written by a bunch of game AI programmers, collected and edited by Rabin. It covers a lot of ground, explains approaches that have worked and approaches that have failed, and why (in both cases). It contains both useful general principles and interesting examples of specific cases.
I'm not sure I'd recommend this book to a novice programmer, but for a moderately experienced programmer who's interested in practical game AI design, this book is well worth a look. The name says it all, this is a book written by the folks in the trenches, passing along their hard-earned wisdom. Very enjoyable.
Now I want to try my own hand at writing some game AI. Maybe I should poke around on sourceforge for games that need AI help. (Assuming I can weed my way past all the projects that have NO CODE AT ALL, which seems to be especially common with the games on sourceforge.)
The thing is that you CAN find higher levels of human combat. The first online game I ever played was Team Fortress (Quake 1 mod) and ya, on the public servers it was generally what you described. You'd get a couple smart peopel (maybe) and everyone else would just kinda run around with no strategy. However I managed to get into a good clan and THAT was where the fun began. We, and the people we played, were highly skilled and cooridnated. Teams were quick to adapt to new situations, exploit weaknesses and so on.
If you are really in to a game, there are groups and legues of players like you that can challenge you.
By the looks of it, we still have some way to go until AI in games reaches the 'good enough' stage.
Good enough for what? For us to stop speaking and caring about it I guess.
When that happens, we'll have 'Invisible AI'* that just works, and game producers can no longer use it as a selling point.
Of course, I guess that won't happen anytime soon, and I can already see hardware manufacturers making AI-accelerator cards, with built-in multi-processors and neural net chips, to fit next to your graphics card. The 'Intel Inside' logo will gain a whole new meaning...
* - Yes, I'm adapting Don Norman's Invisible Computer term.
It is not that hard to give the impression of an AI that doesn't have shortcomings you mention but will you be able to beat it?
Gentlemen, you can't fight in here, this is the War Room!
> I'm not sure you'd get a lot of improvement from the technique though - bots would tend to play well with bots this way, unless you somehow managed to get a fitness function that reflected playing with humans. You could also invite a lot of human beta testers and evolve them based on survival rates.
You could bootstrap the system by having it play itself. That doesn't always result in the desired "arms race" of continual improvements, but people are looking at ways of inducing arms races.
If you could ever get it up to some basic level of performance (say, about what the typical game AI does now), you could enter a phase of distributed learning where thousands of people who had bought the game downloaded the latest AI, played it a time or two, and uploaded the results. That way no individual would have to play through a lot of games with a stupid AI as it explored options to improve its behavior against humans. Presumably if you downloaded the latest AI every week you would get a more competitive opponent every time.
> Some algorithm that noticed patterns in actual gameplay would probably induce cooler behaviour - something in the lines of
Yeah, those are hard problems for AI if you try to generalize the behavior. I wish more AI researchers were working on this kind of stuff instead of the toy problems that so many of them are still on. Several AI researchers have suggested games as the best research domain for acheiving "human level" AI.
Sheesh, evil *and* a jerk. -- Jade
However I managed to get into a good clan and THAT was where the fun began. We, and the people we played, were highly skilled and cooridnated. Teams were quick to adapt to new situations, exploit weaknesses and so on. This is offtopic, but I also joined an awesome clan for Tribes2, and I tell you -- it sucks all of your time as you get higher into the ladder. If you're married(and want to stay that way) forget about joining a clan...
I was a medium skill player is a high skill clan and I can honestly say I saw several of the top 5 UT players in the world go at it, at NGI once and WOW, even watching them play was tiring, and they did things so automatically that I was sure some of them were BOTS in real life.
errr....umm...*whooosh* *whoosh* Is this thing on ?
I thought that this was covered under Godel's Incompleteness Theorem. In order to simulate human intelligence, first we must be able to understand human intelligence. However, we cannot do this because human intelligence is ultimately axiomatic, and Godel states that we cannot create an axiomatic system without going beyond its constraints. Since we are obviously constrained by human intelligence, we cannot understand it, much less recreate it ourselves. If we could understand human thought, the social sciences would become true mathematical sciences, rather than humanities which use scientific thought processes. Perhaps we could eventually develop AI to the point where it can simulate lower animal behavior [popsci.com], but the search for machines capable of human levels of thought is ultimately futile.
Ah yes, the infinite problem of the hand drawing itself. The problem is naturally in concept rather than execution. I may not be able to easily model my own functioning brain all in a instant, however, since your working brain is modelable, I can do that instead.
I can draw a image of my own hand, I can sculpt an 3D model of my own hand, I can even grow cells into a working model of my own hand, and ultimately create a funtional replacement of my own hand. I CANNOT however separate my hand into component cells and use that to create a new hand.
Remember that all functions can be modeled into another medium if the abstract concepts behind those functions are sound and complete.
I could feasably model another duplicate body of mine in functional metals yet in a higher temperature enviroment (around 800 degrees where most metals become near liquids), but it would not be easy to make a suitable stable form given the higher ambient energy levels.
You are taking the mindset of "If we were meant to fly then we should have been born with wings."
Which is indeed bullshit as humans could be given wings provided they had sufficent bioenergy reserves to handle the effort of flapping wings, the skeletal frame reinforced to handle the stress of having huge wingspans, a circulatory system with two or three hearts to circulate blood into the wings, larger lungs to feed more oxygen into the body to compensate for the oxygen draw of the wings, and the ability to consume more food to feed the wings power storage supplies.
The other option is to create removable wings of a biological manner which are fed from a biological food tank and have some control manner for the humans to manipulate or mechanical wings which follow distinct flapping patterns which humans control by a handpad and control stick.
If it is allowable in the rules of physics (which a mechanical brain is indeed allowable) then the only limit remains in the effort in effort devoted to creating that device. Biological brains exist thusly mechanical brains can exist as many properties of brain functions are duplicatable with existing technology.
"Face it, a nation that maintains a 72% approval rating on George W. Bush is a nation with a very loose grip on reality.
I quit playing FPSes competitively because they take too much time. However, my freshman year it was fun :)