New Generation of Artificial Intelligence for Real-Time Strategy Games

New Generation of Artificial Intelligence for Real-Time Strategy Games

Damijan Novak (Institute of Informatics (FERI), University of Maribor, Slovenia) and Domen Verber (Institute of Informatics (FERI), University of Maribor, Slovenia)
DOI: 10.4018/978-1-4666-4490-8.ch021
OnDemand PDF Download:


Artificial intelligence in computer games is still well behind academic artificial intelligence research. The computer power and memory resources have increased exponentially over the last few years and improved game artificial intelligence should not hinder the performance of the game anymore. Improvements of game artificial intelligence are necessary because an appropriate artificial intelligence for the more advanced players does not exist today. This chapter discusses artificial intelligence for real-time strategy computer games, which are ideal test beds for research on movement, tactic, and strategy. Open-source real-time strategy game development tools are presented and compared, and an enhanced combat artificial intelligence algorithm is proposed.
Chapter Preview


What is Artificial Intelligence?

The exact definition of artificial intelligence is unclear. Most often artificial intelligence (AI) is defined as that branch of computer science, concerned with making computers behave like intelligent beings.

AI is not usually used as stand-alone. Instead, it adds knowledge and reasoning to existing applications and databases. Such applications look much friendlier and smarter to the user. In real-world applications with AI support (e.g., medicine diagnostic systems, theorem proving, data classification, etc.) the AI portion is significant and may consume much of the processing power. The use of AI in such applications has been widely supported by the academic community for at least the last 30 years. On the other hand, AI regarding computer games, if used at all, represents only a small portion of the application. The methods and techniques of AI in computer games are usually much more primitive, and the amount of academic research on this topic is very limited.

The arcade and console games usually hardly incorporate any AI algorithms. They rely on a set of simple rules. The computer games that are more complex games (e.g., real time strategy games, role-playing games, etc.) usually do incorporate some kind of AI. However, the capabilities of such AIs are very basic. The AI is usually represented as a set of scripts. Each script contains a list of conditions and a sequence of action that should occur when some condition is met.

Such a kind of AI is not good enough, especially for the more experienced players. The behaviour of the opponent is predictable, the moves are repeatable, the characters are not “smart”, etc.

The exceptions to this are board games (e.g., chess, checkers, go, etc.). In these kinds of games, the number of possible moves, at each stage during the play, is rather limited. With fast computer, it is possible to analyse millions of these moves (and the responses to them), so that the best next-move can be identified.

One of the main goals of the research presented in this chapter is the incorporation of AI techniques used by board-games, and other complex AI methodologies in other game genres, especially in real-time strategy (RTS) games.

How Can We Make AI Both Challenging and Interesting for the Players?

AI algorithms can be developed, for simple computer games, which can beat even the most experienced players. However, no one would want to play such a game. The opposite is also true. No one would enjoy playing a game where the opponent is inferior to you. In an ideal situation, the player should be on the same level or only slightly better than his/her opponent is. If this can be achieved, the player will have fun and the game would gain replay value. In order to achieve this goal, the AI should detect the skill of the player and, if possible, their tactics. Based on this information, the AI should adapt its behaviour to balance the player's skills. In situations where the computer program is confronted with another computer application, the AI should employ all its skills.


Role Of Ai In Computer Games

AI in computer games can be employed in different ways.

Most often, the AI in games is used as an opponent for the human player. In board games and RTS games, AI defines the moves of the other party or parties. In role-playing and similar games, the adversary would be in the form of another human or creature that must be defeated.

In some games, AI can help the player. For example, a player's character can be part of a group where other members are controlled by AI. In this case, AI must support the player's moves. In other scenarios, AI can be assigned by the player to take care of some aspect of the game or to make suggestions to the player. It can also be used as a tutor for the novice during the early stages of the game.

The game may also include so-called non-playing characters or NPC’s. The NPC's make the world richer and more populous, making the connection of the player with the game greater. Some NPC's may also be part of the game story. Such characters are also under the control of AI.

AI implementation for advisors and the NPC's would require some sort of verbal interaction between the player and AI. Proper implementation of such an interaction is very difficult to achieve and it is an undergoing study research. However, in current games, the interaction is usually implemented as a set of possible questions and associated responses.

Complete Chapter List

Search this Book: