Chris Hecker is quite a character. Neil Kirby passed on to me that he once heard Ernest Adams (admittedly another character in his own right) describe Chris as a cross between Albert Einstein and Winnie the Pooh’s bouncy pal Tigger. If you’ve seen him speak, you know that is dead on. However, he is also a visionary in the game world that also brings back memories of the old E.F. Hutton commercials… When Chris Hecker talks about the game industry, you had better listen — there’s likely something important that he’s thinking about.
At GDC 2008, this was again the case.
Tigger Chris made an interesting suggestion about the path of future game AI. In his lecture entitled Structure vs. Style, he pointed out that the cusp in graphics presentation technology was when the atomic building block was settled on — that of the the texture-mapped triangle. Once that technique was “discovered”/”invented”, graphics technology then built upon it in a variety of ways (e.g. bump mapping, normal mapping, etc.). However, the core always came back to that simple concept — the texture-mapped triangle. It became a standard in the industry and is, literally, the piece from which everything we see in games is built upon. And why is that? Because, as the title of his presentation alluded to, it is the nexus point of “structure” and “style“. Structure, as defined by Chris, because the computer can reason about it at a deep, complicated level. Style, because the artist can use it, as I mentioned, to create… well… anything and everything! Given enough time and enough texture-mapped triangles, you can build entire cities. It’s simply a question of scale. Look closely enough and you get right back down to that cute little 3-sided polygon with something spray-painted onto it.
The point of his lecture, however, was not a worship service dedicated to this Holy Trinity of Vertices. His point was that there is a major component of the game experience that hasn’t yet found the spark for it’s Big Bang of development such as the one that occurred in the graphics universe. Game AI has yet to find that “one thing” that their world can be reduced to. And, as such, there can be no “Photoshop for AI”, as Chris put it. Yet.
The Search for Standards
There has certainly been plenty of progress at standardizing terms, concepts, definitions, and even code over the past 20 years. As AI programmers, we all know what A* is. In fact, we all are familiar with the what the letters f, g, and h. stand for when we talk about it. Not too many people need to “roll their own” pathfinding algorithm any more. Sure, they may tweak and nudge and add layers of complexity — but at the core, it is still the same A* algorithm.
“No one wants to build their world around the model required of a middleware.”
However, even something as simple as this is not without its controversy. The creators of AI middleware will tell you that they are fighting an uphill battle of sorts. One of the major pans on their products — and even the concept of middleware in general — is exactly the point of standards. No one wants to have to build their world around the model required of a middleware piece — and that is even the case with something as relatively standardized as pathfinding! The amusing irony is that the navmesh idea is also based on the idea of creating something out of polygons. It would seem that even the pathfinding problem hasn’t gotten the definition of a basic building block figured out either.
If Not Atoms, Maybe Just Molecules…
But that only solves pathfinding. In the past, that used to do it for AI. Move around the maze and you’re good to go. The problem gets worse. AI is so much more than pathfinding now. And that is where we run into problems (but at least not walls, I suppose).
The graphics world operates on an economy of scope. They can create a lot of scale by simply iterating one thing. Unlike building a city with near infinite polygons, the purview of AI covers many disciplines. Perception, strategy, tactics, animation, communication… each of which has their own subsets of specialization. What is at the nexus point of all of those? Is there anything that is the core, atomic building block off all of that? Or are we, perhaps, hurting ourselves too much by lumping all of those disciplines under the one banner of AI? Maybe there is a common thread in each or any of the categories above that doesn’t necessarily apply to the others?
Screenshot 1: AI Shop coming soon to a computer near you!
Can we come to an agreement on, say, animation AI? Just looking at the books on the subject, the proceedings of GDC and other such conferences, and web sites dedicated to animation AI, it seems like there are a lot of dogs in the race (and some are even running on different tracks). While there have been standard-like leanings on things such as skeletal systems, there are lots of ways that you can implement those. The skeleton itself is not AI — what we do with it is. That involves motion and, really, the reason for such motion. Is it due to the physics acting on the skeleton or is there purpose and intent from the actor itself? How is that represented? Is it both? At what point does it cease to be physics and become AI?
How about perception? Or is perception not really AI but physics? (Here we go again.) Sure, a ray-cast is easy enough for line-of-sight checks… but is that AI or just geometry? How do we represent sound transference in a way that everyone can use and build upon? That would mean that we have to all agree on standards for things like acoustical reflectivity and absorbency that we can then embed into our surfaces. Walls, floor, furniture and the ubiquitous crates and exploding barrels would all have to be “painted” with information on how to handle sound. Is that feasible?
Strategy and tactics are simply insane to try and boil off down to a stock. However, one thing that may be atomic is the concept of a “task”. Planning algorithms and hierarchical task networks certainly seem to think so! But what is a “task” comprised of? And, to complicate matters, you would need things like preconditions and results of those tasks in order to connect them properly. Both of those require definitions of world states that can be tested and changed respectively. Wouldn’t we have to standardize the world model in order to standardize the task model?
We can’t even get close to finding common threads in some of the new, leading edge concepts that AI is delving into of late. Emotion? Psychology? Heck, psychologists can’t even come up with a core building block for real humans much less one for artificial ones.
So, what is holding us back? Is this a solvable problem? Does it need to be solved? If it is not solved, are we forever doomed to build and rebuild from scratch? Will there eventually be entire camps or schools of thought about the construction of AI?
Can there ever be, as Chris Hecker put it, a “Photoshop for AI”? Post your comments below.