On Thursday, February 16th , I attended the 5th consciousness club held in Tokyo. It is a weekly event organized by Dr. Ryota Kanai, the CEO of Araya Brain imaging, and the talk was given by Youichiro Miyake. He is a well-known designer noted for his work on game AI. He also presented an initial concept of creating artificial awareness in game AI system and other more advanced systems.
The abstract of this talk:
Characters in video games live in 3D environments with many objects, complex terrains, and other characters. Ever since the era of the Family Computer (FC) and the super Family Computer (NES 1983, SNES 1990, Nintendo), game characters are controlled by script programs written by the game designers, such that a character becomes an actor in the game. This is called “Scripted-AI”. However, with game level design (stage design) becoming more and more complex, scripted-AI methods have become impossible to adapt to such complex situations. A turning point in 3D games is the PlayStation (SIE, 1994). In 3D games with 3D objects and 3D terrains, AI technologies are required to build a profound character’s artificial intelligence. In a 3D level, a game character is to be an autonomous character such that it is able to percept many different aspects of the game world, make a decision, and then make an action in real-time by itself. A game character solves a local problem around it to play a role. A game character must percept not only the environment around but also its body and mind. Then consciousness model for game characters has been studied in the game industry and game research for years. The history begins from the characters mind model that MIT media lab Synthetic Character Group made at 2000. The model has evolved from its application in many game characters of different game titles. A character’s AI base is the Agent Architecture of robotics. It consists of three parts: a recognition module, a decision-making module, and a motion-making module. With information flows into a character’s mind, they are analyzed and transformed into a lot of new knowledge in the architecture. By using such amount of knowledge, the decision-making module makes decisions, while the motion module forms a character’s motions to enforce the decision. This loop incorporating the environment and agent forms an activity of a character’s mind. Information is stored in memory after flows and changes through these modules, thus the AIs of characters are described like a chemistry of information. A digital game is a good field to test consciousness models. Many models has been suggested and experimented. In this seminar, many consciousness models and their results are introduced.
Introduction of the speaker:
Youichiro Miyake has been involved in the development of video game titles while researching game AI technologies as the lead AI researcher at a game development company (Square Enix). He has developed and designed AIs for numerous game titles, given many lectures at universities and game developer conferences, and published academic papers which explain game AI and procedural techniques for digital games. He is the chair of the SIG-AI in International Game Developers Association Japan Chapter, on the board of the Digital Game Research Association Japan and the Society of Art and Science, and the author of 3 books (in Japanese): “Stories on Philosophy for Artificial Intelligence”, “Artificial Intelligence pictures book” and “Making a game AI method”, which were published in 2016.
Design Philosophy of Game AI (and other AI Systems)
The talk was based on an example from the design of Final Fantasy XV (FFXV), but readers may refer to other game systems as well. At first, Miyake introduced the general design philosophy of AI in game systems.
First Question: what does it means for AI in games?
He defines that intelligence in games is to perceive feedback from the environment by the characters’ body, and to control movements with reaction to the game environment. In this way, the environment and the body form a feedback loop. From this perspective, it is similar to the embodied definition of intelligence”
With the development of 3D games, this is why AI systems have changed a lot compared to 2D games.
There are three sub sections of AIs in FF XV. We will introduce them one by one:
1. Meta AI
2. Character AI
3. Navigation AI
In previous game systems without Meta AI, the main issue between individual AI implemented on agents and general game strategies was the movement of every character is autonomously decided via an AI Graph Editor, with consideration of what to do after having awareness for each situation and the surrounding environment. However, due to circumstances in the design of general strategy, sometimes the characters need to be gathered for a certain event or need to perform a special action in a collaborative way. In these cases, a general commander is necessary.
As such, FFXV developed a meta AI which governed the environment and in-game progression. It is like the commander for the whole AI system to control the general strategies for the enemies and the non-player characters (NPCs). One of its important task is to coordinate the agents’ strategies in a centralized way. This way, it restrains such situations that many team partners come to help the players or vice versa.
The tasks assigned to the meta-AI were so numerous and large that its strategy was controlled by different levels of separate interconnected elements, including implementing a hierarchical structure for task management, transitioning and the merger of functions to create an intelligent system, and the exchange of various elements with specific localities.
In FFXV, these levels include:
– Map and character position
– Event positioning, management
– Game balance settings
An Example of game AI:
The state machine indicates how Meta AI controls the enemy number and the refresh frequency. The enemy number is controlled by Meta-AI with four states: build up, sustain peak, peak fade and relax. The input parameters of the state changes may include the number of enemy the player killed, the location of the player, the time interval and so on. From the view of the player, it seems that the enemy appears every once a while and the intensity of the enemy is correlated to the player’s battle ability (and game difficulty as well.)
Character AI :
Character AI controls the individual strategies of the guest and non-playable characters (NPCs). For character AI, a major task was the coordination between the AI and character animations when responding to different situations. Different levels and styles of AI were created for different groups of non-playable characters in FFXV’s world — from the main party members to NPCs around the world. What the character AI does is basically solving a decision making problem for each agents. There are different models to solve this problem, but for game AIs, we have seven simple algorithms: Rule-based AI, State-based AI, Behavior-based AI, Goal-based AI, Task-based AI, Utility-based AI and Simulation-based AI.
In FF XV, there are two ways to develop character AIs: the developers used two standard “classic” designs of AIs for reference: behavior-based, which revolved around adaptation and decision making, and state-based, which made decisions based on the environment. This AI system of FF XV was implemented in the self-developed “AI Graph” system, which represented the multi-layered construction of an AI.
The intelligence and financial investment in gaming AI development largely depends on the specific gaming experience under the spotlight. For the previous console generation, the emphasis on graphics leads to the slow progress in gaming AI development.
The character AI is a hybrid approach combining a behavior tree and a state machine, in which the state machine coordinates a general state transition, while the behavior trees specify each beahvior under certain circumstances. Therefore, the character AI in FFXV is formed in a layered tray.
・A hybrid model of a behavior tree and a state machine
・Groups of nodes are managed as a “tray”
In the hybrid model, a state in the state machine is an action deliberated by level designers to enable players to command the AI with general terms. It is further made up of behavior tree modes that are set in units of movements. For instance, if the character selects to fight, it has several behaviors to be chosen from:
- Move: move by way of designated locations
- Lead: guide the player
- Attack: attack the enemy
- Idle: puts a character in standby
Within the game, the level designer simply has to think of some commands, switch to the desired mode, and the rest can be handled smoothly by the AI. These character AI systems not only desire ease and flexibility for the level planner’s ability to change AI actions, but also in allowing AI planners to efficiently edit and make actions for each AI character. All characters that move in the massive world of FFXV are running on AI, and what they desired was a system that can allow them to efficiently make those various AI.
Navigation AI determines the best route and pattern for moving elements such as characters and enemies. Two main elements of the navigation AI system in FFXV are the Point Query System (PQS) and the steering systems.
The PQS guides the path by constructing points around various important points, then filtering some points around particular cases such that the agents are guided towards the best points. The PQS primarily involves the control of an artificial opponent in order to follow an optimal path on a racetrack (or similar), and may incorporate a higher-level plan in order to successfully navigate the course.
The steering system guides motion according to the percepts. For instance, decent NPC navigation often requires the ability to avoid obstacles. A steering behavior during navigation allows the agents to look ahead, follow a target, and perform object avoidance.
To align with the general aim of the consciousness club, Miyake also states his willingness to develop artificial awareness in game AI system. He also supports that with the development of game environment and game characters, a more sophisticated AI system may be needed in the future.
As a former game enthusiast and a current AI researcher, I honestly felt a bit surprised at how a sophisticated game contains very simple but elegant rules to develop a game AI system. As you can infer from the previous slides, not much complicated learning is involved in the FFXV game AI. The intensity of enemies, for example, was affected by the people you killed, but it is actually pre-defined. I think it is related to the fact that the current gaming platforms are so constrained, that it is not necessary to learn complicated scenarios and objects. For my own opinion, the following directions may be interesting for both academia research and industries:
1. The design of different levels of game AI takes a lot of efforts for the developers. Is it possible to design a general AI system?
2. Is it necessary to implement some of the current machine learning techniques in game AI systems?
Analyst: Joni Chung| Localized by Synced Global Team : Xiang Chen, Yaxiong Ma