<!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>Game Design: A Preliminary Review on Techniques and Tools</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jorge Ruiz Quin~ones</string-name>
          <email>jorge.ruiz@alu.uma.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio J. Fernandez-Leiva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Lenguajes y Ciencias de la Computacion, Universidad de Malaga</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper is a preliminary attemps to serve as a reference of the state of the art of the techniques and tools related to `Game Design' (GD). We analyze the relationship existing between Game Design and the main subareas related to Arti cial and Computational Intelligence in Games. Here, we focus particularly in Techniques and Tools that help in any way to designers involved in game development.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>This paper focuses on Game Design and, in particular, in the tools helping
game designers in any way. It is a rst step in the search of a more ambitious
objective consisting in `Automating the Generation of Complete Games '. The
paper describes our rst considerations to determine and de ne the elements
that are already in use or under investigation as a possible source to reach this
goal.</p>
      <p>Here, we provide a preliminar analysis of the current situation of Game
Design under di erent perspectives. In a rst approach (section 2.1), a brief
summary of the most used technique in the eld of Arti cial Intelligence in Games
(AIG) is presented. Second (Section 2.2), we analyze how the 10 main Game
Research subareas of AIG [1, p. 317] are interconnected and related with Game
Design. Then, from the point of view of Tools oriented to Game Design, some of
the most relevant existing works up to date are mentioned and classi ed
according to the AIG subarea that it covers as well as to their commercial purposes.
We also provide a brief description of the Tools described. The recognition and
enumeration of these tools may be useful later on in the investigation where this
document is framed into.</p>
      <p>
        Inside AIG, much of the publications related with Game Design have been
oriented to Procedural Content Generation (PCG) helping designers to build
di erent kind of contents for games such as levels, bitmaps, maps, items, etc.
Nowadays, other areas such as Narrative, have become a promising research eld,
with many surveys to take into account (PCG is still the leader in this aspect)
but including important advances in helping tools like Twine [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or Inform 7
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Although we can nd works oriented to generate elements not coupled to a
concrete game (PCG, Narrative or any other area, see section 3), usually they
are oriented to a concrete game or platform. Commercial 2D platform games
such as Mario Bros or rst person shooters like Unreal (with about 50 relevant
publications each in lasts years) are just a couple of examples of games/engines
that have been included in lots of articles and publications. As this survey is
framed into an investigation whose goal is to generate complete games in the
Design level, we focus here in general purpose tools and techniques.
      </p>
      <p>This paper enumerate used techniques and current tools focused in Game
Design from a generic point of view but, although we focus in general/abstract
tools oriented to Game Design, it is remarkable that the importance of Game
Design Tools is apparent on today's games as far as there are several examples
of commercial games that include their own tools (mainly focused to create
maps or levels). For mentioning some of them, the World Editor included in Sid
Meier's Civilization Saga, the recently released Super Mario Maker for di erent
consoles platforms or Warcraft III world editor are some examples to be taken
into account. These features give the game an extra value and highlights that
is important nowadays for the general public to have this kind of tools even in
commercial games.
2</p>
    </sec>
    <sec id="sec-2">
      <title>AI Techniques</title>
      <p>Game AI, in general, and more concretely AI Assisted Game Design can be
dened in part as a group of techniques of AI that are applied to the complete
development process of a Game including not only processes related to
developing phases but as well related to the realtime gameplay (for instance, decisions
or path nding for agents). Techniques are composed by methods, processes and
algorithms, all of them related in a particular way with AI. All of them can
be applied solely for a concrete task but may be gathered for obtaining better
performance during the process of Game Design. For instance, use
Evolutionary Computation (EC) for nding the best solution representation in consonance
with Search techniques for exploring e ciently a wide range of possible solutions.
2.1</p>
      <sec id="sec-2-1">
        <title>List of techniques</title>
        <p>The most relevant techniques used up to date in AI Game Design are:
Bio-Inspired computing: In a general way, we consider bio-inspired
computing as a technique that tries to apply any working example in Nature to solve
complex problems using algorithms and representations that mimic real
scenarios in Nature and reproduce them as a computing problem. There are some
examples of this kind of algorithms used in AI in games, and more concretetly,
in Game Design. Evolutionary Computation can be considered as a family of
algorithms inspired by biological aspects or elements such as evolution, natural
selection, animals behaviors, mutations, etc...based in a population that re ect
a concrete representation of singular elements and the solution of the problem.
This population can evolve (and mutate) as it tries to nd the best most optimal
solution for the problem.</p>
        <p>
          Machine Learning: This term was coined in 1959 [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] and is known as the
ability of a computer (process) to learn without being programmed explicitily.
Algorithms based in Machine Learning are those who can learn from a data set
or subset and are able to make predictions using that data. It can be divided in
several di erent approaches but, regarding to AI in Games, we can highlight:
- Reinforcement Learning (RL): The way that a process can take decisions
in order to maximize the reward of a concrete solution. Actions are associated
to a positive or negative reward. Related to Game Design, RL is applied for
evolving strategies or Non Player Characters (NPCs), trying to maximize any of
the concepts relative to the game itself (score, winning conditions, duration of
game, etc...)
        </p>
        <p>- Supervised Learning: Learning through well known and labeled example
data that produces a concrete output, the process aim is to infer a function that
ts (maps) the training data and can be used to map new example data not
included in the initial study.</p>
        <p>- Unsupervised Learning: Contrary to the previous point, unsupervised
learning tries to infer a function using example data which is not categorized or labeled
previously. While Supervised Learning refers to learning a model that maps
instances of datasets to target values, Unsupervised Learning tries to nd patterns
in datasets that do not have target values. Regarding to Game Design, Machine
Learning technique is mainly used in NPC and Player Modelling.
Search and planning: Search and Planning techniques are related directly
with AI in Games subareas such as PCG or NPCs. This technique may be used
in an inferior rate that Evolutionary Computation is, but has a relevat role as
well mainly in exploring solutions space in an optimized way. Planning is used
often basically to build processes that generate any kind of 'plans' such a path
from one point to another or a sequence of transitions between states. And
consider as well Searching as an important extra contribution to other techniques,
most often used to search e ciently the most promising elements (may be
gencoded algorithm solution in evolutionary computation) for obtaining the next
generation of possible solutions, combining the best parts of all ancestors.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Techniques applied to Game Design</title>
        <p>
          Arti cial Intelligence assisted Game Design: The Arti cial Intelligence
takes a main role in Game Desgin due to its capacity to contribute with tools
that support almost all aspects of Game Design. It's been around 35 years from
the rst conference related to video games [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] and during the earlier years of
study (and not so far away in time), AI was mainly focused on NPCs and, a
bit later on, path nding/strategies. Arti cial Intelligence in computer games
used to covered mainly the behavior and decision processes and populate the
environment with characters that require any kind of human intelligence and
behavior [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. This situation has changed strongly and more recently AI has been
rede ned [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] to a new much more general concept related to Game Design. As
we already mentioned, nowadays it's not only AI as simply generating NPCs
and strategies (the rst historic approach) but also it's a key concept and taking
part in almost all the rest of subareas. Moreover, its current scope has been
divided into four subareas, namely, General Game AI, AI as benchmarks, AI in
comercial games and AI assisted Game Design (AIGD).
        </p>
        <p>
          AIGD may be the most promising research area [
          <xref ref-type="bibr" rid="ref1 ref7">7, 1</xref>
          ] and also the one that
concentrates numerous researches (thousands of publications in the last three
years in the most important channels including IEEE Xplore, ACM Digital
Library). From the point of view of Game Design tools, we can consider AI as a
tool itself, making possible to achieve advances in other areas providing tools
that will help in the process of designing. Not only that but, maybe out of scope
of this paper, AI contributes with several tools that are directly oriented to be
used by developers and apply AI to games, organizations and general purpose
products We'll focus on those related to Game Design.
        </p>
        <p>Regarding to Techniques, it is obvious that Arti cial and Computational
Intelligence provides a wide range of techniques usually applied to generate game
content, NPCs or agents, game narrative and stories, etc. Just to point out
several of them, we can highlight bioinspired algorithms (like Evolutionary and
Co-evolutionary Computation, Genetic algorithms, ants colony search), machine
learning (like Reinforcement, supervised and unsupervised) or Planning/Search
algorithms (like Montecarlo Tree search). The main techniques involved with
AIGD are mainly Evolutionary Computation and Planning. This methods are
used in realtime for obtaining strategies and behaviors (to be applied to NPC,
for instance) and may be mixed as well with Learning methods (usually RL) to
evolve a population representing game elements, such a strategy, NPC AI and,
with less relevance, may be applied to other aspects of the game as game rules.</p>
        <p>
          EC is actually the most used in subareas such as Non Player Character (NPC)
behavior learning, Player Modelling, Procedural Content Generation (PCG) and
AI Assisted Game Design. Although it can be considered the most used
technique, Evolutionary Computation is not the only example, as it can be found as
well examples of Neuroevolution (neural networks, related as well with machine
learning) like in FORZA Motorsport 6 racing game to create avatars that learn
from players and others like Cognitive Modeling [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] focused in player strategies
modeling.
        </p>
        <p>
          Behavior Trees (BT) is a method often framed into Machine Learning (but
also Planners) techniques and are used widely in Game Design tools, like for
instance in Behaviour Bricks [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ](work still in progress), a tool supporting and
helping designers, in many cases without any programming skills, to participate
actively in the behavior development process and not to be focused just in the
previous design and subsequent adjustments. It implements a model of BT with
special emphasis in reusing behaviors and using customizing parameters. This
kind of trees is used as well in "Behavior Designer - Behavior Trees for Everyone",
available in Unity Asset Store and focused in helping not only programmers but
also designers and artists. It has lots of features, including creating believable
Agents with a provided visual editor. Another well known example of using
behavior trees is the Unreal Engine, which is de ned as a powerful tool to create
Arti cial Intelligence combining the AI memory (the blackboard) that keeps the
BT values and the BT as is, in charge of taking decisions and performing actions
accordingly.
        </p>
        <p>
          Programming by demonstration (PbD), an example of Learning technique1
is a technique also used in already mentioned Behavior Bricks for obtaining
trained nodes based on end-user interactions and not only as a tool but also as
an environment like Pong Designer [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], used even for building complete simple
games. Kodu [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], can be settled as well as another example of PbD.
        </p>
        <p>
          To mention other examples, for instance both neuroevolution and machine
learning is also used in authoring tools like NERO [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] and trees search based
techniques are mainly used in narrative tools like Twine [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] or Inform 7 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
Computational Narrative (CN): CN a ects directly both the evolution of
the game and in the player experience. So, it is not only about content or
elements that will be generated during game design/development, but also elemnts
that have in uence during realtime game playing. So, it is important to think
in tecniques that can be applied accepting realtime requirements in order to
not a ect the gameplay performance. Usually, decision trees [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] are used during
design phase to apply the narrative aspects and de ne the game story. During
gameplay, it will be a mix of path nding (performing any kind of heuristic search
using A* algorithm) and player experience who decides mostly the game story.
Procedural Content Generation: PCG is highly interconnected with Game
Design in a sense that the PCG is used often to create and generate di erent
types of contents that are key concepts of the Game Design. For instance, we can
mention elments such as maps, items, characters, enemies, bitmaps and so on...
PCG, as any kind of Game content generation, could be any of mixed (techniques
and tools) initiative AI assistance.
        </p>
        <p>
          According to techniques, and contrary to AI Game Design which is the area
with the most diverse and richest palette of AI methods [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], PCG is widely
dominated by evolutionary computation. Thinking in PCG as a process which
is usually executed o ine (not during game playing), it seems that evolutionary
computation ts so much with this concept, because it is usually involved in
processes that are related with heavy and large computation tasks. Once the content
has been generated, it can be used by any real-time process during gameplay,
but the process itself to generate that content can be considered 'o ine'.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Non Playable Character and Agents: Also known as NPC, refers to any</title>
        <p>
          character involved in the game, not controlled directly by a human, so is complete
responsibility of computational processes to manage and control these elements.
This subarea is related with GD in several ways. It's not only to de ne how
these characters are going to be represented during the game but also their
characteristics and behavior which is the most relevant concept related to NPC.
Methods related with NPC behavior learning are Evolutionary Comptuation and
Reinforcement Learning. This methods are focused in two main aspects. First, in
nding a way to improve the NPC behavior so that the NPC can be competitive
1 https://en.wikipedia.org/wiki/Programming by demonstration
during the game play and, second, trying to make the NPC as much believable
as possible. In this subarea, we could mention Behaviuor Trees (deciding which
of a set of behaviors should be chosen in a concrete situation of the game) or
Path nding (automatically nd out which is the best move in map according
to the state and targets of the game/agent) as the most used techniques. To
mention some examples of using of concrete algorithms, we nd for example A*
combined with In uence Map [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] or Layered Learning [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], as a particular case
of machine learning technique used to train agents.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>AI and Tools in Game Design phases</title>
      <p>
        The contributions on Game Design tools have increased signi cantly in lasts
years [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. These tool are centered in assisting the process of creation of game
in any sense. It is important to notice that, currently, most of the tools are
being developed for speci c games and/or platforms/AI and is not easy to nd
general purpose tools oriented to game design [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], independents from the game
or platform that they are going to be used with. Developing a general tool must
take into account all tasks related to game design and be able to assist designers
in all that tasks or procedures and also identify how to create a model of that
tasks in order to improve it the way that the tool could be optimized.
      </p>
      <p>In general, most relevant tools developed up to date are oriented to PCG
helping designers to build new levels, worlds or stories (narrative) to be incorporated
or used into a game, but also GD tools are used in other areas, such as mechanics
(rules) or agents. Other areas less rich in provided Tools is NPC, contributing
with tools helping to create Believable Agents for simulating playthroughs or
generate agents automatically. So, this a promising area to research in.</p>
      <p>As we have already seen in this document, AI techniques has a signi cant
role in Game Design, taking part in several di erent processes related to Game
development phases. Following, a brief summary of Game Design phases is
presented and AI Techniques and Tools are identi ed for each of them. Also, Table
1 represents a summary of all mentioned tools with their main characteristics.
3.1</p>
      <sec id="sec-3-1">
        <title>Technical speci cations</title>
        <p>This phase focuses mainly in determining technical aspects of the game, such as
frame rate, screen resolution and color depth, and also in some game details like
the number of players, NPCs or allowed game modes. Because of the idea of
generating complete games, tools oriented to generate speci cations automatically
should include any way to coding this information and the capacity yo generate
all those aspects using any kind of AI technique. This is a very promising and
unexplored game design phase with no tools associated to it.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>De ning Game Story - Narrative</title>
        <p>
          The game main story, di erents stories's timelines, secondary stories and also
a storyboard for the game's intro and other video scenes during the game can
Total 6 4 4 2 4 4 12 6 10, 1*
Table 1. This table shows the most relevant tools related with Game Design according
the Game AI areas they are focused in ( that is to say: PCG: Procedural Content
Generation, MR: Mechanics and Rules, NRR: Narrative, AG: Agents, COMPG: Complete
Games) and according to commercial aspects (that is to say, COMM: Commercial
purposes, RES: Research purpuses, OS: Open Source, FREE: Free license to use in game
development). * denotes the existence of a Free evaluation version.
be framed into Narrative subarea. This phase becomes really important (if not
the most important) in some cases like in adventure games and requires speci c
software helping designers during these tasks. Focused on Narrative, Twine [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]
is a powerful free and open source tool helping creating stories for games,
successfully used in "Howling Dogs" and "Depression Quest". Inform7 is another
example to mention. Platform independent, is a visual tool used for creating
in a easy way Interactive Ficition (IF) for games. Following, a list of the most
interesting tools regarding to Narrative:
{ TADS [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]: Text adventure development system (TADS) is a free authoring
system for writing your own Interactive Fiction (IF). It o ers a complete set
of programming tools for creating high-quality IF.
{ Inform 7 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]: Inform is a design system for interactive ction based on natural
language. It is a radical reinvention of the way interactive ction is designed,
guided by contemporary work in semantics and by the practical experience
of some of the world's best-known writers of IF.
{ Twine [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]: Twine is an open-source tool for telling interactive, nonlinear
stories. There's no need to write any code to create a simple story with
Twine, programmers simply extend stories with variables, conditional logic,
images using simply CSS, and JavaScript..
3.3
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Generating Game Content</title>
        <p>
          All concepts related to game content such as bitmaps, characters, weapons, maps,
levels, environments, music, etc can be generated using AI in any way. Procedural
Content Generation (PCG) has been pioneer and historically the subarea with
the most contributions in research aspects and is as well the subarea with more
game desing oriented tools dedicated to. As comented in the Introduction section
of this document, content generation is being more and more important as far
as many games include their own software for adding or editing content, and not
only that but also games fully dedicated to 'create' that content and real-time
play with it. Following, a list of the most interesting tools regarding to PCG:
{ Tanagra [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]: A prototype 2D games generic Level Design Generator tool
helping designers to create levels and manipulate levels. It is a mixed
initiative (PCG-Assisted game Design) focused in improving the designer
experience.
{ SketchaWorld [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]: Integrated and very accessible modelling tool which
combines 3D modelling and semi-automated techniques for building a world.
{ Sentient World Simulation [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]: Builder of a sythetic mirror of the real world
with automated and continous calibration with respect to current real-wolrd
information. SWS consists of components capable of capturing new events
as they occur anywhere in the world, focus on any local area of the synthetic
world o ers su cient detail. In other words, the set of models that make
up the synthetic environment encompass the behavior of individuals,
organizations, institutions, infrastructures and geographies while simultaneously
capturing the trends emerging from the interaction among entities as well
as between entities and the environment.
{ Sentient Sketchbook [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]: A tool which supports a designer in the creation
of game levels.
{ Speedtree [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]: Render Software for generating animated plants and trees
for games (but also used in other areas). It has been used in many games in
lasts 10 years fully integrated with Unity platform.
{ Charack [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]: A tool able to generate pseudo-in nite virtual worlds with
di erent types of terrains. Using a combination of algorithms and content
management methods, Charack is able to create beaches, islands, bays and
coastlines that imitates real world landscapes.
3.4
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>De ning Rules and Mechanics</title>
        <p>
          Game Mechanics and rules usually governs the logical and functional evolution
of a game. There are some references that highlights the importance of this
area, naming them as the core of a game [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. Even in some cases, generating
game's rules has been considered, as a generation of games [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Taking them into
account and using tools based in AI techniques would be powerful to combine
and generate new sets of rules or mechanics, and so, we could say new games as
far as the game rules are di erent. Exploring using any of the search methods
such as Tree Search and combining it with bioinspired algorithms [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], may result
in good solutions to evaluate and to start from to nd new promising rule sets
to generate new games. Some examples of tools based on AI and oriented to
generate game mechanics are:
{ Meta Game [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]: Meta-Game Playing (Metagame) is a paradigm for research
in game-playing in which programs can be designed to take in the rules of
unknown games and play those games without human assistance. Strong
performance in this new paradigm is evidence that the program, instead of
its human designer, has performed the analysis of each speci c game.
{ RuLearn [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]: An open-source toolkit for the automatic inference of rules for
shallow-transfer machine translation from scarce parallel corpora and
morphological dictionaries. RuLearn will make rule-based machine translation
a very appealing alternative for under-resourced language pairs because it
avoids the need for human experts to handcraft transfer rules and requires,
in contrast to statistical machine translation, a small amount of parallel
corpora (a few hundred parallel sentences proved to be su cient).
{ Ceptre [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]: Ceptre is a rule speci cation language intended to enable rapid
prototyping for experimental game mechanics, especially in domains that
depend on procedural generation and multi-agent simulation.
{ Machinations [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]: Machinations is a conceptual framework and diagram
tool that focuses on structural qualities of game mechanics. An interactive
and visual tool is provided with the framework to allow drawing and run
Machinations diagrams.
3.5
        </p>
        <p>
          Strategies and Agents
{ NERO [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]: Authoring Tool NERO is a machine learning game in which
the player uses real-time neuroevolution to train a team of robotic soldiers
for combat. Training takes place in a sandbox, where the player can place
obstacles and enemies, and change the tness function according to the skills
that should be learned. After training, players can pit their teams against
other teams in combat.
{ ABL [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ]: A Behavior Language for Story-Based Believable Agents (ABL) is
a programming language explicitly designed to support programming idioms
for the creation of reactive, believable agents. ABL has been successfully used
to author the central characters Trip and Grace for the interactive drama
Facade (Mateas and Stern, 2003). The ABL compiler is written in Java and
targets Java; the generated Java code is supported by the ABL runtime
system
We have to notice that nowadays exist general purpuse tools designed for
helping in all game design phases and generating complete games, called usually
Game Engines. For just naming a couple of them, Unity 3D, Unreal Engine,or
CryEngine.Although these tools/engines are supporting game developers to
create games, are out of the scope of this document as far as is the developer/Designer
who is in charge of build the game and, usually, doesn't generate games
automatically but programatically.
        </p>
        <p>
          What about generating complete games automatically? It's clear that this
task should be much more complex and ambitious that simply focus in a concrete
desgin phase and di cult to realize. When generating complete games, should
be necessary as well an evaluation method (also called tness function) that
allows to evaluate every game individually in order to have an idea of how good
this game is. There are some examples of researches that are focused in this
path, but with some restrictions. Usually, tools for generating complete games
are focused in a concrete type of games, for instance, board games [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] or tile
based games [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] and may be di cult (if not impossible up to date) to nd a
tool to generate games not tied to any kind of games. Di cult as well is to
nd any kind of tness function applied to these games, so we could say this is
an unexplored and very promising area. Following, example of tools oriented to
generate complete games:
{ PuzzleScript [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]: PuzzleScript is a game engine designed to help game
developers to make tile-based puzzle games.
{ Kodu [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]: Kodu lets designers create games on the PC and Xbox via a
simple visual programming language. Kodu can be used to teach creativity,
problem solving, storytelling, as well as programming.
{ Ludi GDL [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]: Language that allows designer to de ne game's rule sets and
provides a player (Ludi General Game Player) that parses those rule sets
allowing to play games between human players and NPC agents.
{ Pong Designer [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]: An environment for developing 2D physics games through
direct manipulation of object behavior.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>As seen in this survey, we nd that there are two main concepts to focus. First,
the idea is that game design tools are mainly oriented to one speci c game. We
feel that it is really interesting to analyze the role of AI for developing new games
or tools that are not tied to an speci c game or platform (that is to say, a generic
perspective for AIG). Second, the majority of tools related with game design are
oriented to generate speci c content for games. This situation is a good starting
point for our research taking into account that complete game generation is one
of the most interesting (and hard) challenges for the application of Arti cial
Intelligence in Games.</p>
      <p>Game processes as well as realtime gameplay are also elements well
studied that attract the attention of the research community. In this context, it
is mandatory to take into account the process of Game Evaluation. This is
a very unexplored area that o ers many possibilities of investigation from the
point of view of techniques to be applied and possibly tools that help designers
and players to evaluate, compare and rate automatically Games. This concept
is really important if we think in generating games automatically, because it is
needed for accomplishing the complete process of generation without any human
intervention.</p>
      <p>Usually, most of the publications up to date related with Game Design tools
are framed and tied to a concrete platform or game. Thinking in how to open
the mind in this aspect will guide us to nd more powerful tools to help build
games in any sense. Some tools mentioned in this document, oriented to a more
general concept of automatic games generation are very tied to a concrete type
of games (board or tiles games, puzzles, etc...). Generating games not tied to
any speci c genre is a challenge from the research point of view.</p>
      <p>We have presented some tools aimed to generate complete games, but with
restrictions as far as they are oriented to a particular game type such as tile
or board games. The rst phase in game development that involves technical
decisions (i.e., determining frame rate, game resolution, type of games, number
of players, etc.) corresponds to the Technical De nition phase in Game Design.
We feel that there is a big gap related to both tools and ways to generate game
elements automatically. The tools already mentioned in this document usually
obviate this phase. For us, this phase represents a a starting point in the search
of a schema/model to generate games completely.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Georgios</surname>
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Yannakakis</surname>
          </string-name>
          , J.T.:
          <article-title>A panorama of arti cial and computational intelligence in games</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ) (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Klimas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          : Twine, https://twinery.org/ (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Inform: Inform 7
          <article-title>- design system for interactive ction</article-title>
          , http://inform7.com/ (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Samuel</surname>
            ,
            <given-names>A.L.:</given-names>
          </string-name>
          <article-title>Some studies in machine learning using the game of checkers</article-title>
          .
          <source>IBM Journal of Research and Development</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ) (
          <year>1959</year>
          )
          <volume>210</volume>
          {
          <fpage>229</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Mitchell, E.:
          <article-title>Video games visit harvard yard</article-title>
          ,
          <source>Antic</source>
          ,
          <volume>2</volume>
          :
          <fpage>24</fpage>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Arti cial Intelligence in Games,
          <source>International Journal of Soft Computing and Engineering (IJSCE)</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          :
          <article-title>Game ai revisited</article-title>
          .
          <source>In: Proceedings of the 9th Conference on Computing Frontiers. CF '12</source>
          , New York, NY, USA, ACM (
          <year>2012</year>
          )
          <volume>285</volume>
          {
          <fpage>292</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Camerer</surname>
            ,
            <given-names>C.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ho</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chong</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          :
          <article-title>A cognitive hierarchy model of games</article-title>
          .
          <source>The Quarterly Journal of Economics</source>
          <volume>119</volume>
          (
          <issue>3</issue>
          ) (
          <year>2004</year>
          )
          <volume>861</volume>
          {
          <fpage>898</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Olivenza</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          : Aplicacion de tecnicas de
          <article-title>aprendizaje automatico supervisables por el disen~ador al desarrollo de agentes inteligentes en videojuegos (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mayer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuncak</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Game programming by demonstration</article-title>
          .
          <source>In: Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Re ections on Programming &amp; Software. Onward!</source>
          <year>2013</year>
          , New York, NY, USA, ACM (
          <year>2013</year>
          )
          <volume>75</volume>
          {
          <fpage>90</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Microsoft-Research:
          <article-title>Kodu game lab</article-title>
          , https://www.kodugamelab.com/ (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. NEROGame.org: Nero game, http://nerogame.org/ (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Prihatmanto</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prasetyanto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harsoyo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Strategy and behavior models of non-playable character using computational intelligence approach</article-title>
          .
          <source>In: 2013 IEEE 3rd International Conference on System Engineering and Technology</source>
          . (
          <year>2013</year>
          )
          <volume>411</volume>
          {
          <fpage>414</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Mondesire</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wiegand</surname>
            ,
            <given-names>R.P.</given-names>
          </string-name>
          :
          <article-title>Evolving a non-playable character team with layered learning</article-title>
          .
          <source>In: 2011 IEEE Symposium on Computational Intelligence in Multicriteria Decision-Making (MDCM)</source>
          .
          <article-title>(</article-title>
          <year>2011</year>
          )
          <volume>52</volume>
          {
          <fpage>59</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A panorama of arti cial and computational intelligence in games</article-title>
          . (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
          </string-name>
          , G.N.:
          <article-title>General general game ai</article-title>
          .
          <source>In: IEEE Conference on Computational Intelligence and Games (CIG'16)</source>
          , Press (
          <year>2016</year>
          )
          <volume>468</volume>
          {
          <fpage>473</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Vicarious</surname>
          </string-name>
          <article-title>: Tads - text adventure development system (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whitehead</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Tanagra: a mixed-initiative level design tool</article-title>
          .
          <source>In: Proceedings of the Fifth International Conference on the Foundations of Digital Games</source>
          , New York, NY, USA, ACM (
          <year>2010</year>
          )
          <volume>209</volume>
          {
          <fpage>216</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>TNO</surname>
          </string-name>
          <article-title>: (Sketchaworld: From scketch to virtual world</article-title>
          , https://www.tno.nl/en/focusareas/defence
          <article-title>-safety-security/missions-operations/sketchaworld-from-</article-title>
          <string-name>
            <surname>sketch-</surname>
          </string-name>
          tovirtual-world/)
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>Tony</given-names>
            <surname>Cerri</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.A.C.</surname>
          </string-name>
          :
          <source>Sentient world simulation (sws)</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. Antonio Liapis, J.T.,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          :
          <article-title>Sentient sketchbook: Computer-aided game level authoring</article-title>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Interactive Data Visualization</surname>
            ,
            <given-names>I.I.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Speedtree</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Bevilacqua</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzer</surname>
          </string-name>
          , C.T.,
          <string-name>
            <surname>d'Ornellas</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Charack: Tool for real-time generation of pseudo-in nite virtual worlds for 3d games</article-title>
          .
          <source>In: 2009 VIII Brazilian Symposium on Games and Digital Entertainment</source>
          . (
          <year>2009</year>
          )
          <volume>111</volume>
          {
          <fpage>120</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Zook</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riedl</surname>
            ,
            <given-names>M.O.</given-names>
          </string-name>
          :
          <article-title>Automatic game design via mechanic generation</article-title>
          .
          <source>In: Proceedings of the Twenty-Eighth AAAI Conference on Arti cial Intelligence, July 27 -31</source>
          ,
          <year>2014</year>
          ,
          <string-name>
            <given-names>Quebec</given-names>
            <surname>City</surname>
          </string-name>
          , Quebec, Canada. (
          <year>2014</year>
          )
          <volume>530</volume>
          {
          <fpage>537</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Browne</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Automatic generation and evaluation of recombination games (</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Shaker</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          :
          <article-title>Procedural Content Generation in Games: A Textbook and an Overview of Current Research</article-title>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Pell</surname>
            ,
            <given-names>B.D.</given-names>
          </string-name>
          :
          <article-title>Strategy generation and evaluation for meta-game playing</article-title>
          .
          <source>Technical report</source>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Sanchez-Cartagena</surname>
            ,
            <given-names>V.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perez-Ortiz</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanchez-Mart nez</surname>
          </string-name>
          , F.:
          <article-title>Rulearn: an open-source toolkit for the automatic inference of shallow-transfer rules for machine translation (</article-title>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Ceptre: A language for modeling generative interactive systems</article-title>
          . (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Dormans</surname>
          </string-name>
          , J.: Machinations:
          <article-title>Game feedback diagrams (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Stanley</surname>
            ,
            <given-names>K.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornelius</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miikkulainen</surname>
            , R.,
            <given-names>D</given-names>
          </string-name>
          'Silva,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Gold</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Real-time learning in the nero video game</article-title>
          .
          <source>In: Proceedings of the First AAAI Conference on Arti cial Intelligence and Interactive Digital Entertainment. AIIDE'05</source>
          , AAAI Press (
          <year>2010</year>
          )
          <volume>159</volume>
          {
          <fpage>160</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stern</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A behavior language for story-based believable agents</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>17</volume>
          (
          <issue>4</issue>
          ) (
          <year>2002</year>
          )
          <volume>39</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Lavelle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>: open-source html5 puzzle game engine</article-title>
          , http://www.puzzlescript.net/ (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>