This is a paper I wrote about the artificial intelligence in the game Hitman: Blood Money developed by IO Interactive and published by Eidos Interactive. I wrote this back in May 2007 for my “AI for Interactive Envrionments” course taught by Jessica Bayliss in the Rochester Institute of Technology Computer Science Department.
Hitman: Blood Money is the fourth video game in the Hitman series where the player is tasked to carry out assassinations without being caught. The player assumes the identity of Agent 47 (simply referred to 47), a genetically engineered male clone designed to be the perfect soldier. 47 was created in a secret laboratory and possesses the DNA of several dangerous criminals along with an extra 47th chromosome (as opposed to the normal count of 46 chromosomes that people have). While an extra chromosome usually leads to defects in real life, 47 is granted extra speed, stamina, strength, and intelligence in the game’s fictional world. 47 was trained to be the perfect assassin from an early age, and no other clone or project has come close to the success of that is him. He eventually escaped the facility that he was created in and soon became a hired assassin.
The gameplay of the Hitman series has generally remained the same throughout its entire series. The key focus of the game is stealth. While the emphasis is largely on stealth gameplay, the player can choose to be more open about acts of violence in the game. However, subtle approaches yield better rewards. While guns can be used to assassinate targets, other items can become improvised weapons such as nail guns or meat hooks. Levels also are designed to let the player create “accidents” to kill their targets. Accidents are probably the best method in assassination, and there is usually a way for the player to cause one in each level. Using guns or other methods can affect the player negatively especially if evidence is left lying around. The most recent incarnation of the Hitman series utilizes evidence to calculate a notoriety score for the player. The more explicit a player is, the higher the notoriety, and the greater the chance that in-game characters will recognize 47 (adding more challenge to the game).
The Hitman series also features an alert system. An alert is triggered whenever something suspicious is seen or heard. Dead bodies and gunshots are some examples of alerts. If 47 is seen sneaking around or moving through areas where he is not supposed to be, an alert will be triggered as well. The player can don disguises found in each level of the game to help deter alerts. However, most disguises usually come from people that the player must knock out or kill first. If an unconscious, naked person is discovered, people will become suspicious of the player in the stolen disguise. Obviously, running amok with guns a-blazing will not help in avoiding alerts. The alert system is not a discrete, binary component though of the game. Often times, little things that player does can add up over time depending on the severity of the situation. Sometimes a partial alert may be triggered but can subside after an appropriate amount of time has passed.
The artificial intelligence of Hitman: Blood Money tends to be more passive than active. This is largely because it is dependent on what the player does. It does not make sense for the game to actively seek out the player when the player is on a mission that no one else knows (besides his employer). The AI structure of the game is most likely a rule-based or scripting system. My reasoning for this is because of the number of stimuli and various responses that can occur in the game. The only resource I could find about this game’s AI is an interview with Jonas Lind, an AI programmer for the Hitman games, on HitmanForum.com about the AI in Hitman: Contracts, the predecessor to Hitman: Blood Money. Much of what Lind says about Hitman: Contracts is also applicable to Hitman: Blood Money. Considering the success of the series and the similar nature of each game, it would be safe to guess that Blood Money has some of the same foundation as Contracts.
What Lind says about the characters in Contracts is that each one has base scripts that they follow and special scripts that are specific to the level or situation. The biggest part in getting caught is how alert other characters are around the player. Each character can see or hear events in some range. This range can change depending on environmental conditions. Dark areas or rain might obscure a character’s vision; certain sounds may travel through walls or not depending on the sound. Events like these also tie back into the alert system. The type of character also affects what alert action is decided. Typically, characters fall into either the category of civilian or guard. Civilians will panic, run, or alert nearby authorities.
Guards will become suspicious and start investigating or return to patrol. Anything that 47 does has the potential to set off an alarm – dragging bodies, sneaking, carrying guns, leaving guns behind, manipulating the environment (such as cutting power), assault, lock picking, shooting, switching clothes, being in the wrong place in the wrong disguise, or wearing uncoordinated disguises (like a waiter with a gun as opposed to a police officer with a gun).
Scripting the AI to follow a set of rules gives the game the illusion that characters behave individually (at least from each other). Guards may be patrolling an area, or they may be guarding doors. Civilians may just be wandering around enjoying their time while others may have preset activities (such as chefs, carpenters, or actors). Most of these activities are largely scripted depending on the level so the AI is not completely autonomous and free-form. Characters do not behave too individually though. There is some consistency in how they act to show off some crowd behavior. When guards are confronting 47, they will gang up on him and run back and forth to avoid being hit. Large crowds of civilians will flee if they see or hear 47 shooting a gun.
Hitman: Contracts employed an arbiter which coordinated information sharing among characters. Hitman: Blood Money also uses something similar if not the same. Once a character sees something suspicious, information is shared by word-of-mouth. It is possible for the player to stop this character before the information spreads. If the character does reach another person, that information becomes propagated locally which will then govern other characters in the vicinity. If an event were to occur outside, indoor characters would be unaffected.
Though the AI gives some individuality to characters, it is sometimes not very smart. The behaviors that emerge are remarkably simple and repetitive. Oddly enough, carrying a gun in plain view around citizens is okay whereas guards will immediately retaliate when they see you.
Shooting a gun off in a crowd will cause everyone to scatter. However, once people have moved out of a certain range, then they resume their normal behavior. The Mardi Gras level exemplifies this effect best. What happens is that a large circle of emptiness will form around 47 as in the following picture:
On the other hand, guards will come swarming at 47 shooting at him but always maintaining a distance like in the following situation for example:
No flanking occurs and the AI is simple enough to avoid and regain the upper hand. The adverse effect that also occurs is that guards will pay no heed to civilians in the way. The body count can quickly pile up in a crowd when guards are shooting at 47.
The other problem with the AI is that good guys and bad guys who are both targeting 47 will make no distinction against each other. In the Mardi Gras level, 47 is assigned to assassinate member of a gang (who are wearing chicken suits). 47 can enter the gang’s hideout and provoke the gang to start shooting at him. Soon thereafter, cops will also run through the door and also begin shooting at 47 without acknowledging that other people have guns and are shooting them at 47 too.
One strange phenomenon about this situation is that the player can make 47 wear a chicken suit, enter the boss’s office (the assassination target), and trigger no alarm even when another guard chicken gang member comes chasing 47 into the office. The guard boss enters a cautious, guard mode but does not draw his own gun until provoked by 47. However, this may be a special exception considering that the boss is one of the targets in the level and has his own set of scripts to follow.
Though Hitman: Blood Money offers four level of difficulty – Rookie, Normal, Expert, and Pro – there almost seems to be no distinction among the AI level. The difficulty levels describe the AI as accommodating, full, increased, and advanced respectively. These descriptions probably refer to the amount of cheating that the AI is allowed to do such as how far the AI can see or hear or how easily it can see through disguises. Despite whatever differences may exist among the difficulty levels, all the characters’ behaviors are the same. Some characters may also fall into the same movements and appear coordinated due to their scripted behavior.
The one detail to note about the AI in this game is that observing it can be limiting. Trying to analyze it in depth in the game will result in the player dying very quickly. Enabling cheats allows for more observation of the AI in the game and also revealed how limited the AI really is. For the purpose of this game, where stealth is favored over action, the AI is suited well enough for it. Enabling cheats can also only be done on the 1.0 or 1.1 versions of the game and is more geared towards debugging than aiding in gameplay. Not all cheats work and may also cause stability issues or crashes. There were several occasions where the game would crash on me. Ultimately, my video card died but I think a combination of factors besides enabling cheats ultimately led to the death of my graphics card.
The stealthy nature of the game is what appeals to me as well as the open-ended nature in which the player is allowed to kill a target. Playing an assassination scenario over and over showed the various disguises one could use to trick others and the multitude of paths to reach a destination or goal. Areas almost always had some environmental factor to them. Lights could be turned off or tossing coins could distract guards. Targets could be killed in a variety of ways including accidents, poison, sniper rifle, or garrote. The notoriety system was also a new feature in Blood Money. Depending on the performance of the player, a dynamic newspaper front page would be generated detailing what the death of the targets and any evidence from the scene. Notoriety can be brought down but at the cost of spending the hard-earned money from completing missions. Overall, the game has a more puzzle-like nature (which is my personal preference of games) and steers away from using a brute force run-and-gun method.
The artificial intelligence in Hitman: Blood Money still needs some work but largely accomplishes the basic stimulus-response nature of people in the game. To improve the AI, it would be better if characters had long-term memory. This is not always apparent, but there are occasions where characters would stop, look at you, resume an activity, stop again, and so on. Combat AI could also be improved as well even though the nature of the game is not focused on it. Above all, the game could probably use more diversity in how characters act. Creating more instances of input (though complexity might skyrocket) can contribute to more behaviors. The result could be a more dynamic “life-like” world instead of instead of the normal, zombie-driven, localized behavior. Any more interactivity with the player is a bonus and could yield some interesting and new challenges for future games.