|
As someone who has worked intensively both in the fields of rendering and AI, I can say there are easy and hard problems in both. There is much in the way of AI that we already know, it's just that your average developer actually knows very little about AI (not trying to be insulting, it's just been true in my experience) -- and much more so your average company or publisher does not care to fund AI beyond enemies that can throw themselves into your gun barrel. Propositional logic, expert systems, backwards chaining, and neural networks are very powerful tools that we know a lot about, but most games rarely implement (perhaps trivially at most). We still tend to hand-design/script quests, when these fields of AI could provide very powerful emergent gameplay. What it mostly boils down to (for the sake of interesting gameplay) is proper knowledge-representation (i.e. abstraction) and reasoning (a prolog-like reasoning system would be a good start). And of course, path-finding/locomotion is pretty much a given. Interestingly, it is less about implementing these and more about designing a game that can use them properly - almost without doubt you need to create a game world that functions on its own, where every NPC has its own set of motivations, which is a very different task from creating a game that is limited to what the player does. Other than that, there are still plenty of hard problems left in rendering, especially with regards to effective procedural generation (which arguably falls more under modeling). Our ray tracing is still far from "realistic" - take a more complex scene than a table with a wine glass, and we can still usually discern the difference, especially with complex materials and subsurface scattering (human skin STILL does not look quite right). As it is, we are only able to calculate light travel by points (we use the term ray tracing, but typically every ray does a number of steps, unless every model is mathematically calculated). Light travel should be determined by complex volumes -- which is pretty much impossible to simulate on today's hardware ( O(n^6) magnitude at least - growing by volume, travel distance, number of objects, volume bounces (dear god), and number of pixels calculated ). |
The path to realism in graphics is pretty clear because the real-world behavior of light is well-understood. There may be equations yet to be perfected, and challenges in efficiently simulating that behavior, but the direction is never in question; you can always tell if you've made it look more realistic or less.
By contrast, AI in games has reached a local maxima; the combination of pathfinding, scripted cues, an elaborate finite state machine, and a few basic heuristics is capable of simulating human behavior well enough, and with few enough glitches, that it presents a realistic universe to the player so long as they don't exceed the scripted bounds. However, if they do exceed those bounds, the whole thing appears paper-thin. You can extend the bounds with additional effort in scripting, but not infinitely, and with diminishing returns-- and doing so gets you no closer to having real AI which would be able to make those same decisions on its own.
Striking out and attempting to make an intelligent NPC-directed world from scratch... I'm not saying it's impossible, but I haven't seen anything, from AAA titles to indie games to tech demos, to imply it's coming soon.
But maybe that's just because I haven't seen the Minecraft of AI-driven gameplay yet.