Next Gen Beautiful But Brainless?
Next Generation has up a short piece discussing a Guardian Interview with AI developer Steve Grand. Grand opines that next-gen graphics are deepening the uncanny valley. More than just plastic looks and inhuman faces, the weakness of game AI is increasingly becoming glaring compared to the graphical prowess in games. "AI isn't so much unappreciated as nonexistent. Most of what counts as AI in the games industry is actually a bunch of 'if/then' statements. If a computer character doesn't learn something for itself then the programmer must have told it what to do, and anything that does exactly what it's told and nothing else is not intelligent. This is changing, and neural networks and other learning systems are beginning to creep in. But games programmers tend to devalue the phrase 'artificial intelligence."
If that's what people want, they'll buy it. If they don't the producer will try a different tack. That's how market's work.
I will have a sig when the market demands it.
The problem is that AI in general is "hard". Not just for games. We still don't understand well enough how our own intelligence behaves to model it successfully in games. As a programmer, I can model a process pretty easily. I can model objects fairly well. What I can't model is something that is nebulous and undefined.
Layne
I always get a little miffed when games use "AI" to describe what they do.
OTOH, I do see why true AI doesnt make much of a play in games... how long does the average bad guy live in a FPS anyway? If they learned from one guy to the next it would be more like a 'hive mind' then indviduals learning. For RTS games it could make a little more sence, since the "commanders" wouldnt be amung those slaughtered on the battlefield on each level. MMO's present a whole bucket of issues beyond the life span one... would they learn against EVEYONE or only their current PC opponents? if everyone, would it really be worth it as due to the MASSIVE diversity in player styles the AI would become muddied and non-specific.
the preceding post was not spell checked... suck it.
"But games programmers tend to devalue the phrase 'artificial intelligence.""
Kind of hard to have artificial intelligence when we don't even understand natural intelligence. Plus there's still the computational load issue.
You already have the suspend your sense of belief to really think that you will actually beat a computer in say a FPS where it can aim perfectly, or a fighting game where they can simply react to any move you might do. For example you can play the training mode in Soul Calibur and you'll quickly realize that the computer can guard counter every move you ever do forever, but of course they don't do that in the real game. Even on the super duper hard setting they give up after a while, even though they can do it forever on the training mode. Shin Akuma in various Street Fighter incarnations counters almost every move perfectly. You throw a fireball, he'll jump kick you. You jump kick him, he'll dragon punch, and the only way to beat him is hit him with moves that he isn't programmed to counter. There's no reason why the computer can't play like that aside from it'd make a very boring game when you repeatedly get owned by a computer.
If by being smart means 'better at a game' the AI is already a super genius. If by smart means 'flailing your hands around while pretending to do something before losing to a human player', then whatever that creates the best sense of illusion works the best. If it's a bunch of if/else statements, why not? There's no reason any fancy technique will get you a fancier loser.
There are always a handful of titles with good AIs, but over my years of playing many different games I can say with some certainty that the AI isn't getting any worse. In fact from what I've seen, the AI has been slowly but steadily improving over the years in general. It used to be in FPS games that the enemies always just walked straight at the player and shot. Nowadays they're likely to use cover, team tactics, and even a bit of misdirection. Sure it isn't as good as human players, but they're a lot better than the Doom or Wolfenstein AIs of old.
RTS AIs are a mixed bag, but in general they're doing more with less cheating than ever before. A lot of the old games cheated a LOT to make the AI competitive, but often now you'll find that they do a decent job with only minimal cheating.
Fighting games certainly aren't any easier than the ones of old, yet the AI seems to do fairly well. In some games it's almost punishingly good (Guilty Gear has some very hard AI opponents) and the player might even feel resentment over the computer's calculated reflexes.
Driving game AI hasn't improved much but frankly that's because there's not a lot to think about with driving games. Stuff like Mario Kart where there are powerups and whatnot can require a bit more smarts, but even then it's pretty simple. It's not hard to program a bot to drive around a circle. On the other hand, it's clear that in today's driving games the computer has to do a lot more work to make it around the corners. This isn't like F-Zero on the SNES where the computer completely cheated by setting its cars not to slide (in a game where controlling your sliding was 90% of the challenge).
I read the internet for the articles.
"AI isn't so much unappreciated as nonexistent. Most of what counts as AI in the games industry is actually a bunch of 'if/then' statements. If a computer character doesn't learn something for itself then the programmer must have told it what to do, and anything that does exactly what it's told and nothing else is not intelligent. This is changing, and neural networks and other learning systems are beginning to creep in. But games programmers tend to devalue the phrase 'artificial intelligence."
First, a neural network is more of the same "if/else" logic as any other AI engine. It's only different in how the AI processes it's input. Sounds more to me like a programmer/theorist who's pissed at all the tricks in existence that can emulate (fairly well) basic intelligence without the use of any "classical" system like a neural network.
Furthermore, neural-network-based AIs would have to come pre-programmed. This means a neural network that starts at a certain level of development rather than a blank slate. Should bad guys have to learn when and how to fire a gun while you're playing the game? It'd make for some boring encounters.
Furthermore, most games are quite linear. There's a story to tell and you can't really insert many uncontrollable variables into a linear system and still be able to maintain consistent play experiences for your users.
I wonder if this guy has seen Spore.
"What I can't model is something that is nebulous and undefined."
Why are you trying to model slashdot?
I think the problem here is that Grand is attempting to apply his model to games that really aren't designed to be intelligent. Of course in games like Rome AD 92 and Civilization, a strong AI is necessary to enjoy the game. But seriously now, how advanced does Goomba intelligence really need to be?
I used to give a shit about AI in games, until I discovered multiplayer online games. Now I don't give a shit. Sure, some better AI would be nice, but it's not as badly needed now as it was 10 years ago when we all had was dial-up. I don't even think the AI has to be that smart to be better than we've currently got - it just hasn't been seen as important.
It's not about whether or not it's there, it's about where the focus of the developers is. For example, anyone who's played EA sports games knows about the poor quality of AI. Sports games are a little easier for users to justify, because exceptional things happen, but when the computer is cheating, it's cheating (careful use of save states can prove it). The problem is that the shiny graphics generate hype, which makes publishers want to sell games (like Doom 3, which had great graphics, and crappy gameplay). And since the mindless masses LOVE shiny, there's your forumla. How come I still have fun playing the old arcade games from the 80's and 90's? Because they're actually fun, and since we didn't have graphical power back then (or even colors), developers could focus on gameplay, which includes AI. Sure, the computers may not have adjusted to your every move back then, but at least they weren't as mindless as the people who think that good graphics == good games and bad graphics == bad games.
I'm sure the guys at NaturalMotion developing Euphoria(wiki) would argue...and i'm sure the guys at Lucas Arts and Rockstar would back them up on that.
A computer can micro-manage its resources in a strategy game within a second, whereas it might take me ages trawling through menus and sub-menus to find out just why production isn't at capacity. The computer is drawing my character on screen and responding to my inputs on the joypad/keyboard - it *knows* where I am in an FPS or action game. Truly realistic, learning, intelligent AI probably wouldn't be fun to play a lot of games against, because it would be better than you, or at least have faster reactions and virtually instant access to information.
My pet hate is the 'AI' in a lot of driving games, which consists of a rubber band attached to the back of your car. Did you just drive the best lap of your life ever and shave 3 seconds off the lap time? Well, what a coincidence, so did all the CPU drivers; what are the odds, eh?
Making you feel like you're succeeding against all the odds is one really clever part of games programming. Making that success still feel like a game, rather than work, is another. I don't believe these have as much to do with AI as they do with careful design, good controls, proper cameras, and plentiful save points. Miss any or all of those out, and 'AI' won't make it a good game.
I really don't think that AI is the problem, it of course can be hard, but the main issue is that the underlying gamedesign simply doesn't allow good AI. Simple example: God of War. Where exactly do you want to add the better AI? You are a one men army fighting against thousands of bad guys, they have to be stupid and easily defeatable to make that game work. Another game would be Half Life 2: Same problem, one men vs thousands of bad guys, if they actually would behave half as clever as a real person, the player wouldn't stand a chance. And so it goes on with tons of other games.
The issue isn't AI, but game design, as long as most games are designed as linear roller coaster rides no amount of AI development can fix their dullness. The solution would be to go more free form, game design that actually allow enemies to be clever without making the games impossible to beat. Such games are really not impossible to design, many games did it a decade ago already (XCom, EF2000, etc.), its just that most mainstream ones don't really try very hard to create believable worlds and instead continue down the "you vs rest of the world" approach, even the free form ones likes GTA.
why would i want to play against an artificial intelligence when i can play online against real people? in my mind, there is no going back to single-player gaming once multi-player games have taken root (even if human players are often less intelligent than the typical computer AI). so, this notion that computer games need better AI is like saying that we need faster cd-rom drives.
There's been some great reasons listed already, but the obvious one to me is that the skill of the A.I. isn't apparent in commercials and trailers and screenshots, the graphics are. Graphics are driving the industry, they always have. In my opinion, there was a time when the discrepancy between graphics and A.I. were smaller.
Consider the days of Civilization II. The graphics were decent for the day but the A.I. was generally pretty good and coupled with a good game engine (not without its faults though), the discrepancy was not that apparent.
Fast forward a few years to the console game Goldeneye. Very good graphics for its day (especially on a console) but the A.I. was starting to stagnant. There were cases where infinite baddies would flood through a door, getting mowed down continually. Of course, Goldeneye came out almost exactly a year before Half-Life, a game usually praised as having a good graphical engine (on the PC) and good A.I.
Now a few years later again, we have Half-Life 2 and FEAR and many other first person shooters which are hailed as having great A.I. But all these games still suffer. Why is that soldier jogging against the wall? Why is this character I'm supposed to be leading around getting stuck on corners and running around randomly? The developers are spending so much money on graphical engines that they expect us to be entranced immediately by the world they created, and then all of a sudden, one of the enemies (or teammates for that matter) does something extremely stupid or so abnormal, we're ripped out of this trance and forced to remember that yes, we're just playing a game.
I'm sure it's not always the developer's fault. They have a lot of pressure from all sides to make the presentation of the game great, but it's apparent that the presentation can fall flat on its face when the A.I. is brain dead. But they don't have to show the A.I. being stupid in the commercials, they can show off the graphics and the pre-rendered cutscenes.
Graphics are driving the industry and thus the industry is being driven by Nvidia, Intel, and ATI/AMD. If developers were allowed to put some of the money they used to build a state of the art graphics engine into A.I. development, I think we would be taking some great steps. Here's to no more wall-jogging Nazis.
Reviewing just the first hour of video games.
I don't know if I'm alone in this, but I thought the AI in FEAR was pretty awesome. Maybe because I thought crashing through windows and waiting for me in ambush was cool, but whatever. But yes, most of the time they're dumb. Call of Duty 3 really pissed me off for that in particular. I guess we just have to make sure we buy good games when they come out.
Some modern games seem to have pretty convincing AI's. The Fear demo from a year ago seemed pretty smart. And doesn't Forza Motorsport use a neural network somewhere in the AI?
Yes it's true that good AI does not belong in some games, and yes, that includes MMORPGs. The current formula for MMO boss fights (boss has predetermined behavior, adventurers need to execute predetermined strategy to kill him) is really popular and not in need of replacement.
However there are lots of games out there that would definitely benefit from better AI. So lets not discount the entire field just because it doesn't apply to one genre.
Shit.
This is also a big problem with AI people on your side as well. I just love how in just about every game with people following you, they manage to get stuck in corners or put themselves in front of you right when you fire the rocket launcher.
That's why over the past few years I've been playing more and more games that don't depend on AI, such as puzzle and rhythm-based games. Either that, or use other people to fill in for AI-based opponents/friends.
It is a common phenomenon in the AI community. When a new method or algorithm is first proposed, which achieved gains over prior methods, it is consider "new AI." But as time goes on and the algorithm is put into common use, it degrades into "just another algorithm."
AI is really just whatever the bleeding edge happens to be. For instance the A* algorithm to find "good" paths. It's certainly an intelligent algorithm, but nobody really considers it "AI" anymore. It's just a search method.
So, is a series of if-then statements "AI?" If it's new and powerful and does stuff that no other algorithm can do, probably yes. But as time goes on it becomes just another algorithm. AI, pretty much by definition, is simply "The smartest stuff we can do as of yet."
Yet more old fogeys shaking their canes at "those whiz bang fancy dancy graphics". The previous generation's AI was always as bad or worse, full stop.
Done with slashdot, done with nerds, getting a life.
Well, AI is not limited to what we'd classically think of as attempts to mimic thought. The term "Artificial Intelligence" also includes algorithms that solve problems that are merely difficult - things like combinatorial searches (A* and min/max searches, in particular) - and the general approach of attempting to model an AI character's actions based on their state and their goals, rather than going just for the desired effect of making them reasonably tough game opponents.
In the context of this discussion, "AI" means broadening the use of those algorithms (they are already necessary in some situations anyway) and in general producing game AI that's more capable - better able to deal with obstacles in the environment, predict player strategies and determine which of its strategies are most effective against the player. The goal being to create automated opponents which don't need to rely on unfair advantages (such as superior car performance in a racing game) to compete against human players.
In the context of, say, a mech combat game (as an example, racing games are a bit more of a static problem, and flight sims wouldn't require so much obstacle navigation), a capable AI would likely need the following:
- A predefined set of tactics. These would be designed by the people who create the game. The important thing would be that the tactics are effective and that the game AI has sufficient information about when each tactic is useful. Supplying this kind of "playbook" information decreases the demands on the AI program significantly: they no longer need to be able to synthesize these tactics, they can merely choose the right one.
- A system for selecting tactics to use: a good design would include considerations like the state of the AI's mech, the weapon being used against it, and general parameters of the enemy machine. (For instance, a good AI operating a sniper machine should know not to close to close range with a player machine that specializes in close combat... Likewise, if the AI's machine is running out of power, it shouldn't attempt an "overboost" move - unless it is clear that such a move could work sufficiently to win the fight.)
- An adequate navigation system for moving around in the environment. This must be tied in to the tactics being used - so that attempts to dodge a missile, for instance, aren't foiled by collision with an obstacle.
- An adaptive factor - a process that attempts to determine how effective various tactics have been against a particular opponent, and why certain tactics may have failed - so that tactics that are likely to fail again are disregarded.
- A random factor - the AI's next move is randomly selected from among the best candidates.
See, that's not so nebulous, is it? Pretty well-defined, I'd say. It's just, as you say, hard. It's hard to create a system that's dynamic and complex, it's hard to make sure you've got it right when you have created it - and the problem with game development is that there's so many other places that effort could be directed which aren't as easily dispensable as good AI. Most game AIs nowadays have a moderately good playbook (it's one of the easiest elements to add - humans know how to play the game and so they can record sequences the computer can repeat - so it's easy to add a small playbook - though providing good static information about how to choose a tactic from a larger playbook is harder), and a random factor is easy to introduce. Selecting tactics is often reduced to a static problem, and navigation is either made static, or solved by making the AI able to get through the environment in other ways, if necessary. (For instance, an AI that is always shooting and frequently moving forward - but gets caught behind a building - if the building is destroyed when the AI shoots, then moving forward no longer gets the AI stuck.) But navigation often is not tied in to the tactics and adaptive factors usually aren't adequately implemented in a way that makes a real difference.
---GEC
I'm but the humble pupil, seeking to snatch the scratchbuilt pebble from the master's fully articulated hand
Creatures was a masterpiece for its time, and is still a good game for children today - the author did some technically challenging work, without a background in AI. Perhaps that's what we need - more general developers thinking about how to do AI rather than people who have been trained in current techniques.
'AI' refers to an obsolete field of CS which is rapidly being replaced by NN, pattern classification and statistical learning theory. 'Game AI' refers to heuristics that programmers hack together at 3am before shipping a title.
word.
It's just dumb to say that games "devalue" AI in the mind of the public. In fact, I'd say game AI is the only medium wherein the public gets any real sense of AI as something intelligent - as a hypothetical "person" and a viable adversary.
The most obvious example is Deep Blue, which is probably still the most famous AI in the world. Nobody cares about the efficiency of its sorting algorithms or any other academic-level AI questions; what they care about is that it can match the world's best human in one particular game.
The same is true of the more mundane, even crappy AI you see in fighters, FPS games, etc. Those bots in Quake 3 probably weren't getting any invites to Robot MENSA, but they FELT almost as real and as dangerous as human adversaries.
How do we know our own intelligence isn't a bunch of if/then statements? Sure, if we are presented with the same situation, we can do different things (though I would argue that it is impossible to ever have the same situation perfectly...one you experience something once, you have an experience with it, once you have the experience again, you have two, etc.). But say we are presented with the same situation and do different things...just add a random number generator and probablilty in to the statements and you can imagine ourselves as code. Very complex, very long, very ugly code...but code. Our brain just develops our if/then statements faster than a programmer can program it. The only thing lacking from the AI in most games is the ability to add more if/then statements on its own.
Support a great indie game: http://www.abaddon360.com
This is the guy that created Creatures, and signed his royalties away for a paycheck. One presumes he thought it wouldn't sell very well. It sold 16 million copies apparently. He also feels that AI researchers don't take his work seriously.
Ironic really. As a "Game AI" programmer, I can say that his comments about game AI are uninformed. The talk on FEAR's AI at GDC 2006 was extremely informative, and, no, it wasn't a bunch of if/then statements any more than a neural network is. I bought creatures and found it immensely boring. I bought FEAR and found it very entertaining.
Try a thought experiment. Imagine putting a real AI (an "I" if you will) in a game like FEAR. Make it feel pain so its "real". Let it know that the player has like 200 times as many hit-points. Given the choice between taking multiple badly aimed shots from the player, or just shooting itself quickly in the head, which do you think it would choose? Not much fun. Games are about fun.
If the objective is to make an AI that wins, thats trivial. The computer can react instantly, know everything, and... well, cheat.
The real objective is to act as much as possible like another human player would, while not messing up the plotline. Be good, but not too good. Share human weaknesses.
Take an RTS for an example, as they have the most potential for employment. The AI needs to share the same weaknesses as a human, for a start - if you attack the resource-producing facilities, then it needs to run out of stocks if they arn't fixed quickly. The AI component of the game needs to remain unaware of any information that it would lack as a player - if the player's units are sneaking up, then they must be ignored until spotted. It needs to dynamicly adjust the size and direction of attack forces after a while - if thirty units attacking the player didn't breach his defences the first three times, then the AI will look like an insect colony if it keeps trying exactly the same stratagy over and over.
Perhaps some real AI experts should turn their attention to this problem - dabble with neural networks and genetic algorithms. Perhaps they can come up with an AI that is close enough to human that players feel as though they are playing against an opponent, and not just an ant colony.
Ive just been playing supreme Commander. Antyness shows very clearly.
Has pretty decent AI in it's recent Galactic Civilization games.
There is a war going on for your mind.
For one thing, games are getting better and better when it comes to AI every year, and it's not "just" because it's hard. It's also because good AI is resource-intensive, both in terms of processing power and in terms of storage space (depending on what you want to do) ... on and in terms of time it requires to develop.
A simple rules-based system that has a bunch of if-then triggers is sufficient for a lot of things, but once you get into sophisticated behavior the number of rules becomes simply to large to generate, and the process for selecting the best action nontrivial as rules get bunched together due to equivalence, etc.
Statistical learning systems (Bayesian, etc) can be very powerful, but have not been seen in games until recently (for a great example check out Forza Motorsport 2 coming out in May, for which the AI was developed in Cambridge, UK, the MS Research building next-door to where I took my lectures on comp. text and speech processing ^_^).
The main reason that game AI is not as advanced as folks might expect is that "sophisticated," learning AI takes a significant time to develop and train. Most importantly, it requires expertise that goes beyond just being able to code C++ or Java or CLIPS or what have you. People with this expertise don't go into game programming because there they get underpaid. Rather, they go to Google or Microsoft or Yahoo or make their own company. (Indeed, Forza's AI was developed by MS rather than a 3rd party middleware dev house.) Why? BECAUSE THE REAL MONEY IS IN SEARCH!!! That's where the AI experts go, folks.
I like basketball!!1!
It's not just the AI that's not progressing. Behaviour in general is lagging behing hardware capabilities. For example, the newest Splinter Cell game. Consoles by now should be able to at least simulate an enemy's field of vision accurately. Apparently not. The NPCs in Splinter Cell have a very boolean field of vision, and you can be in plain view looking right at them, in good light, and they don't see you. And then if you trigger an alert, suddenly everybody's vision improves.
Crackdown is another example: The enemies seem to "see" and track you from hundreds of feet below despite the fact that you are sprinting around rooftops, outside their line of sight.
Both games look spectacular, I might add.
Instead of making enemies smarter with better AI, lets make players dumber.
Should even things out quite nicely IMHO.
some men like beautifull but brainless...
Just to interject here. One of the things I like about the older games (some with released source code) is that it's easy to write one's own AI routines (some researchers do this. e.g. agent behaviour). I'm not certain how easy this is with later games, but I'd like that feature to be added into the modding catagory.
I only beg the question, is AI pointless? Have gamers decided that a computer, at least eventually, will be able to out think and outwit a human mind every time? If so then what is the point of playing against an infallible (lol) machine. We should instead concentrate on conquering humans (so to speak). I love online play and consider it the quintessential place for a real challenge. If developers want to concentrate on multiplayer, and consider single player "extra" then so be it. "Total Thermonuclear War FTW" Arch
Some AI expands upon the IF...THEN by making the variables fuzzy.
We don't need smarter games, we just need dumber players.
As a programmer, I can model a process pretty easily. I can model objects fairly well. What I can't model is something that is nebulous and undefined.
Yes, but that's a problem with the education programmers receive, not with the world. There are good techniques for modeling those processes, you simply weren't taught them.
Good insight. Now, rather than whining, do something useful: write a Greasemonkey script that recognizes these common cases and filters them out, leaving the interesting and novel content.
I haven't seen my only friend in 2 years. Friends are overrated. Even my mother hates me.
From what I've seen, AI work doesn't seem to be something that most people enjoy doing. During the time I spent browsing (I won't say I ever really became part of it) the UT mapping scene, every other part of the mapping cycle was a labour of love, but the one part that met with groans and comparisons with dental appointments was doing the botpathing. Ironically, that was my favourite element.
I think one of the reasons why good AI is hard is because people assume that it's simply going to be mindless drudgery, whereas on the contrary, it's an area where you really need to engage in creative thinking...to think outside the box and figure out ways of making it behave unexpectedly. This is actually one reason why I never understood why otherwise artistic mappers hated botpathing so much, because to me, given that there were so many maps out there with crappy pathing, if I could make a map that had awesome pathing which gave the AI unpredictable behaviour, that could be as much an artistic/individualistic expression as any other single part of the map...it could help the map to even more stand out from the crowd. It's also one of the primary areas where even more than the BSP related stuff, (with 3D engines) art and technology can truly come together.
As long as virtual vixens can more realistically shake what their rendering engines give them, the teenage/20-something boy demographic that is the core of game sales will continue to pony up cash. Guys like prettier girls, not smarter ones, remember? :)
Especially if they're not real.
I don't think we'll be getting away from conditionals in some later version of AI.
Sure we'll have complex weighting, etc. But If/Then ain't going anywhere....
------ The best brain training is now totally free : )
Most AI is based on rules or non-deterministic methods. In a large game, this can make them a nightmare to debug, when compared to simple 'if/then' AI statements, which are much easier, but much less versatile. Once games progress beyond bugs for deterministic logic in games, then they might move towards more AI. However, I don't see that happening anytime soon.