AI (Artificial Intelligence) is the field of Computer Science of emulating human-like or animal-like thinking on a computer. It is of great interest to the games industry since it enables the use of challenging computer opponents in games.
In general Computer Science, AI is usually the challenge of creating programs that can solve problems better than humans, or at least competitively. For example, the feat of creating computers that can defeat any Chessmaster.
In games, the field of AI is usually slightly different. AI entities in games require an emphasis on entertaining the user more than competing with them. Thus the challenge of AI is to make opponents beatable but not appear easy or predictable, and manage this while giving the illusion of the AI entity being lifelike in it decisions.
The main types of Artificial Intelligence used in games currently are State Machines, Expert Systems, Fuzzy Logic, Genetic Algorithms and Neural Networks.
General AI ConceptsEdit
It is common for AI algorithms to have parameters to allow a change in difficulty for opponents, although it is harder to implement than simply changing external variables, player/enemy health player/enemy damage, etc. This allows the user to change how challenging they want the game using a simple menu.
"Rubber-banding" is the practice of changing the actions of AI entities based on the users status. For example, in a racing game, if the user crashes several times, the opponents may slow down or themselves intentionally crash to allow the user to catch up. This means that the user needn't go to the bother of restarting the race after any major downfalls.
Another example is a shooting game where the enemy AI difficulty is downgraded one level when the user is low on health, thus increasing the probability of the user reaching the next health/save point. This can give the user the experience of always being on the edge and hanging on throughout the game instead of either easily moving through the game content or getting stuck in areas and always needing to reload.
Although this technique can improve the user experience, if detected it can make the user feel like they are being coddled by the game and that they aren't able to judge the level of their abilities. Some believe that the practice is unethical and/or ruins the user experience but the counter argument is that, if properly implemented, the user shouldn't be able to detect that "rubber-banding" is in practice.
- Main article: AI techniques overview
There are many AI specific techniques used for Artificial Intelligence. These can range from the simple "follow the ball" routine used in Pong to complex behaviors that generate a believable world of interdependent actors. Rather than comparing these techniques here, an AI techniques overview provides a short summary of major techniques and practices.
Additional resources Edit
- Libraries (Namely the "Artificial Intelligence Libraries" section)
- Book review: AI for Game Developers
- Book review: Programming Game AI by Example