Home  >  Article  >  What is the basic technology of game artificial intelligence?

What is the basic technology of game artificial intelligence?

青灯夜游
青灯夜游Original
2022-11-21 14:52:031622browse

The basic technology of game artificial intelligence is "qualitative". Qualitative means that the behavior or performance is specific and predictable, without uncertainty; for example, create a monster character, move along the XY coordinate axis, and move to a target point until the XY coordinates of the character and the coordinates of the target point overlapping. Qualitative AI technology is the foundation of game AI; the results of qualitative AI technology are predictable, efficient, and easy to implement, understand, test, and debug.

What is the basic technology of game artificial intelligence?

The operating environment of this tutorial: Windows 7 system, Dell G3 computer.

The definition of game artificial intelligence is quite broad and flexible. No matter what method is used, as long as it can give people the "illusion" of a certain degree of intelligence, make the game more addictive, more challenging, and most importantly more fun, then it can be regarded as game AI. .

Qualitative and non-qualitative AI

Game AI is usually divided into two types, qualitative and non-qualitative.

Qualitative

Qualitative means that the behavior or performance is specific and predictable, without uncertainty. A specific example could be a simple chasing algorithm. For example, create a monster character, advance along the XY coordinate axis, and move toward a target point until the character's XY coordinates overlap with the coordinates of the target point.

Non-qualitative

Contrary to qualitative behavior, non-positioned behavior has a certain degree of uncertainty and is somewhat unpredictable (uncertain to To what extent it is related to how easy it is for people to understand the AI ​​method used). A specific example is to allow non-player characters to learn combat tactics adapted to the player. Such learning capabilities can be obtained using neural networks, Bayesian techniques or genetic algorithms.

Qualitative AI technology is the foundation of game AI. The results of qualitative AI technology are predictable, efficient, and easy to implement, understand, test, and debug. While there are many qualitative methods, the burden of thinking through various scenarios in advance and writing out all behaviors clearly falls on the shoulders of the developer. Moreover, qualitative methods cannot help NPCs learn and evolve. Players can predict the qualitative behavior of NPCs by carefully observing them. We can say that using qualitative behavior will limit the "life" of game software.

Non-qualitative technology allows NPCs to learn by themselves and evolve new behaviors, such as emergent behaviors (behaviors that appear without clear instructions), making it difficult for players to predict when playing the game and increasing the playability of the game. . Developers also don't need to anticipate all possible scenarios and write down all explicit behaviors.

Although non-qualitative technology can increase the playability of games, developers have long kept a distance from non-qualitative AI (but this has gradually changed). Being unpredictable makes it difficult to test and debug (because there is no way to test all possible actions of the player to ensure that the game software does not bug). Moreover, game developers are faced with an ever-shortening development cycle, making it difficult for developers to fully understand the latest AI technology.

Another factor also limits the development of non-qualitative technology. Recently, developers have begun to focus more on the quality of pictures (because players like beautiful things). As a result, in order to make better and faster graphics technology, there is no time to develop better game AI.

Existing game AI technology

Finite state machine (finite state machine, FSM) is a game AI technology that can be seen everywhere. We will study this part in detail in Chapter 9. The basic concept of a finite state machine is to list a series of actions or states of a computer-controlled character, then use if-then conditional statements to check various situations and meet conditions, and then judge the results based on Perform actions or update character states, or transition between actions and states.

Developers often use fuzzy logic in fuzzy state machines to make the final executed action difficult to predict and reduce the need to list a large number of conditions with if-then statements. heavy burden. In a finite state machine, you might have a rule like "if distance is 10 and health is 100, then attack", but fuzzy logic is different and allows you to design rules with less precise conditions. Like "if close and healthy enough, then power attack". Fuzzy state machines will be introduced in detail in Chapter 10.

In various games, the basic task of non-player characters is to find effective paths. In a war simulation game, the non-player character's army must be able to pass through various terrains, avoid obstacles, and reach the enemy's location. Creatures in first-person shooters must be able to pass through dungeons or buildings in order to meet the player or escape from the player's sight. There are countless such scenarios. Needless to say, AI developers pay a lot of attention to path finding. In Chapter 6 we will talk about general path finding techniques, and in Chapter 7 we will talk about the important A* algorithm.

Some of the above-mentioned technologies are only a few of the existing game AI technologies. Others include rule-based descriptive systems and some artificial declaration technologies, and there are many types. An artificial life system is a man-made system that exhibits human-like behavior. These behaviors are emergent behaviors, and their development is the result of combining the operation of various low-level algorithms. We will discuss examples of artificial life and other technologies later.

The future of game AI

The next big thing in game AI is “learning”. After the game is launched, the behaviors of all non-player characters will no longer be arranged in advance. The longer the game is played, the more the game will evolve and learn, and become more adaptable. Such a game will grow with players, and it will be difficult for players to predict game behavior, thus extending the life cycle of the game. Games learn and evolve, making the game itself unpredictable.

"Learning" and "Character Behavior Response" technologies fall within the scope of the non-qualitative AI mentioned above, so they are quite difficult. To be clear, this non-qualitative “learning” AI technology takes longer to develop and test. Furthermore, it’s harder to understand exactly what the AI ​​will do, which makes debugging harder. These factors are huge obstacles to widespread adoption of “learning” AI technologies. However, this is all changing.

Several mainstream games use non-qualitative AI technology, such as "Creatures", "Black & White", "Battlecruiser 3000AD", "Dirt Track Racing", "Fields of Battle" and "Heavy Gear" . The success of these games has reignited interest in "learning" AI techniques, such as decision trees, neural networks, genetic algorithms, and probabilistic methods.

These successful game software also use traditional qualitative methods when using non-qualitative methods. Non-qualitative methods are only used where they are most suitable and needed. Neural networks are not a magic bullet that can solve all AI problems in gaming software, but you can achieve impressive results by solving specific AI tasks in a hybrid AI system. This way, you can isolate the parts of AI that are unpredictable and difficult to develop, debug, and test, while still keeping the majority of your AI system in its traditional form.

For more related knowledge, please visit the FAQ column!

The above is the detailed content of What is the basic technology of game artificial intelligence?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn