Everything should be stated as simply as possible, but not simpler.To make the game entertaining and interesting, it is not necessary to make computer-controlled opponents smarter. In the end, the player must win. However, letting him win only because the manager of the opponents of AI is badly designed, is also unacceptable. Interest in the game can be increased if the mistakes made by the enemy are intentional. Carefully adjusting the mistakes of opponents, making them intentional, but believable, programmers will allow opponents to look smart and at the same time ensure the victory of the player. In addition, by monitoring AI systems and appropriately controlling them, you can turn situations in which opponents look silly into an interesting gameplay.
- Albert Einstein
A common mistake in the development and implementation of AI systems in computer games is in too complex a design. The AI developer can easily get carried away by creating an intelligent game character and losing sight of the ultimate goal, namely, creating an entertaining game. If a player has the illusion that a computer opponent is doing something clever, then it does not matter how the AI (if any) creates this illusion. A sign of a good AI programmer is the ability to resist the temptation to add intelligence to where it is not needed, and to recognize situations in which more "cheap" and simple solutions are enough. Programming AI is often more like art than science. The ability to distinguish between moments in which cheap tricks are enough, and those where more complicated AI is required, is not easy. For example, a programmer, having full access to all structures of game data, can easily cheat by making the NPC omniscient. NPCs can know where the enemies are, where the weapons or ammunition lies, without seeing them. However, players often recognize such cheap stunts. Even if they can not determine the very nature of cheating, they may have a feeling that the behavior of the NPC is not like the natural.