2 MODEL DRIVEN GAME
SOFTWARE DEVELOPMENT
MDA is a development approach which focuses on
modeling of target domains or systems. MDA defines
two different kinds of models, namely PIM (Plat-
form Independent Model) and PSM (Platform Spec-
ify Model).The former represents the models that are
independent to the platforms, which represent a tar-
get problem domain at higher abstract level, in order
to depict and understand what it essentially is. On
the other hand, the latter represents the models which
show how the domain is implemented on a specific
platform. PSM could automatically be transformed
from PIM using some tools in MDA (Frankel, 2003).
We mainly focus on the analysis and high-leveldesign
phases in game software development. Therefore, this
paper deals with only PIM, that is, the models inde-
pendent from platforms, in order to evaluate whether
we can model game software based on MDA.
Up to now, we have been designing game soft-
ware in programming-oriented style, mainly using
script languages, which is relatively old-fashioned in
comparison with modern model oriented approaches
(Nishimori and Kuno, 2003). This old-fashioned style
often decreases the productivity of game software de-
velopment. If we can apply MDA to game soft-
ware development, we would anticipate the improve-
ment of productivity, since there are many advantages
of modeling to the above old-fashioned development
style, as stated in the previous section.
In general, there are two orthogonal aspects in
software modeling. One is “static” or “structural” as-
pect, and the other is “dynamic” or “behavioral” as-
pect. Most games implemented as software show very
dynamic appearances. They are composed of many
game elements, namely characters including the pro-
tagonists, vehicles, weapons, animals, flowers, and so
on. Each game consists of the complicated combina-
tion of the behavior of these game elements along the
timeline. Therefore the dynamic aspect seems more
important in game software than the static aspect, and
we mainly focus on the dynamic aspect of the games
in order to evaluate whether we can express them as
the models in terms of MDA.
We use UML as modeling tool, since UML is one
of the industry standard modeling languages in ob-
ject orientation (Miles and Hamilton, 2006). We first
take the following five diagrams into account, that is,
“use case”, “activity”, “sequence”, “state machine”,
and “timing” diagrams, which represent the behav-
ioral aspects in various ways.
3 THE CLASSIFICATION OF
GAME SOFTWARE AND THE
SCOPE OF MODELING
There havebeen released numerousnumber of games.
Each of them has unique characteristics and very dif-
ferent from each other, in its behavior, appearance,
construction of the game, and operation. This unique-
ness is important to make each game competitive in
the market, however it makes it difficult to view the
games from common viewpoints in order to express
and analyze them through modeling. From modeling
viewpoints, it is important to view the games at more
abstract levels. One of the approaches to abstraction is
classification using criteria. There are several possi-
ble criteria such as genres, platforms, prices, degrees
of difficulty, and purposes.
Among the above criteria, genres are suitable for
abstraction to model the games, since the games in
the same genre would show the similar behavior. The
typical genres of video games and computer games
are as follows (Laird and Lent, 2000) (Fairclough and
Cunningham, 2001).
• Action games: A human player controls a char-
acter in a virtual environment. These games
emphasize combat against enemies using various
weapons.
• Role playing games: A human player may select a
favorite character from different types of charac-
ters, such as a warrior, a magician, or a thief. The
player goes on quest, trading items, fighting with
monsters, or changing the capabilities.
• Adventure games: A human player solves puz-
zles and interacts with other characters, as he/she
progresses through an unfolding adventure. These
games emphasize story, plot and puzzle solving.
In addition to the above three genres, there are
other game genres of strategy games, god games,
team sports games, board games, table games, sim-
ulation games, shooting games, and so on.
Even though there are many game genres, recent
market trends show the majority of games can be cate-
gorized into one of the three major genres, namely ac-
tion games, role playing games, and adventure games.
Therefore, this paper discusses the adaptability of
modeling technologies to the games in these three
genres. We abbreviate action games as ACT, role
playing games as RPG, and adventure games as ADV
henceforth.
In these kinds of games, a human player and game
software mainly interact through a input device and
display. The input device is often called a game con-
troller. The player can take various operations using
APPLYING MDA TO GAME SOFTWARE DEVELOPMENT
455