<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>MDA Game Design for Video Game Development by Genre</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vargas R. E.</string-name>
          <email>ing.rosavargas@gmail.com1</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arellano G. G.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Beltrán H. D.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zepeda L. Z.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Quintero R. R.</string-name>
          <email>rquintero@itculiacan.edu.mx5</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vega L</string-name>
          <email>vega.itc@salazarvega.net6</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Instituto Tecnológico de Culiacán Sinaloa</institution>
          ,
          <country country="MX">México</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Game´s development process remains a difficult task due to game platform's increasing technological complexity and lack of game´s development methodologies for unified processes. In this work we show a way to develop different types of arcade games genre using Model Driven Architecture (MDA). We present a metamodel for game design that allows the specification for a high level abstraction independently of platform. This proposal shows that it is possible to generate a 2D game from the essential characteristics that make up such type of video game. Also, some model transformation rules to generate executable Java code from a specific model are shown.</p>
      </abstract>
      <kwd-group>
        <kwd>Model-driven software development</kwd>
        <kwd>MDA</kwd>
        <kwd>Game development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Several authors have shown that current game development is more difficult than
a few decades ago. Due to the increasing technological complexity of the platforms
for which these games are developed [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Thus, standardized methodologies are
needed to enable technological development [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Furthermore, during game
development, error detection is also another frequent problem; to solve it, a common practice
consist on edit code directly. However, after several iterations this causes loss of
design documentation. Consequently, the code becomes harder to maintain and extend.
Models are a rapid and inexpensive strategy to define a software solution [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] that
preserve design concepts by helping to maintain design documentation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In this
paper we show a proposal for the development of different types of arcade games
genre: such as mazes, shooting, racing and fighting. MDA is used to facilitate
multiplatform software development while keeping-up with technological evolution [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
The rest of the paper is organized as follows: Section 2 presents the State of the Art
review. Section 3 describes MDA basic concepts. Section 4 illustrates the proposed
design methodology. Section 5 draw conclusions and future work. Finally, section 6
presents some contributions.
      </p>
    </sec>
    <sec id="sec-2">
      <title>State of the Art</title>
      <p>
        In this section, we present contributions related to Game Design editing tools for tile
based games creation. Gideros Mobile [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], is a platform for easy mobile 2D games
and applications development. The platform allows developers to write their code
once, but to run it on different resources. In addition, it aims to test applications
immediately after they are written. The proposed design method maximizes the
efficiency and effectiveness of the developers. Stencyl [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], is a platform for building 2D
games for computers, mobiles and web. The platform consists of the following
modules for game creation process: behavior editor, tileset editor, actor’s editor, and stage
designer. Allowing developers to write the code once and run it for any game´s style
creation. Both of these tools are related to basic thoughts of MDA in terms of
improving productivity and reusability. However, the editor tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is not platform
independent, it was built just for mobile and also have difficult access to native device
features. Furthermore, editor tool [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] apparently the IDE, consumes too much RAM.
In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], the authors evaluates effectiveness of UML on game development as within
other areas, through modeling can predict improvements in productivity. Such work
evaluates the applicability and suitability for game development, together with the
establishment of a process by using UML modeling. The introduction of object
oriented and the MDA approach in game development supports productivity and
reusability. On the other hand, to the best of our knowledge, only one effort has been
development for aligning the design of video games with the general MDA paradigm. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
the authors show 2D game design through a metamodel allowing the specification
using three fundamental perspectives: gameplay, control and graphical user interface.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Design Methodology</title>
      <p>
        To explain our methodology design, we begin by reviewing MDA basic concepts and
proceed with an example. The MDA approach [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] proposes to define software
building process based on a set of models, a new way to develop software by
transforming an input model into an output model. These models are organized and aligned in
three viewpoints: 1) The Computation Independent Model (CIM) describes the
system without showing details about how it is constructed. 2) The Platform Independent
Model (PIM) reflects the functionalities, structure and behavior of a system and
contains no specific information of platform or technology used in realization. 3) The
Platform Specific Model (PSM) is more implementation oriented and corresponds to a
first binding phase of a given PIM to a given execution platform. Using a series of
transformations rules, also called model transformations, the software system is
developed from a PIM to source code. The transformation rules establish correspondences
between a source metamodel and a target metamodel allowing the transformation of
models to be specified in model transformation languages such as QVT [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
MOFScript [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], etc. Transformation engine applies transformation rules in the source
model and returns the target model. Following this approach we propose to overcome
the game development process in three steps: In step 1, we define the PIM for arcade
games types. In step 2, an instance of the arcade PIM is created. In step 3, a set of
model-to-text transformations rules produces the source code from the arcade model.
3.1
      </p>
      <p>
        Step 1: Metamodel Definition
Once the metamodel has been created, a dynamic instance is also created to obtain an
XMI file which defines values for the metamodel element’s attributes. This in turn,
allows to create a model of the desired game. In Figure 2 we present a XMI code
segment which represents an instance of the metaclass Obstacle, where obstacles
elements defined as rocks will be represented by an image (defined in the attribute
NameFile):
In Figure 3 we show one of the transformation rules of the enemies in the code
generation phase by using MOFScript language [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This is a part of the template code,
where is defined the corresponding tile and the file path for each element described as
enemy or obstacle in the model. In the label enemiesLevel is specify its name and
number of enemies per level. For this example, it specifies four enemies in the first
level and so on:
In this paper, we have introduced our MDA methodology for arcade game design.
This work presents a semi-automatic process. The choice of MDA as a guiding
methodology is justified by the need of building the video game using standardized
means. There are a number of advantages using MDA: 1) it is possible to check the
transformation rules for correctness given that they are specified in a structured,
precise way, independent of any implementation. 2) MDA models are a uniform and
standard way for video Game Design and 3) this kind of transformations is carried out
to support model evolution (Perfective and Corrective). As future work, we plan to
extend the metamodel to create a design of a more complex games that offers greater
expressiveness to increase functionality. This is because we work with models and we
have the ability to extend our models at any time. Another aim is to develop a tool for
game development using the model-driven approach.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Contributions</title>
      <p>Our main contributions are: 1) a method for arcade games genre development. 2) a set
of transformation rules to apply that supports our methodology and 3) a standardized
methodology for novice game designers.
6</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Blow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2004</year>
          ,
          <article-title>February)</article-title>
          .
          <source>Game Development: Harder Than You Think. ACM Queue, I(10)</source>
          , pp.
          <fpage>28</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Montero</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Carsí</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          (n.d.). MDA y Desarrollo de Videojuegos.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kepple</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Bast</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>MDA Explained: The Model Driven Architecture™: Practice and Promise of the Model Driven Arquitecture</article-title>
          . Pearson Education, Inc.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Quintero</surname>
            ,
            <given-names>J. B.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Anaya</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2007</year>
          ). MDA y el papel de los modelos en el proceso de desarrollo de software.
          <source>Revista EIA</source>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>146</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Mukerji</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          . (Eds.).
          <article-title>(2001, July 9). Model Driven Architecture (MDA)</article-title>
          .
          <source>Retrieved from Document number ormsc/2001-07-01.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Gideros</given-names>
            <surname>Mobile</surname>
          </string-name>
          . (n.d.).
          <source>Official Site</source>
          . Retrieved from Gideros Mobile: http://www.giderosmobile.com/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Stencyl</surname>
          </string-name>
          , LLC. (
          <year>2013</year>
          ).
          <source>Official Site. (Stencyl</source>
          , LLC.) Retrieved from http://www.stencyl.com/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Inoue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Shinkawa</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Applying MDA to Game Software Development</article-title>
          . CEIS, (pp.
          <fpage>454</fpage>
          -
          <lpage>459</lpage>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>