I have recently been privy to a discussion amongst a very learned and experienced group of AI developers. They were all expressing their opinions on a subject that seems to be ever lurking in the virtual halls of the AI world. That subject is, in a broad sense, how much control should we have over our AI agents? Alternately, how much is even necessary? Interestingly, the answers to the “should” and “necessary” questions differ significantly depending on whom you ask. There are a number of schools of thought in this regard. I will try to touch on them here (although this will not be an exhaustive list, I’m sure.
First, there is the “script everything” crowd. The belief here is that conveyance of the designers intent and vision as well as a properly presented level of entertainment is only possible if the agents in the game are treated much the same as actors in a film. We hand them not just the plot and screenplay but also micromanage what they say, how they say it, how they move around the set, how they even more their hands and face. The director of the film is analogous to the designers in the game world.
Second, there is the “autonomous agent” lobby. These are people that believe in the complete hands off approach. Design independent agents with the ability to perceive the world model, analyze their goals, and act on those goals without any intervention whatsoever. I suppose this maps over rather well to the “reality TV” model. You can populate your world with agents about which you have a general notion — but you can only vaguely guess at what they will do based on your perception of their “personality”. Once you toss a bunch of independent agents in a room, you never really know what you are going to get.
A third group, however, is what came up in this discussion. This group was based on more of a “repeat after me” model. The idea was that using various technologies, game entities could be shown how they were supposed to act by example. In some cases, this involved neural nets learning situational based responses. In other cases, this was based on a rough equivalent of what MoCap is to animation… i.e. “this is the way it is supposed to look.”
Obviously, this triangle is not composed of three completely disjoint points but rather outline a continuum of possibilities. The most common word that illustrates this would be “except”. For example, I want my agent to be completely autonomous except under this particular circumstance when I need it to be scripted. There is a wide range of possible combinations at that point… and yet it is deciding where that word “except” needs to be that seems to be the problem. Each of the above methods has its advantages and shortcomings… far more numerous than what I can delve into in this column. (After all, one could make the claim that I have been doing too much “research” this week.) Suffice to say that none of them are a “silver bullet”. At least not yet.
Much of the separation seems to appear along genre lines. Not the genre as a whole, but rather the genre role that any given agent is playing at one time. For example, you could have RPG elements mixed into an FPS game. During those times, strictly using a solution that is good for an FPS agent would fall significantly short of providing a solution for the RPG needs. One example that was given in the discussion I mentioned before was particularly poignant… a solution that involves the “let me show you how to do this” approach — which is suited well to fighting games — would be tedious if it were applied to an NPC shopkeeper whose daily life involves baking bread, putzing around his store and serving customers that came in to his humble establishment. (Of course, I have seen plenty of people in MMOs who were perfectly happy to live out their online lives doing exactly this. I admit that in the first week after the release of Ultima Online, I made a killing by dying people’s clothes for them. Was that really
10 11 years ago?)
So, my question for the week is along the lines of ferreting out where those dividing lines are. What benefits are there to each of those three approaches? What caveats exist? As there merit in the industry slowly drifting towards any one of those three apexes?