A good AI is one that plays well, maybe too well for the player, winning him always.
A fun AI is one that plays "somehow" to make the player feel he can win if he plays good.
The difference between the two is that a fun AI can be winned if one of two conditions are met:
- The player is skilled
- The difficulty level is set to low
While a good AI can become too good for some players and even discard the opportunity of winning.
I remember my university years, when we had an assignment of making a tic-tac-toe game of one player vs the computer (in a functional language, Caml). I built the game and used a basic AI consisting on few rules:
- If AI starts, place always on the center
- If player starts, place randomly
- If player has 2 consecutive marks, break the line
- If place one mark, try to place another to achieve a 3-mark line in next movement
This is how a normal tic-tac-toe player would think. The problem comes when we forget one critical factor: humans made mistakes.
My simple AI was a good AI, in fact too good because never made a mistake. Therefore, there was no chance of winning it, it would always either win or draw, but never lose.
I had to change it to a fun AI. I modified the AI to sometimes randomly place a "first mark" or "second mark" (that is, not actively searching for a winning line unless it had 2 consecutive marks).
Most games, not only RTS, do this: In a shooter enemies have worse accuracy or limited vision field of views, in racing games cars will take the turns badly (or even crash between them), or will ignore "crystal clear" actions in a strategy game.
But sometimes, game designers forget how AI and difficulty tunning should be done (always having in mind the player), creating bad approaches like deaf and blind enemies in lower difficulty levels, or 100% accuracy sharp-shooters that kill you before you even had a chance to know what happened .
Old Quake 1 Omicon Bots mod had this problem, if set to maximum difficulty level they were perfect: they didn't miss a single shot, they avoided all your rockets, they even knew where all the health kits were in the default maps! The fun was destroyed and you couldn't train with them. Reaper bots were more "dumb" but yet a challenge in the skill 3 level (max. difficulty), because they were not perfect ;)
A fun AI can use all sort of tricks, cheats and rule-exceptions as long as they are to help the player, because if a game becomes almost impossible to win, were's the fun then?
In some games, like Call of Dutys or Rainbow Six Vegas, this is valid because they are meant to be realistic, but some action games deploy similar strategies that break the standard rules (if I have a health bar and if I die I have to repeat the full level, do not kill me with one shot without having the opportunity of avoiding it if I'm skilled enough).