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."
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.
"The market" can't decide on something that it doesn't have a chance to buy in the first place, now does it?
Nothing's stupider than some pithy comment about "the market." The market is people, and people can be irrational about a lot of things. The invisible hand deserves a rap on the knuckles from time to time.
It doesn't mean much now, it's built for the future.
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.
Me thinks the invisible hand needs a shiny new pair of handcuffs, from time to time, to teach it to stop groping people.
Multiplayer Gaming (defined): Sitting around, discussing single-player games with my friends, at the bar.
"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.
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.
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.
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."
i'm a fan of free markets... getting things without having to buy them is quite rewarding.
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
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.
If I'm reading this right, your basically saying that people have no choice, because all publishers value graphics over AI, so even if people did'nt care about graphics, only AI, it would'nt matter, because there's no developer out there, right?
:)
If so people will vote with their dollars still. If NO developer meets what people want, then ALL developers will suffer, just look at the Video game crash in the 80s. Everyone (for the most part) produced crap, and the people responded by saying screw you guys.
Of course if I'm reading what you said wrong, then nevermind
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!
Instead of making enemies smarter with better AI, lets make players dumber.
Should even things out quite nicely IMHO.