Next Gen Beautiful But Brainless? 131
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 will decide (Score:1, Insightful)
AI - non-existent (Score:3, Insightful)
Layne
agreed! (Score:2, Insightful)
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.
Re:The market will decide (Score:5, Insightful)
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.
AI has never been important (Score:4, Insightful)
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.
Re:agreed! (Score:3, Insightful)
When people say AI, they really don't mean something that can beat them, because that's easy. They really want something that pretends it's doing something before ultimately losing. MMORPG fits this exactly.
Pre-programmed Learning System Invalid, Then? (Score:3, Insightful)
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.
Re:AI - non-existent (Score:5, Insightful)
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.
Re:AI - non-existent (Score:2, Insightful)
It's a question of quality (Score:2, Insightful)
Re:AI - non-existent (Score:4, Insightful)
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.
Graphics vs. A.I. (Score:3, Insightful)
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.
This is not game specific (Score:3, Insightful)
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."
Re:The market will decide (Score:3, Insightful)
Re:The market will decide (Score:3, Insightful)
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
Games are getting better (Score:3, Insightful)
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.
Re:Game AI is hard, but not nebulous. (Score:3, Insightful)
To call A* and finite state machines artificial intelligence is, in my opinion, an extreme twisting of the term; these things only fall under that label because early researchers were still under the delusion that they could hand-code an enormous tree of if statements and if they gave it enough feature-bloat it would seem intelligent. In my opinion, the simple algorithms used in today's "AI" engines should more be labelled pre-AI, as in useful procedures that incoming data might be preprocessed through before it's sent to something that actually does something smart with it.
In my opinion games are never going to push the bleeding edge of true AI, simply because to even model the inputs that (for instance) a group of five or six enemies should be taking in starts to tax the processor - to do it right one would need a separate render pass for each NPC, not to mention enough computational mayhem happening behind the scenes to figure out what to do with the data (yes, I'm aware that the second bit of this problem is entirely unsolved). And I somewhat doubt that even with infinite programming resources most companies would be willing to give up much if any precious processor time for something that doesn't have an immediate visual impact. Why waste time on a few thousand multiplications per frame per NPC so that you can have a decent neural network when you could use that time to push a thousand extra particles through the renderer, have even more realistic explosions, and hack together the AI just well enough using a finite state machine and some pathfinding to satisfy the average gamer? Not that I would even call a neural net AI - again, preprocessing! [Though this is less cut and dry than the simpler algorithms - the real issue here is that just about every application of neural networks involves feed-forward nets of some form, which aren't capable even in principle of learning on the fly. If someone figured out a way to train and use recurrent nets effectively, I might be persuaded to reexamine the issue, but to date I've never seen a practical architecture that even has the theoretical possibility of active learning.]
Re:Game AI is hard, but not nebulous. (Score:3, Insightful)
To call A* and finite state machines artificial intelligence is, in my opinion, an extreme twisting of the term; these things only fall under that label because early researchers were still under the delusion that they could hand-code an enormous tree of if statements and if they gave it enough feature-bloat it would seem intelligent. In my opinion, the simple algorithms used in today's "AI" engines should more be labelled pre-AI, as in useful procedures that incoming data might be preprocessed through before it's sent to something that actually does something smart with it.
As for learning - it can be done rather more simply. For instance, if an AI tactic in a Street Fighter game were to dragon-punch enemies jumping toward them - now suppose there's an aerial move the opponent can do that will defend against that attack and counter. Really, that knowledge should already be a part of the AI's play book: it should know that in cases where the opponent can do this move, it's not a good idea to do the dragon punch - so each time the attack is attempted and countered, the preferentiality assigned to that move is reduced for the duration of the match. It's a very simple type of "learning" - and the AI character certainly isn't "intelligent", it's just accumulating rudimentary data about what does and doesn't work, and using it. But nevertheless, the AI character is better at playing the game as a result.