Artificial Intelligence is the backbone of videogames, without it you would have no challenge and no fun. It’s used to add more realism to the game by providing challenges to the player, therefore making the game fun. Artificial Intelligence uses many techniques to interact with the environment. I am extremely fascinated by A.I. and hope to pursue a future in this field of game development. Already I’ve learnt a lot about A.I. development, and aside from applying it into my game, I felt compelled to explain the issues and feats behind A.I. development.
The main technique is “If and Else” statements. Basically, this tells an A.I. what to do, for example, if I do this you do that. Even though this may seem pretty easy, it’s not because there are hundreds and thousands of ways to have an A.I. interact with its surroundings. This is where Behavior Tree’s come in. They cut down on the amount of “If and Else” statements and organize the A.I. behaviors. Think of it as a family tree but instead of people, you have reactions and actions. Behavior trees allow the A.I. to narrow down its choices and select the perfect reaction.
The above process only allows them to decide, the main method used for the A.I. to interact and interpret the environment is called the “Limited Knowledge Model” This tool allows the A.I. to see what’s going on around it. To stop the A.I. from knowing everything, designers used a method called the “internal model”. Using this, the A.I. has no knowledge to start with and can perceive the world in its own way. The only way it could find out is by seeing, hearing or by getting information transferred through another A.I. through communication. If an A.I. saw you and you hid behind a wall, the A.I. woukd know you’re there but he may not know if you moved or didn’t. This allows the A.I. to make mistakes, therefore making the game realistic, because not even humans are 100% correct all the time.
The purpose of A.I. is mainly to provide a challenge to the player through opposition. However, artificial intelligence is also used to give the player assistance and add more realism to the game. For example, in the game Fable 2, the player is given a dog. The designers were originally going to have the dog controlled by the player. However, they decided that it would be more “magical” for the dog to be an A.I. What’s great about this is the way the dog then interacts with the environment and player. Another step forward with game A.I. is the enemies in Far Cry 2. They’re so advanced that they can interact with the game in ways never before seen. For example, the game is based in Africa, so if it get’s hot, guards patrolling will seek shade and take longer breaks. Another example is how the enemies interact with each other. If a patrol is shot and another patrol sees his friend on the ground, he’ll run to him whilst seeking cover from gunfire and pick him and carry him to a safe zone. Despite these advancements, there are many issues that face artificial intelligence. I have to say that A.I. is the slowest developing product in game development. This is due to many things but the main issue that it faces is pathfinding. Each new game that comes out has more geometry, more advanced terrain, more obstacles and more A.I. interacting with each other.
A recent advancement by Epic Studios could fix this problem however. Called the “navmesh”, this coding method collects data on the games geometry and meshes creating a clear picture in the A.I.’s head of it’s surrounds allowing it to navigate a map with hardly any effort of the designer. Another setback is animations. Each movement or gesture an A.I. makes had to be made by an animator. This severely restricts the movement an A.I. can make and cause the A.I. to sometimes fail. As Damian Isla from Bungie Studios said “If I move my hand to pick up a pencil, I first move my hand back a little bit before moving it over the pencil and picking it up with my fingers, A.I. just can’t do it because we haven’t gotten to the stage where an A.I. can make it’s own animations”. There is however a program in its early stages called Euphoria that can do this. It allows an A.I. to make its own animations and move its body around like a real human would.
However, it’s still early on in development, and the two games it been used in so far has found numerous glitches. Other issues that face A.I. are actually due to programmers and not programs. People are deterred by the math involved as it requires lot’s of mathematical knowledge. Even though A.I. is traveling at a slow pace compared to other gaming disciplines it is still progressing at an enormous speed and one day we will have an A.I. that can pick up a pencil much like we would.