What exactly is the difference between a tactical and a strategic algorithm?
Putting that aside for a second, don’t be fooled by chess computers. They are not good at tactical play or positional play. They are good at calculating all of the possibilities for N moves deep and then selecting which line gives them the highest evaluation. Computers don’t see forks, they see that no matter what, 2 moves from now, they will be up a piece. This leads to the classic short comming of computer chess… their inability to properly evaluate sacrifices. For example, if a chess computer is programmed to search for the next 10 moves in every line, then you can beat it every time, by finding a line that contains a sacrifice and wins on the 11th move.
In so far as AI for RTS or FPS is concerned, it’s quite an easy thing to say, “I want my AI to flank the player”. It’s an entirely different matter to make it a reality. It isn’t the action of flanking per se that is difficult, it’s the evaluation of when it is a good idea to flank vs when not to flank. In chess, this is simplified. The computer can calculate the next moves and decide whether any given move is a good move or a bad move. In a FPS it’s much harder, because there is no way of telling where the Human player is going to go or what they are going to do. It would probably involve a mammoth effort on the programmer’s part to input all of the various map locations including terrain options and to write routines to determine which areas of which maps are good for flanking, which are good for sniping, which are good for ambush, etc, etc.
RTS by contrast are far easier to program AI for, because the rules of the game are much more clearly defined. It’s a relatively simple matter to determine whether it’s more economical to produce another citizen to collect the necessary resources for a given project, or just save the resources you have.
A citizen costs 50 food and requires 4 turns to build and can collect 5 food per turn.
You want to build a structure that requires 250 food.
You have 100 food in the bank and are accruing food at the rate of 25 food per turn.
It’s a simple calculation based on how long it takes to build a citizen as to whether you can build that structure faster by making another citizen to farm resources, or saving your resources for the 6 turns until you have enough to build. (in this example, you are better served waiting to build the structure and making the citizen afterwards)
So, in a nutshell, the more clearly defined the rules of the game are, the easier it is to write an AI. That being said, there are still some excellent FPS AIs out there, but Half-life and Halo aren’t among them. Check out Call of Duty or Medal of Honor.