One of the key features of AOP9 is the AI; How the Computer plays, and and the difficulty of beating it goes a long way to testing the players FQ... That's Fun Quotient, for those playing along at home.
Over the various games we have worked on, we have learned (and re-learned) a number of things; Today I though I share a few of them with you.
1) AI is Hard. Making a computer imitate the intelligence of a functioning human mind is not easy; a non-functioning human mind, easy.
There are really only two factors that make a Computer player Believable; It can't be too smart, and It can't be too dumb. the trick comes in walking that very narrow line.
2) AI is Complex. A Player can glance at a game and very quickly understand what moves they can make... In the Tenths or hundredths of seconds range. this is because the human mind processes the things the player sees without any conscious effort. After the Rules to a game are learned and under stood the player can make their move intuitively and quickly... Often in well under a second. Without sight the Computer cannot do this.
3) AI is Easy. Once you boil all the actions in a game down, most Computers have to do about 3-5 actions. (i.e. Cover, Shoot, move to position, and defend area, will get you most of the way to an FPS bot). The issue is in how and when those action happen that make a Smart or Dumb AI, therefor making a Hard or Easy Game.
4) AI is Simple; well, AI is about Simplifying. one must give the Computer Senses(such as sight) and it must be able to understand the rules of the game. in order to to this, you must usually distill all of the data from the game into easy to use and easy to understand bite-size chunks.. that are relevant at decision time. when presenting the a game board to a Computer Player, one does not necessarily need to tell the computer about each and every inch of the board, if the AI can only interact with 2 inches of it at a time; in that case it might be better(and usually faster) to tell the bot about 2 or 3 inches of the board that it can use, and leave the rest out(until it is relevant)
5) AI must be fast. no player wants to wait 20 seconds, or 10 or even 5 for the computer to move his pawn in chess... this is even more demanding in non-turn based games such as FPS, or fighting games... taking longer that 1/2 a second mean the player can kill the bot before the AI knows the player is there.