<!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>Procedural Generation of Balanced Levels for a 3D Paintball Game</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raul Lara-Cabrera</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V ctor Rodr guez-Fernandez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Javier Paz-Sedano</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Camacho</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Engineering Universidad Autonoma de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Videogames have become an important eld in both the entertainment industry and the computational intelligence research community. Procedural Content Generation (PCG) allows to generate automatically interesting contents for a videogame with a low supervision from the game designers, or even without their supervision. This paper presents a search-based procedural content generator algorithm, that can create interesting maps in a 3D game using an evolutionary approach. Speci cally, the algorithm is used in a tactical action game, based on the popular sport Paintball. The maps are generated with an objective in mind: they should be balanced, so any level should not provide an initial advantage of a team over the opponent. The algorithm proposed has been experimentally tested by generating di erent maps. These maps are represented by graphs of zones and populated with obstacles according to their densities. An evolutionary algorithm evolves these zones looking for an adequate distribution of obstacles in order to generate balanced maps. The experimental analysis shows how the algorithm is able to automatically create suitable maps for the game.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        From its beginning in the early 1970s to the present day, the video game industry
has become the main component of the entertainment industry, as well as a
powerful international industry capable of penetrating such varied sectors as the
economic, social, technological and cultural. According to the Entertainment
Software Association [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] there are more than 150 million of gamers just in the
United States, who spent 15.4 billion dollars in videogames. These numbers
highlight the tremendous impact that videogames have on the economy and
society [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], establishing synergies with other elds such as education [
        <xref ref-type="bibr" rid="ref1 ref13">1,13</xref>
        ],
computational intelligence [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and aerospace industry [
        <xref ref-type="bibr" rid="ref21 ref22">21,22</xref>
        ].
      </p>
      <p>Making videogames is a time-consuming process, which turns into a high cost,
that requires a considerable team of highly pro cient professionals from di erent
areas of expertise. For this reason, researchers from the computational and
articial intelligence in games community, have been researching for improvements
to reduce both, the resources and time required to design videogames.</p>
      <p>Related to this problem, Procedural Content Generation (PCG), which can
be de ned as: "generating game content through algorithms instead of manually
creating it ", has been an active eld within the aforementioned community. The
term \content" refers to every component that makes up a video game with an
exception: the behaviour of the non-playable characters (NPCs), which makes
itself a whole eld of research.</p>
      <p>
        The advantages of creating videogames content using algorithms can be
summarized as follows [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]:
{ It reduces the memory consumption
{ It helps the game designer during the process of creating content, thus
reducing costs
{ It allows for creating novel game-play mechanics
{ It facilitates the development of games that adapt themselves to the player
{ It may be used as a source of inspiration to the designers
      </p>
      <p>
        PCG has been used in many commercial games for almost three decades. For
instance, Elite [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is a space trading and combat simulator developed in 1984
with content such as planets and space stations, that is generated procedurally.
Traditionally, algorithms have been quite simple as the only goal were to generate
playable content, that is, content that ful l every game-play requirement, so they
were practically optimized random number generators. Recent research on PCG
techniques aim to create content that is not only correct, but have additional
features that may increase the player satisfaction.
      </p>
      <p>
        One of the most important contents to be generated by using PCG techniques
is the map, or level, of a videogame. Almost in every type of videogame, the
map can strongly in uence the gameplay, and thus, having automatic algorithms
and tools to create enjoyable maps is extremely helpful. The research on map
generation algorithms have been popular for some years, especially for tactical
games with two dimensional scenarios as Startcraft [
        <xref ref-type="bibr" rid="ref25 ref27">25,27</xref>
        ]. However, there is
little literature focused on the generation of 3D environments for tactical games,
in which the di erent 3D objects contained in the map and the terrain altitudes
are considered to create interesting maps.
      </p>
      <p>
        In this work, we study the application of PCG techniques into a 3D Action
RTS game, named Paintbol, in which two teams of characters compete by playing
a game based on the popular Paintball sport. Based on Genetic Algorithms [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
our approach tries to create interesting maps for this videogame by modelling
the 3D map as a graph of interconnected zones, and then analysing the altitude
and level of obstacles (i.e. trees) for each of the zones, which will give some
ratings about the zone that will support the optimization process.
      </p>
      <p>The paper is structured as follows: Section 2 analyses the state of the art
focusing on level generation, Section 3 provides a description of the game whose
maps are procedurally generated by the algorithm described in Section 4.
Section 5 describes the experimental setup used to test the feasibility and
performance of the generator. Finally, conclusions are drawn in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Procedural Content Generation (PCG), as part of the eld of arti cial and
computational intelligence in games [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], has become an active research topic as
shown by the large number of papers on this topic [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], as well as the creation
and growth of conferences and journals that include PCG among their topics.
      </p>
      <p>
        It is possible to establish several distinctions related to procedures and
methods to use when automatically generating content for videogames. According to
the taxonomy proposed by Togelius et al. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], this generation process may be
performed at the same time the user is playing (online generation), or prior to
the publication of the game during its design and development (o ine
generation). Moreover, PCG methods should create the content using random seeds
in a stochastic manner, using parameters in a deterministic way, as well as a
combination of both. At the same time, the content may be necessary (that is,
essential for the gameplay) or optional. Depending on the objectives to
accomplish, the generation could be done in a constructive way thus ensuring that the
content is always valid or using a generate-and-test scheme, in which the
content is veri ed after its creation and discarded if its quality does not meet the
standards. Therefore, this paper presents a stochastic PCG method to generate
necessary content using a generate-and-test scheme.
      </p>
      <p>
        As studied in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], evolutionary algorithms are broadly used when
developing PCG algorithms, specially those that follow a generate-and-test scheme as
our method do. However, it is possible to use other methods such as cellular
automata [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], formal grammars [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and software agents [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The kind of content suitable to be generated by PCG algorithms is varied,
being maps and levels the predominant type. For instance, Frade et al.
proposed the use of genetic programming to evolve terrains by using both human
evaluation as well as quality measures such as the accessibility [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], or the edge
length [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] of the terrains. Ferreira and Toledo [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] presented a method able to
generate levels for the game Angry Birds. A di erent approach to tackle the same
problem was presented in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], where Shaker et al. de ned a system to tune the
parameters that control a level generator for a platform game for adapting it to
the way a user plays the game. Another approach is presented by Lara et al.
in [
        <xref ref-type="bibr" rid="ref19 ref20">19,20</xref>
        ], where the authors designed an algorithm to generate balanced and
dynamic maps for the real-time strategy game Planet Wars using evolutionary
computation; in this case the quality of the maps were evaluated by playing and
analysing several games between arti cial players.
      </p>
      <p>
        There are additional types of contents that have been created using PCG
techniques: Collins [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] explored some approaches to procedural music
composition for videogames; Hastings et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], developed an algorithm capable of
generate the weapons for a space shooter; and Stockdale [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], who presented a
mystery game capable of generating its own narrative.
      </p>
      <p>(a)</p>
      <p>Sensors</p>
      <p>Actuators
MatchHandler</p>
      <p>Collect
information
for characters
Turn management</p>
      <p>Give control
to characters</p>
      <p>Actor
(b)
PaintBol is the name of the videogame used in this work as the basis for our PCG
algorithm. It is a tactical action game based on the sport Paintball, where two
teams of ve characters compete by hitting opponents with breakable paintballs
in a 3D environment (see Figure 1(a)).</p>
      <p>The game's internal basics can be seen in Figure 1(b). The MatchHandler
class provides the instances of the Actor class, which represent the characters
of the game, with the information obtained by their senses or sensors (eyes and
ears). It also carries out the actions of the characters on the game environment:
running, walking, crouching, communicating with other players, shooting,
meleeattacking and throwing grenades). Every action in the game produces a certain
amount of noise that can be heard by the players if they are close enough to the
source of noise when it occurs.</p>
      <p>In this game each character has 5 lives. When a character is hit by an attack,
he loses one life and disappears for 6 seconds, then reappears in a random place.
When the player loses all lives, it goes to the \dead" state and does not reappear.</p>
      <p>The scoring system of Paintbol, which decides what team has won at the end
of a match, considers the following parameters:
{ Lives removed, representing the number of times that a character has reached
an enemy with any possible attack.
{ Melee, which represents the number of times that a character has reached
enemies with a melee attack.
{ Shooting, which represents the number of times that a character has reached
enemies by a gunshot.
{ Grenades, which represents the number of times that a character has reached
enemies with a grenade attack.
{ Stealth, which represents the number of times that a character has reached
enemies before the enemy catches the attacker in its line of sight.
{ Headshots, which represents the number of times that a character has reached
enemies by a gunshot to the head.
{ Multiple attacks, which represent the number of times that a character
managed to hit more than one enemy using one single attack.
{ Friendly re, which represents the number of times that a character has
reached its own allies with an attack.
{ Remaining lives, which represents the number of lives of a character at the
end of the match.
{ Remaining grenades, which represents the number of grenades that a
character holds at the end of the match.</p>
      <p>Then, these parameters are used to compute some score components, such as:
Score for lives removed, bonus for remaining lives, bonus for gunnery, bonus for
remaining grenades and bonus for variety. Finally, the score of each character
is computed as the sum of these score components, and the total score of each
team is computed as the sum of scores of each character in the team.</p>
      <p>The 3D environment in which the game takes place, together with the
relevance of the topography of the maps and the distribution of the terrain objects
with respect to the mechanics of the game, make the terrain analysis (or terrain
reasoning ) an useful and interesting tool for characters in the game.</p>
      <p>The behaviour of the teams characters is made up of heterogeneous and
independent agents. They are heterogeneous in the sense that the algorithms that
control each of the agents can be completely di erent, and they are independent
because all the agents have private information about the state of the game in
function of di erent parameters like its position and the direction where the
character is watching. For example, at the beginning of a match, agents do not
know where their allies or their enemies are, or what they are doing unless they
are within their arc of vision.</p>
      <p>All these features allow the creation of team strategies based on hierarchies,
which gives rise to interesting situations when, for example, part of a team is
left out of the game and the remaining agents could know how to react to that
situation. Agents controlling the characters can communicate partial information
about the state of the game, such as sightings of adversaries or allies, locations of
strategically advantageous zones in the map. This aspect facilitates and promotes
the appearance of emerging behaviours at the level of the teams.
4</p>
    </sec>
    <sec id="sec-3">
      <title>A procedural level generator</title>
      <p>To facilitate the map generation for the AI platform de ned in Section 3 we have
designed a search-based procedural level generator capable of evolving interesting
levels in a way that any team has no advantage over the others, that is, balanced
levels. This criterion is interesting for the platform, because the behaviours that
could be designed for the teams of NPC players should take the environment into
account, to develop their full potential cooperation and collaboration strategies.
The core of the level generator is a genetic algorithm that evolves a population
of maps through an iterative process. The algorithm has been executed several
(a)
(b)
times varying some parameters, in order to study its performance and behaviour;
the reader can nd the results in Section 5.</p>
      <p>Regarding map representation, it has been decided to encode a map as a
graph that represents a distribution of the zones over the map: nodes are related
to the coordinates where the zone is on the map. There is an edge between two
nodes if the distance between them is lower than a certain threshold (see Figure
2(a)), which is 50 game units1 in the engine used to develop the game (i.e. Unity).
Every node (zone) has information about its coordinates as well as the density
of obstacles on it, while the edges has the density of obstacles between two
nodes (zones). In terms of the individuals of the algorithm, they use a vector
representation with three consecutive groups of values: the coordinates of the
zones, their density of obstacles and the edges' density of obstacles (see Figure 3).
Note that there is a density value for every possible edge between two zones
but, if those are not close enough, this value is ignored. Due to the gameplay
requirements of Paintbol, maps must have at most one connected component
and the zones must be within the boundaries of the 3D mesh corresponding to
the terrain (note that this mesh is an input for the generator).</p>
      <p>As stated before, generated maps should be as balanced as possible, in such
a way that there is no clear advantage for a team such as an isolated elevated
zone with many obstacles. The tness function is de ned as follows:
f =
(x) = p</p>
      <p>2
&amp;(x) = sin
(x) = cos
( d)</p>
      <p>(x 0:5)2
e 2 0:17
0:17
x</p>
      <p>2
x
2</p>
      <p>=2
+ 0:5</p>
      <p>+ 0:5
+ &amp;( k)
+ ( d)
+ ( k)
(1)
1 A game unit in Unity is equivalent to 1 meter</p>
      <p>where , and are coe cients for defensiveness, anking and dispersion
respectively. The main components of the tness are the mean ( d, k) and
standard deviation ( d, k) of both defensiveness and anking values of the zones.
(2)
(3)
(4)
(5)
(6)
di =</p>
      <p>Densityi =
Densitypaths =</p>
      <p>Heighti =</p>
      <p>Densityi + Densitypaths + Heighti</p>
      <p>i
MAX
MAX
P i
j=0
3
j
i
P i</p>
      <p>j=0
MAX
hi hj +</p>
      <p>i
2 height
height</p>
      <p>The defensiveness of a zone (eq. (2)) is made up of multiple factors:
{ The density of the obstacles in that zone (see Eq. (3), with i and MAX
being the density of node i and the highest density, respectively). Therefore,
a zone densely covered with obstacles is considered a high defensive zone.
{ The density of obstacles between the zone and the nearest zones (see Eq.
(4), where i represents the degree of node i, and j represents the density of
the edge j). If a zone has paths with many obstacles its defensiveness should
be high.
{ A measure related to the height di erence between the corresponding zone
and the nearest ones (see eq. (5), with height being the maximum di erence
between the height of two adjacent zones, and hi,hj being the heights of the
zone i and its adjacent zones j, respectively). Height information comes from
the 3D mesh passed as input to the algorithm. The higher the zone is with
respect to its neighbours; the more defensiveness score it will have.
ki =
(1
0
i
i
if i 6= 0
otherwise</p>
      <p>The anking coe cient of a zone (node) is computed by counting the number
of connected components in the sub-graph made of its adjacent zones ( i in Eq.
(6)) after removing the zone itself (see Fig. 2(b)). If the zone has no connected
zone, its anking coe cient is zero. Hence, if a zone has its neighbours connected
between them, it is possible to ank it having defensive coverage while moving
between zones, making the game more interesting and dynamic.</p>
      <p>Regarding the genetic operators, the generator performs variation with a
probability of 0:1, and recombination with a probability of 0:75, by using
mutation and crossover operators as follows. The mutation operator applies random
permutations to the values of an individual, adding or multiplying a random
value to it, drawn from a uniform distribution. The decision of adding or
multiplying is made by chance with the same probability. In the event of mutating
an individual in a way that it becomes invalid for the game requirements, the
algorithm assigns a tness of zero to it, to assure that the invalid solution will
not be propagated to the next generation due to the elitist selection method.
After performing a mutation, the map graph is recomputed to include the possible
new edges between two zones if they become close enough due to the mutation.</p>
      <p>
        There are two crossover operators, that are not applied at the same time,
but with a probability of 0.5 each. The former is a one-point crossover [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], that
selects a random cut point and creates two new individuals with the left slice
of one partner and the right slice of the other. The latter is aimed to produce
one child, which genes' values are between corresponding genes of parents, and
another child, which genes' values are outside of the range formed by
corresponding genes of parents. It randomly chooses a factor in the [0; 1] range and then,
for each pair of genes, it computes di erence value, producing two children: one
between and one outside of the range formed by parents genes' values.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Experimental Results</title>
      <p>To assess the feasibility of procedurally creating balanced levels for the game,
we ran the following experiment. The algorithm has been implemented using
AForge.NET 2 , an open source library focused on computer vision and arti cial
intelligence written in C#. The decision was made taking in account the game
was developed using the Unity3D engine, which supports the use of C# as a
scripting language hence making possible integrate it within the game itself.</p>
      <p>In order to evaluate the e ect of the selection method on the generation
process, the next experimental setup was designed: three independent sets of 10
runs of the algorithm, using a di erent selection method for each one, namely
elitism, roulette and rank selection was used. The elite selection method selects
a speci ed amount of best solutions to the next generation. The roulette method
selects solutions to the new generation according to their tness values, so the
more tness value chromosome has, the more chances it has to become member
of new generation (each solution can be selected multiple times). As occurs with
the roulette selection, the rank selection assigns a probability of being chosen
to each solution according to its tness value; however, the latter orders the
solutions by their tness values and then assigns a probability of 1 to the worst
individual, 2 to the next one and so on. The reader can see sample maps that
have been created using these selection methods in Figure 4.
2 http://aforgenet.com</p>
      <p>The rest of the parameters were the same for every run as detailed in Table 1.
Note there is a xed number of zones on each map, each one having a density of
obstacles that ranges between 50 and 100. Moreover, the distance between those
zones is limited to the range [5; 30] to avoid isolated zones.</p>
      <p>After running the executions, we have analysed the evolution of the tness
values during the evolutionary process, obtaining the best tness value for each
generation and computing the average over the 10 executions. As can be seen
on Figure 5, the roulette-selection method obtains the worst performance, while
the others share a barely similar performance according to the standard error of
the mean. The de cient performance of the roulette selection might be due to
big di erences in the tness values, so those individuals with the lowest tness
are rarely selected. On the contrary, rank and elitist selection exhibit a reliable
performance, reaching a tness of 0:70 (note that the maximum tness is 1:00).
They have a similar beginning and ending with minimal di erences in the middle
phase of the evolutionary process: elite selection converges faster than rank
selection which is, in fact, the expected outcome when using these kind of selection
methods (rank selection is more balanced with respect of the exploration and
exploitation factors so its convergence is typically slower). All three selection
method can generate playable levels with a distribution of zones and obstacle
densities that meet the requirements of defensiveness and anking.
In this paper we have introduced an evolutionary algorithm that generates levels
for a 3D action game, Paintbol, inspired on the Paintball sport. This game has
been designed as a research platform for developing intelligent algorithms, which
can be applied over teams of agents. To improve its potential, the algorithm
evolves graphs that represent zones with obstacles on the map. The distribution
of the zones as well as their density of obstacles have been optimized to make
balanced maps. As demonstrated by the experimental results, the algorithm is
capable of automatically create this kind of maps for Paintbol, even using varied
selection mechanisms in the algorithm.</p>
      <p>According to the obtained results, rank and elitist selection methods perform
better than roulette selection ( tness values around 0:7 and 0:57 for the former
and the latter, respectively). This is probably due to a wide di erence between
the tness values that the population takes during the generational process.</p>
      <p>Although the generated maps are fully playable, this paper represents an
initial step towards a fully customizable procedural level generator with additional
criterion that maps should ful l making the game more dynamic or even creating
aesthetic landscapes. Moreover, it should be possible to test how balanced a map
is by running several games between computer-controlled teams and analysing
several game metrics. These are our primary goals to reach in our future work.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgment</title>
      <p>This work has been supported by the next research projects: EphemeCH
(TIN2014-56494-C4-4-P) Spanish Ministry of Economy and Competitivity,
CIBERDINE S2013/ICE-3095, both under the European Regional
Development Fund FEDER, by Airbus Defence &amp; Space (FUAM-076914 and
FUAM076915); and co-funded by the European Union's Justice Programme (2014-2020)
(723180 - RiskTrack - JUST-2015-JCOO-AG/JUST-2015-JCOO-AG-1). The
authors would like to acknowledge the support obtained from Airbus Defence &amp;
Space, specially from Savier Open Innovation project members: Jose Insenser,
Gemma Blasco, and Juan Antonio Henriquez.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Berns</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Pardo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Game-like language learning in 3-d virtual environments</article-title>
          .
          <source>Computers &amp; Education</source>
          <volume>60</volume>
          (
          <issue>1</issue>
          ),
          <volume>210</volume>
          {
          <fpage>220</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Collins,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>An introduction to procedural music in video games</article-title>
          .
          <source>Contemporary Music Review</source>
          <volume>28</volume>
          (
          <issue>1</issue>
          ),
          <volume>5</volume>
          {
          <fpage>15</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Doran</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parberry</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Controlled Procedural Terrain Generation Using Software Agents</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <volume>111</volume>
          {119 (jun
          <year>2010</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Eiben</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>J.E.</given-names>
          </string-name>
          , et al.:
          <article-title>Introduction to evolutionary computing</article-title>
          , vol.
          <volume>53</volume>
          . Springer (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Entertainment</given-names>
            <surname>Software</surname>
          </string-name>
          <article-title>Association: Essential facts about the computer and video game industry (</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ferreira</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toledo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A search-based approach for generating angry birds levels</article-title>
          .
          <source>In: Computational Intelligence and Games (CIG)</source>
          ,
          <source>2014 IEEE Conference on</source>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Frade</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandez de Vega</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cotta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Breeding Terrains with Genetic Terrain Programming: The Evolution of Terrain Generators</article-title>
          .
          <source>International Journal of Computer Games Technology</source>
          <year>2009</year>
          ,
          <volume>1</volume>
          {
          <fpage>13</fpage>
          (
          <year>2009</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Frade</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>de Vega</surname>
            ,
            <given-names>F.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cotta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Evolution of arti cial terrains for video games based on obstacles edge length</article-title>
          .
          <source>In: IEEE Congress on Evolutionary Computation</source>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          . IEEE (jul
          <year>2010</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Frontier: Elite (
          <year>1984</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gee</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hawisher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selfe</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Gaming lives in the twenty- rst century: Literate connections</article-title>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gonzalez-Pardo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palero</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <source>Micro and Macro Lemmings Simulations Based on Ants Colonies</source>
          , pp.
          <volume>337</volume>
          {
          <fpage>348</fpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Gonzalez-Pardo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palero</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>An empirical study on collective intelligence algorithms for video games problem-solving</article-title>
          .
          <source>Computing and Informatics</source>
          <volume>34</volume>
          (
          <issue>1</issue>
          ),
          <volume>233</volume>
          {
          <fpage>253</fpage>
          (
          <year>2015</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gonzalez-Pardo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Behaviour-based identi cation of student communities in virtual worlds</article-title>
          .
          <source>Computer Science and Information Systems</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Hastings</surname>
            ,
            <given-names>E.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guha</surname>
            ,
            <given-names>R.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanley</surname>
            ,
            <given-names>K.O.</given-names>
          </string-name>
          :
          <article-title>Automatic content generation in the Galactic Arms Race video game</article-title>
          .
          <source>Computational Intelligence and AI</source>
          in Games,
          <source>IEEE Transactions on 1(4)</source>
          ,
          <volume>245</volume>
          {
          <fpage>263</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Hendrikx</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meijer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Der Velden</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iosup</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Procedural content generation for games: A survey</article-title>
          .
          <source>ACM Trans. Multimedia Comput. Commun. Appl</source>
          .
          <volume>9</volume>
          (
          <issue>1</issue>
          ), 1:
          <issue>1</issue>
          {1:
          <fpage>22</fpage>
          (Feb
          <year>2013</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Holland,
          <string-name>
            <surname>J.H.</surname>
          </string-name>
          :
          <article-title>Adaptation in Natural and Arti cial Systems: An Introductory Analysis with Applications to Biology, Control, and Arti cial Intelligence</article-title>
          . The MIT Press (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , L.,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Togelius</surname>
          </string-name>
          , J.:
          <article-title>Cellular automata for real-time generation of in nite cave levels</article-title>
          .
          <source>In: Proceedings of the 2010 Workshop on Procedural Content Generation in Games</source>
          . pp.
          <volume>10</volume>
          :
          <issue>1</issue>
          {
          <issue>10</issue>
          :
          <fpage>4</fpage>
          . PCGames '10,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2010</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kelly</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mccabe</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          :
          <article-title>Citygen: An interactive system for procedural city generation</article-title>
          .
          <source>In: In Proceedings of GDTW 2007: The 5th Annual International Conference in Computer Game Design and Technology</source>
          . pp.
          <volume>8</volume>
          {
          <issue>16</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Lara-Cabrera</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cotta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandez-Leiva</surname>
            ,
            <given-names>A.J.:</given-names>
          </string-name>
          <article-title>A procedural balanced map generator with self-adaptive complexity for the real-time strategy game planet wars</article-title>
          .
          <source>In: European Conference on the Applications of Evolutionary Computation</source>
          . pp.
          <volume>274</volume>
          {
          <fpage>283</fpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Lara-Cabrera</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cotta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandez-Leiva</surname>
            ,
            <given-names>A.J.</given-names>
          </string-name>
          :
          <article-title>On balance and dynamism in procedural content generation with self-adaptive evolutionary algorithms</article-title>
          .
          <source>Natural Computing</source>
          <volume>13</volume>
          (
          <issue>2</issue>
          ),
          <volume>157</volume>
          {
          <fpage>168</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Rodr</surname>
            guez-Fernandez,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Menendez</surname>
            ,
            <given-names>H.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Design and development of a lightweight multi-uav simulator</article-title>
          .
          <source>In: 2nd IEEE International Conference on Cybernetics, CYBCONF</source>
          <year>2015</year>
          , Gdynia, Poland, June 24-26,
          <year>2015</year>
          . pp.
          <volume>255</volume>
          {
          <issue>260</issue>
          (
          <year>2015</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Rodriguez-Fernandez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramirez-Atencia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>A multi-uav mission planning videogame-based framework for player analysis</article-title>
          .
          <source>In: Evolutionary Computation (CEC)</source>
          ,
          <source>2015 IEEE Congress on</source>
          . pp.
          <volume>1490</volume>
          {
          <fpage>1497</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Shaker</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Togelius</surname>
          </string-name>
          , J.:
          <article-title>Towards automatic personalized content generation for platform games</article-title>
          .
          <source>In: AIIDE</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Stockdale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Cluegen: An exploration of procedural storytelling in the format of murder mystery games</article-title>
          .
          <source>In: Twelfth Arti cial Intelligence and Interactive Digital Entertainment Conference</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Preuss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          :
          <article-title>Towards multiobjective procedural map generation</article-title>
          .
          <source>In: Proceedings of the 2010 workshop on procedural content generation in games</source>
          . p.
          <fpage>3</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanley</surname>
            ,
            <given-names>K.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Browne</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Search-based procedural content generation: A taxonomy and survey</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ),
          <volume>172</volume>
          {
          <fpage>186</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Uriarte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ontanon</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Psmage:
          <article-title>Balanced map generation for starcraft</article-title>
          .
          <source>In: Computational Intelligence in Games (CIG)</source>
          ,
          <source>2013 IEEE Conference on</source>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <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>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <volume>317</volume>
          {335 (dec
          <year>2015</year>
          ),
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>