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.
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.
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.
Psh, I could model /. any day of the week.
Editor Code:
If X days have passed since article A was posted, change summary and post as article B
Comment Code:
If keyword Windows or Microsoft found post comment flaming microsoft
If topic has nothing to do with computers post "Does it run Linux?" or "Think of a beowolf cluster..." comment
If topic can in any way be russian reversed do so
If topic names a specific group post "I for one..." comment
If topic sounds even remotely like an older topic post "Slashdot, home of dupes" comment
Repeat
There are two kinds of fool One says 'This is old therefore good' Another says 'This is new therefore better'- Dean Ing
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.
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.
You forgot random Troll posts (religious, political, sexual, etc.), Frosty Piss posts, and numerous other posts that have no relevance but need to be injected occassionaly in order to model the complete experience.
Other excluded memes: Comic book guy (Simpson quotes in general?), Profit!, etc.
Layne
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."
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
You forgot "insensitive clod" you insensitive clod!
"People who think they know everything are very annoying to those of us who do."-Mark Twain
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.
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
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...
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
Your statement = your name
... and you also forgot the part where the AI as to detect new pattern emerging in the slashdot community, and add those to the current model as they get popular.
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.
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.
If you'd read the article, you'd have seen that no one actually made that claim.
It was simply saying "Now that graphics are better, the fact that the AI sucks is becoming more apparent"
Advanced users are users too!
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.