The pre-scripted characters, in common parlance the NPCs and mobs, are... well, they're fairly stupid - perhaps unforgivably stupid, given the state of the art - in today's MMOs. In case you need proof, here you go. Given an NPCs location, an partially occluding obstacle, and a player attacking with a ranged weapon, a mob, choose a lengthy and possibly circuitous path, daintily squaring their corners, all the while taking needless damage- instead of perhaps using the terrain and objects to their advantage, firing back a hale of arrows and ducking behind the obstacle. A mob faced with a
hopeless rush of attackers will gallantly stand his or her ground, at least until a hitpoint threshold is reached. Mobs within ten or so paces of each other won't tactically retreat when attacked, banding together to create something like a fair fight.
To provide scripts for the mob to more intelligently handle the above scenarios is certainly possible, but given that AI is almost always handled server-side (to prevent hacks and cheats client-side), such a complex routine running for the tens of thousands of NPCs and mobs thousands of players are interacting with would probably (easily) melt the server. This technological limitation, friends, and not inept designers and programmers, is why your NPCs and mobs are fairly moronic and your game world is mostly static.
That is, until now. Gil Asherie and the folks at AISeek are out to remove these complex barriers to greater immersion and dynamic environments through their specialized server-side hardware solution and development kit, slated for release this summer.
Gil explained that artificial intelligence in games is hierarchical. Game-specific behavior, like the NPCs decision to attack with a special melee ability or beat a hasty retreat in the face of an attacker, is high-level and must be programmed to the design specs for each game. But before that can happen, low level AI has to kick in. The server has to decide if the mob has line of sight to the attacker, at what point the mob perceives any danger or tactical opportunities prior to the fight, what the optimal path to melee range of the attacker is, whether there are any objects that the mob can use to its advantage if attacked, and a possible tide-turning path of retreat should the battle trip the retreat condition. These sorts of low-level AI tasks are where AIseek does it's magic, because these routines are common, algorithmic, repetitive, but also highly CPU intensive at scale.
AIseek's "Intia" is, in short, a highly specialized silicon chip that continually updates the navigational graph of a game every 3/4 of a second. That's the nuts and bolts of it, but the AIseek chip seems to represents a paradigm shift for developers. Today, a designer may script a patrolling mob to start at point A, move north 20 meters to point B, head northeast for 30 meters and turn around at point C on a road. With AIseek you give your mob the goal of patrolling a section of the road, what it's perceptual skills are, what kinds of objects the mob could use if attacked, and how smart it's going to be about retreating. AIseek handles the details of navigation, perception, and possibly terrain utilization. Rather than re-scripting the mobs, AIseek allows the engine to "recalculate" the AI on the fly, at a fraction of the performance cost.
You can argue that server software can accomplish this, and Gil showed me that this is true, though allowing the software to take care of the graph routines results in a severe performance degradation at scale. Throw in a dynamic environment where, say, walls could collapse during a siege, opening new pathing options or a table could be flipped on end to provide defense from a ranged attack for a mob, and you've gone beyond what today's massively online framework can handle and into the realm of AIseek.
Another aspect of the demo involved bombing a section of a city map into ruins. The NPC soldiers, whose goal was simply to hug the walls and get to the top of the map safely, noted the explosion and altered course long before they reached the devastation, thus constantly choosing the best route. It was obvious that these mobs weren't just executing IF THEN statements in their little heads (called "local obstacle avoidance" in design terms), they had an innate "understanding" of the big picture. A useful analogy is facing a road delay in your hometown versus in a strange city. In your hometown, you probably know some shortcuts that will put you back on the right path quickly. In a strange city, things would be more mentally draining as you would have to "feel" your way through a detour, reacting to every fork in the road.
This is a developer technology- not yet for end-user - and Gil pointed out that the justification for implementing AIseek has to go beyond productivity and time savings. The designers of AIseek simply want to allow developers to do what they want to do with AI, make immersive and dynamic MMOs, without worrying about the potential performance hit. Gil believes that developers will come to realize that smarter mobs (and more of them) will come to be a differentiating factor between the top-tier MMOs and their competition in relatively short order. With the MMO audience reaching many more types of gamers these days and consumer expectations skyrocketing, such game-defining technologies could very well play a huge part in the future of the genre.
Thanks to Gil Asherie and AISeek for discussing their exciting new technology with us at OGDC 2007.