Since video games, despite their apparent diversity, share concepts extensively, creating Artificial Intelligence (AI) that operates solely on concepts should allow developers to use it for multiple games. This raises an important question however, namely, that of the availability of a conceptual interpretation of video games
By Firas
Safadi, Raphael Fonteneau, and Damien Ernst
Universite de Li ´ ege, Belgium
Since video games, despite their apparent diversity,
share concepts extensively, creating Artificial Intelligence (AI) that operates
solely on concepts should allow developers to use it for multiple games. This
raises an important question however, namely, that of the availability of a
conceptual interpretation of video games. In reality, for AI to handle
conceptual objects, it must have access to a conceptual view of game data
during runtime.
When humans play a video game, they use their
faculty of abstraction to detect analogies between the game and others they
have played in the past. Abstraction in this context can be seen as a process
of discarding details and extracting features from raw data. By recalling
previous instances of the same conceptual case, the experience acquired from
the other games is generalized and transformed into a conceptual policy (i.e.,
conceptualized). For example, a player could have learned in a role-playing game
(RPG) to use ranged attacks on an enemy while staying out of its reach. This
behavior is known as kiting. Later, in a real-time strategy (RTS) game, that
player may be faced with the same conceptual situation with a ranged unit and
an enemy. If, at that time, the concept of kiting is not clearly established in
the player’s mind, they may remember the experience acquired in the RPG and
realize that they are facing a similar situation: control over an entity with a
ranged attack and the ability to move and the presence of an enemy. The player
will thereby conceptualize the technique learned in the RPG and attempt to
apply it in the RTS game. On the other hand, if the player is familiar with the
concept of kiting, a simple abstraction of the situation will lead to the
retrieval of the conceptual policy associated with it, without requiring the
recall of previous instances and associated experiences and their
conceptualization.
Note that kiting can be defined using only
concepts, such as distance, attack range and movement. Distance can have
several distinct interpretations, for example yards, tiles or hops. Attack
range can be a spell range, a firearm range or a gravity range. Walking,
driving and tele-porting are all different forms of movement. Kiting itself
being a concept, it is clear that concepts can be used to define other
concepts. In fact, in order to define conceptual policies, different types of
concepts are necessary, such as objects, relationships, conditions and actions.
Weapon, enmity, mobility (The condition of being mobile.) and hiding are all
examples of concepts.
According to the process shown in Figure 1,
conceptual AI, that is AI which operates entirely on concepts, could be used in
video games under the premise that three requirements are met. These would be:
(1) the ability to translate game states into
conceptual states,
(2) the ability to translate conceptual actions into game
actions,
(3) and the ability to define conceptual policies. (A conceptual
policy maps conceptual states to conceptual actions.)
Though the third requirement raises no
immediate questions, the other two appear more problematic, as translating
states and actions needs to be done in real-time and there currently exists no
reliable replacement for the human faculty of abstraction. It follows from the
latter assertion that this translation must be manually programmed at the time
of development. This means that the game developer must have access to a
library of concepts during development and write code to provide access at runtime
to both conceptual views and conceptual controls of the game for the AI to work
with. Using such a process, both the real-time availability and the quality
conditions of the translation are satisfied.
As is hinted in Figure 2, rather than
translating game states into conceptual states discretely, it is easier to
simply maintain a conceptual state in the conceptual data space (CDS). In other
words, the conceptual state is synchronized with the game state. Every change
in the game state, such as object creation, modification or destruction, is
directly propagated to the conceptual state. Note that there is no dynamic
whatsoever in the CDS. A change in the CDS can only be caused by a change on
the game side, wherein the game engine lies.
Obviously, this design calls for a unified
conceptual framework (CF). That is, different developers would use the same
conceptual libraries. This would allow each of them to use any AI written using
this unique framework. For example, a single AI could drive agents in different
games featuring conceptually similar environments, such as a first-person
shooter (FPS) arena. This is illustrated in Figure 3.
From a responsibility standpoint, the design
clearly distinguishes three actors:
(1)
the game developers,
(2)
the AI developers,
(3) and the CF developers.
The responsibilities of game developers
include deciding which AI they need and adding code to their game to maintain
in the CDS the conceptual views required by the AI as well as implementing the
conceptual control interfaces it uses to command game agents. Thus, game
developers neither need to worry about designing AI nor conceptualizing games.
Instead, they only need to establish the links between their particular
interpretation of a concept and the concept itself.
On the opposite side, AI developers can write
conceptual AI without worrying about any particular game. Using only conceptual
elements, they define the behavior of all sorts of agents. They also need to
specify the requirements for each AI in terms of conceptual views and controls
Finally, the role of CF developers is to
extract concepts from games (i.e., conceptualize) and write libraries to create
and interact with these concepts. This includes writing the interfaces used by
game developers to create and maintain conceptual views and by AI developers to
access these views and control agents.
Because the CF should be unique and is the
central component with which both game developers and AI developers interact,
it should be developed using an open-source and extensible model. This would
allow experienced developers from different organizations and backgrounds to
collaborate and quickly produce a rich and accessible framework. Incidentally,
it would allow game developers to write their own AI while extending the
framework with any missing concepts.
This article is an excerpt taken from a
research paper, titled “Artificial Intelligence in Video Games: Towards a
Unified Framework” Hindawi Publishing
Corporation International Journal of Computer Games Technology Volume 2015,
Article ID 271296, 30 pages http://dx.doi.org/10.1155/2015/271296
Download The Paper - LINK
Copyright © 2015 Firas Safadi et al.
This is an open access article distributed
under the Creative Commons Attribution License