Damage Incorporated and The Suffering suggest another interesting point about the sophistication that will be required of AI in different games. What made the work on these games so challenging was the fact that players were counting on the AI to performcertain actions for them. In Damage Incorporated , if players ordered a teammate to move to a certain position, they expected that trooper to reach that position and defend it. If the AI failed to do so, players might die as a result, and would curse the AI for failing them. Even worse , if players ordered the AI to relocate to a specific position and the trooper had difficulty getting there, players would become frustrated, especially when the appropriate path to that location was completely obvious to players. But if an enemy AI agent had trouble finding a path to a location, players would never be the wiser. If an opponent got stuck in a corner on rare occasions, players would be all too happy to exploit the AI agent s stupidity by mowing down the stuck foe with a blast of machine gun fire. However, if a teammate got stuck in a corner, he would be unable to follow players to the end of the level. Since players could not finish a level unless their entire squad was in the Extraction Zone for that level, the AI s mistakes would end the players games prematurely. Nothing frustrates players more than dying because of faulty teammate AI.
One can take a couple of lessons away from the problems I had with the AI implementation on Damage Incorporated . The first is to never do a game with teammates in a complex 3D environment. This is a lesson I apparently missed entirely, since I subsequently included companions in The Suffering . Thankfully, my experience with The Suffering was much smoother, in part due to the lessons I had learned the first time around. The other conclusion is that the amount of AI sophistication a game requires is dependent on how much the failure of that AI will impact the player. If the AI screws up and the player s game ends as a result, that is very bad. If the AI makes mistakes and the only consequence is that the player s game gets slightly easier, then it is a failing the players can probably live with, as long as it is a rare enough occurrence. So when a designer is working on an AI system or critiquing a programmer s work, he should always keep in mind how important it is that the system function correctly. It is perfectly acceptable if only the development team knows of the AI s stupidity while players are completely ignorant of its shortcomings.
It would be nice to make every system in a game as smart as possible, but the realities of the production cycle dictate that there is only so much time that can be invested in any given part of a game. Rare is the case that a programmer has finished all of the work needed for a game and still has time to polish everything that he would like. As such, spending a lot of time on overly sophisticated AI systems will directly take time away from other tasks that desperately need work. The reader will notice that when I listed the attributes that a game s AI needs to have, I did not list be a respectable, academic-quality artificial intelligence. The AI for a game only needs to be good enough to challenge players while not appearing overly foolish in its actions.
In his fascinating Game Developers Conference talk Who Buried Paul? Brian Moriarty discussed the concept of constellation in games. This theory is of particular relevance to game AI. Roughly stated, the theory is that humans , when presented with some seemingly random data, will try to make sense of it, to put it into order, and to try to find meaning where there may, in fact, be none. For game AI, then, Moriarty suggested that having your AI perform seemingly random actions will cause players to think the AI has some grand, intelligent plan. Players might think something along the lines of the following: Why did that platoon of tanks suddenly storm over that hill? There does not seem to be any reason for it. Maybe they know something I do not. Maybe they are regrouping with a force I cannot see. Players who are not game developers themselves will have a tendency to try to believe that game AI agents make intelligent choices. Of course, there is a fine line. If players see an AI agent pointlessly ramming into a wall they will know something is amiss. It is important to remember that players do not want to find bugs in your game, and will do their best to believe in the intelligence of the characters they see therein. By throwing in some random behavior, your AI agents may come out looking smarter than they really are.