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 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.
With the already ridiculously high cost of development to bring graphics up to modern day standards for "bleeding edge" it's not like they have much time to develop a good system for something they can't show you a screenshot of. Spending the time to develop a real AI as you described doesn't really add much value to the game in terms of marketing.
Another reason AI isn't advancing is because modern games in addition to concentrating on graphics also concentrate heavily on multiplayer and online aspects. Sure the "AI" in an FPS or RTS might not be all that great but how good does it need to be? most people will just breeze through the solo missions in a few short hours and then spend the next 6 months to a year playing online where AI doesn't even factor into it. Once again, some solid multiplayer features are much more valuable use of development time then computer AI.
Honestly I see us moving to a point of being less depend on AI before AI actually gets better... it's just not a cost effective use of development.
Collector's Edition
Imagine for a moment, you have a single player FPS. Now, take that FPS and add to it an outstanding AI. Then add in cooperative play for up to 8 players. Now, you have a game that you and your friends can play cooperatively, a computer that learns your tactics, and can develop new tactics on the fly. This to me seems so much more entertaining than fragging the same guys over and over again in a deathmatch. I'm pretty sure I'd buy it.
If you're looking here for something insightful or thought provoking, you're probably looking in the wrong place.
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
Instead of making enemies smarter with better AI, lets make players dumber.
Should even things out quite nicely IMHO.