8
Interactive Evolution for the Procedural Generation of Tracks in a High-End Racing Game Luigi Cardamone Dipartimento di Elettronica e Informazione Politecnico di Milano Milano 20133, Italy [email protected] Daniele Loiacono Dipartimento di Elettronica e Informazione Politecnico di Milano Milano 20133, Italy [email protected] Pier Luca Lanzi Dipartimento di Elettronica e Informazione Politecnico di Milano Milano 20133, Italy [email protected] ABSTRACT We present a framework for the procedural generation of tracks for a high-end car racing game (TORCS) using inter- active evolution. The framework maintains multiple pop- ulations and allow users to work both on their own pop- ulation (in single-user mode) or to collaborate with other users on a shared population. Our architecture comprises a web frontend and an evolutionary backend. The former manages the interaction with users (e.g., logs registered and anonymous users, collects evaluations, provides access to all the evolved populations) and maintains the database server that stores all the present/past populations. The latter runs all the tasks related to evolution (selection, recombination and mutation) and all the tasks related to the target racing game (e.g., the track generation). We performed two sets of experiments involving five human subjects to evolve racing tracks alone (in a single-user mode) or cooperatively. Our preliminary results on five human subjects show that, in all the experiments, there is an increase of users’ satisfaction as the evolution proceeds. Users stated that they perceived improvements in the quality of the individuals between sub- sequent populations and that, at the end, the process pro- duced interesting tracks. Categories and Subject Descriptors K.8 [Personal Computing]: Games General Terms Experimentation, Design Keywords Interactive Genetic Algorithms, Racing Games, Procedural Content Generation Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. GECCO’11, July 12–16, 2011, Dublin, Ireland. Copyright 2011 ACM 978-1-4503-0557-0/11/07 ...$10.00. 1. INTRODUCTION The automatic generation of game content has been a cen- tral issue for the game industry since the early 1980s, when the limitation of existing platforms did not allow the distri- bution of large amounts of pre-designed content (typically game levels). Accordingly, ad-hoc algorithmic procedures were widely applied to generate game content on-the-fly, so as to provide infinite levels of fun [13], and the field of Pro- cedural Content Generation (or PCG) was born. Nowadays, this area has become crucial as most commercial games re- quires huge amounts of game content which would be un- bearable for human designers (see for instance the infinite universes of Eve Online 1 ). In the recent years, several researchers have investigated the application of evolutionary methods for the automatic discovery of innovative and interesting game content. In this area, dubbed Search-Based Procedural Content Generation (SB-PCG) [25], the quality assessment of the evolved content is probably the most critical issue. So far, two approaches have been proposed in the literature (e.g., [22, 26]). Theory- driven approaches rely on domain experts who design ad- hoc heuristics (typically inspired to a theory of fun [12]) to measure the quality of game content; a limitation of these approaches is that such heuristics are typically difficult to implement and often biased toward the underlying theory. In contrast, data-driven approaches exploit huge collection of game data to build a predictive model to evaluate the quality of unseen content. These approaches have two major drawbacks in that (i) the data collection phase is typically time-consuming, as it may involve several players, and (ii) building an accurate model of players’ satisfaction is usually challenging. In this work, we take a completely different approach and investigate the application of interactive evolution for SB- PCG in the realm of car racing games. This is a rather pop- ular game genre in which the content plays a key role for the commercial success of the title (see for instance, Trackmania by Nadeo 2 and rFactor by Image Space Inc. 3 ). For this rea- son, the genre recently attracted the interest of researchers who applied methods of SB-PCG to evolve different types of content such as competitive driving behaviors [4], racing lines [5], and tracks [22, 15]. Our approach investigates the human-assisted generation of racing tracks for a high-end racing game (TORCS [1]); 1 http://www.eveonline.com/ 2 http://www.trackmania.com 3 http://www.rfactor.net

InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

Interactive Evolution for the Procedural Generation ofTracks in a High-End Racing Game

Luigi CardamoneDipartimento di Elettronica e

InformazionePolitecnico di MilanoMilano 20133, Italy

[email protected]

Daniele LoiaconoDipartimento di Elettronica e

InformazionePolitecnico di MilanoMilano 20133, Italy

[email protected]

Pier Luca LanziDipartimento di Elettronica e

InformazionePolitecnico di MilanoMilano 20133, Italy

[email protected]

ABSTRACT

We present a framework for the procedural generation oftracks for a high-end car racing game (TORCS) using inter-active evolution. The framework maintains multiple pop-ulations and allow users to work both on their own pop-ulation (in single-user mode) or to collaborate with otherusers on a shared population. Our architecture comprisesa web frontend and an evolutionary backend. The formermanages the interaction with users (e.g., logs registered andanonymous users, collects evaluations, provides access to allthe evolved populations) and maintains the database serverthat stores all the present/past populations. The latter runsall the tasks related to evolution (selection, recombinationand mutation) and all the tasks related to the target racinggame (e.g., the track generation). We performed two sets ofexperiments involving five human subjects to evolve racingtracks alone (in a single-user mode) or cooperatively. Ourpreliminary results on five human subjects show that, in allthe experiments, there is an increase of users’ satisfactionas the evolution proceeds. Users stated that they perceivedimprovements in the quality of the individuals between sub-sequent populations and that, at the end, the process pro-duced interesting tracks.

Categories and Subject Descriptors

K.8 [Personal Computing]: Games

General Terms

Experimentation, Design

Keywords

Interactive Genetic Algorithms, Racing Games, ProceduralContent Generation

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.GECCO’11, July 12–16, 2011, Dublin, Ireland.Copyright 2011 ACM 978-1-4503-0557-0/11/07 ...$10.00.

1. INTRODUCTIONThe automatic generation of game content has been a cen-

tral issue for the game industry since the early 1980s, whenthe limitation of existing platforms did not allow the distri-bution of large amounts of pre-designed content (typicallygame levels). Accordingly, ad-hoc algorithmic procedureswere widely applied to generate game content on-the-fly, soas to provide infinite levels of fun [13], and the field of Pro-cedural Content Generation (or PCG) was born. Nowadays,this area has become crucial as most commercial games re-quires huge amounts of game content which would be un-bearable for human designers (see for instance the infiniteuniverses of Eve Online1).

In the recent years, several researchers have investigatedthe application of evolutionary methods for the automaticdiscovery of innovative and interesting game content. In thisarea, dubbed Search-Based Procedural Content Generation(SB-PCG) [25], the quality assessment of the evolved contentis probably the most critical issue. So far, two approacheshave been proposed in the literature (e.g., [22, 26]). Theory-driven approaches rely on domain experts who design ad-hoc heuristics (typically inspired to a theory of fun [12]) tomeasure the quality of game content; a limitation of theseapproaches is that such heuristics are typically difficult toimplement and often biased toward the underlying theory.In contrast, data-driven approaches exploit huge collectionof game data to build a predictive model to evaluate thequality of unseen content. These approaches have two majordrawbacks in that (i) the data collection phase is typicallytime-consuming, as it may involve several players, and (ii)building an accurate model of players’ satisfaction is usuallychallenging.

In this work, we take a completely different approach andinvestigate the application of interactive evolution for SB-PCG in the realm of car racing games. This is a rather pop-ular game genre in which the content plays a key role for thecommercial success of the title (see for instance, Trackmaniaby Nadeo2 and rFactor by Image Space Inc.3). For this rea-son, the genre recently attracted the interest of researcherswho applied methods of SB-PCG to evolve different typesof content such as competitive driving behaviors [4], racinglines [5], and tracks [22, 15].

Our approach investigates the human-assisted generationof racing tracks for a high-end racing game (TORCS [1]);

1http://www.eveonline.com/2http://www.trackmania.com3http://www.rfactor.net

Page 2: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

it is inspired to the early work of [22, 15], who applied SB-PCG to a simple 2D game [22] and to a high-end racing game[15] to evolve racing tracks which could either fit a targetplayer profile [22] or provide a large degree of diversity [15].Both [22, 15] assess the quality of game content using sev-eral statistics collected during one or more races involvingnon-player characters (or bots). In contrast, in this work,users define what they consider interesting game content andemploy interactive genetic algorithms to search for the rac-ing tracks they like most. For this purpose, we developeda framework which enables the interactive evolution of rac-ing tracks both by single users, working alone on their ownpopulation, and by a community of users sharing (a typ-ically much larger) population. Our framework comprisesone web frontend and an evolutionary backend. The fron-tend is responsible for (i) managing the interaction with theusers, (ii) rendering active populations, (iii) collecting users’evaluations, and (iv) maintaining the database of evolv-ing/evolved populations. The evolutionary/gaming backendis in charge of (i) generating the content for the actual tar-get game, (ii) performing all the evolutionary tasks (selec-tion, recombination, and mutation) on all the currently ac-tive population. The partitioning between a web/databasededicated frontend and an evolutionary/gaming dedicatedbackend has been mainly introduced both (i) to improve theload-balancing between the generally light-weighted user in-terface related tasks and the CPU demanding evolutionaryand game related tasks, but also (ii) to improve the frame-work portability (in fact, game executables usually requirelibraries that are not generally available on the most typi-cal webservers). We validated our framework by performingtwo sets of experiments involving five human subjects, fourdifferent single-user setups and one cooperative multi-usersetup. Our preliminary results show that, in all the experi-ments, there is an increase of users’ satisfaction as the evo-lution proceeds. Users stated that they perceived improve-ments in the quality of the individuals between subsequentpopulations and that, at the end, the process produced in-teresting tracks.

2. SEARCH-BASED PROCEDURAL

CONTENT GENERATIONProcedural Content Generation (PCG) dates back to the

early 1980s when simple algorithmic procedures were ap-plied to generate huge, possibly infinite, amount of gamecontent with very limited resources. Some of the early ex-amples in this area are represented by the games Rogue4,Elite5, and MidWinter6. Nowadays, although the memorylimitations are long forgotten, procedural content generationis still widely used both to reduce the design costs and togenerate those immense scenarios which would be infeasiblefor human designers. Recent examples include [2], Diablo,Diablo II in which maps were procedurally generated on-the-fly; and Eve Online which involves a universe generatedusing fractal methods.Search-Based Procedural Content Generation (SB-PCG)

extends PCG by replacing the handcrafted human designwith search-based (usually evolutionary computation) meth-ods [25]. Early examples in this area include the work of

4http://en.wikipedia.org/wiki/Rogue (computer game)5http://en.wikipedia.org/wiki/Elite (video game)6http://en.wikipedia.org/wiki/Midwinter (video game)

Hastings et al. [9] who applied a modified version of NEAT[20], NEAT Particles, to interactively evolve complex andinteresting graphical effects to be embedded in computedgames so as to enrich their content. The work was extendedin [10] where the authors introduced the game Galactic ArmsRace and provided the first demonstration of evolutionarycontent generation in an on-line multi-player game. Marksand Hom [16] were the first to evolve a set of game rulesto obtain a balanced board game which could be equallyhard to win from either side and rarely ended with a draw.Togelius et al. [22] combined procedural content generationprinciples with an evolutionary algorithm to evolve racingtracks for a simple 2D game which could fit a target playerprofile. Togelius and Schmidhuber [23] evolved completerule sets for games. The game engine was capable of rep-resenting simple Pacman-style games, and the rule sets de-scribed what objects were in the game, how they moved,interacted (with each other or with the agent), scoring andtiming. Frade et al. [7] applied Genetic Programming tothe evolution of terrains for games which would attain theaesthetic feelings and desired features of the designer. Theapproach is currently employed in the game Chapas7. Morerecently, Togelius et al. [24] applied multi-objective evo-lution to evolve maps for StarCraft using a set of fitnessfunctions evaluating the player’s entertainment. Sorensonand Pasquier [19] presented a generative approach for levelcreation following a top-down approach and validated it us-ing Super Mario Bros. and a 2D adventure game similar tothe Legend of Zelda8.

3. INTERACTIVE EVOLUTION FOR

GAME CONTENT GENERATIONInteractive evolutionary algorithms measure the fitness of

individuals through the interactions with users. Accord-ingly, these methods are typically applied to problems forwhich a computable fitness function is difficult or even im-possible to define [21]. On the other hand, interaction withhumans brings new challenges such as users’ fatigue. For in-stance, Takagi [21] presents a review of the research effortsfor abating fatigue in interactive evolutionary systems; Lloraet al. [14] introduced an addition synthetic fitness functionto reduce the number of users’ evaluations; Gong et al. [8]apply clustering to reduce the initial population size.

Interactive evolution has been applied to a wide range ofdomains including the generation of HTML styles [17]; fash-ion design [11]; ergonomic design [3]; the generation of ter-rains and landscapes [27], synthetic images [18], music [28],and art in general. To the best of our knowledge, GalacticArm Race (GAR) [10] is the only application of interactiveevolution to the generation of game content. Galactic ArmsRace is a multiplayer online video game driven by methods ofautomatic content generation. It features a unique weaponsystems that automatically evolves based on players’ behav-ior through a specialized version of the NEAT evolutionaryalgorithm called cgNEAT (content-generating NeuroEvolu-tion of Augmenting Topologies) [10].

7https://forja.unex.es/projects/chapas8Miyamoto, S., Nakago, T., Tezuka, T.: The Legend ofZelda. Nintendo (1986)

Page 3: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

4. OUR FRAMEWORKThe structure of our interactive evolutionary system is de-

picted in Figure 1. The systems consists of two servers. Theweb frontend (i) manages the interaction with the users, (ii)renders active populations, (ii) collects evaluations of theusers, (iii) maintains the database of evolving/evolved pop-ulations, and (iv) updates the request queues for the evolu-tionary backend. The evolutionary backend runs (i) all theevolutionary operators (selection, recombination, and mu-tation) on the currently active populations, (ii) the gen-eration of actual game content (i.e., the mapping proce-dures between genotypes and phenotypes), and (iii) anyother TORCS-related procedure such as the rendering ofthe track thumbnail pictures, which requires the invoca-tion of a TORCS executable. The partitioning between aweb/database dedicated frontend and an evolutionary ded-icated backend was mainly introduced to improve the load-balancing between the generally light-weighted user inter-face related tasks and the CPU demanding evolutionary andTORCS related tasks. In addition, since TORCS executa-bles require libraries that are not generally available on themost typical webservers, we decoupled the the web-relatedapplication from the TORCS-related applications also tomake our system portable to more hosting services.

4.1 The Frontend User InterfacePeople can access the framework using a browser by log-

ging in either as registered or anonymous users, and canrequest either to start/join a single-user session or to joinan active multi-user session.Registered users are fully tracked and thus can (i) save the

state of an active evolutionary process, (ii) continue a previ-ously saved process, and (iii) explore all their history (e.g.,all the populations they evolved, all their preferences). Incontrast, anonymous users are only tracked using browsers’cookies so that the status of their evolutionary process is lostas soon as the browser cookies are cleared or they connectfrom a different machine.In single-user mode, users have the complete control over

the evolutionary process in that (i) they can customize theparameter set up by specifying the population size, the se-lection policy (tournament or truncation), etc. (ii) theycan evaluate all the individuals in the population, and (iii)they can request the next selection, recombination, muta-tion cycle. As an example, Figure 2 shows the interface fora single-user evolution. The upper section of the interfaceincludes all the commands available to the user: Evolve re-quests the next selection, recombination and mutation stepto the evolutionary backend and then updates the currentpage with the new population; Reset restarts the evolutionfrom scratch (all the previous populations are stored and anew random population is generated); Generations providesaccess to the data of all the previous generations.The lower section of the interface depicts the current pop-

ulation and, for each track, it shows (i) the track thumbnailand (ii) its scoring interface. In particular, the frameworkprovides two scoring interfaces (Figure 3): a ranking inter-face (see Figure 2 and Figure 3a) which asks users to rankan individual with an integer between 1 and 5; a like/dislikeinterface (Figure 3b), which asks users simply whether theylike the track.In multi-user mode, users have very limited control over

the process in that they are only allowed (i) to explore and

evaluate a small number individuals, randomly selected fromthe much larger underlying population, and (ii) to access thehall of fame of the best individuals evolved so far. In thismode, users cannot specify the parameters of the geneticalgorithm, nor they can request the activation of the evolu-tionary cycle which is actually triggered by a heuristic basedon the number of evaluations received.

Figure 2: A screenshot of the User Interface.

Figure 3: Scoring interfaces: (a) the ranking inter-face asks users to rank an individual with an integerbetween 1 and 5; (b) the like/dislike asks users tospecify just whether they like the track.

4.2 The Evolutionary BackendThe backend runs of all the evolutionary and TORCS re-

lated tasks. It hosts a number of servers (labeled GA in Fig-ure 1) each one listening to a separate request queue. GAservers are mainly responsible of (i) running the selection,recombination, mutation cycle; (ii) rendering the newly cre-ated populations, which requires the execution of TORCS

Page 4: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

Figure 1: Structure of the interactive evolutionary system.

applications; and (iii) updating the status of the evolution-ary process on the main databases. A selection, recombina-tion, mutation cycle can be requested either (i) explicitly, insingle-user mode, by the user through the Evolve commandon the main interface, (ii) implicitly, in multi-user mode, bythe GA server, when a sufficient number of evaluations forthe individuals in the population has been received. Notethat, for load balancing purposes, all the incoming requestsfrom the web frontend are queued so that each GA server canexplicitly manage the number of running processes. Whena new generation is required, a GA server first performs thestandard selection, recombination, and mutation; then, foreach one of the newly created individuals, the server runs aTORCS executable that generates the actual TORCS track(the phenotype), computes several track statistics, and ren-der the track shape; finally the status on the database isupdated. Since TORCS executables tend to be CPU anddisk intensive, the GA server schedules the number of activeTORCS invocations based on the number of cores availableto avoid overloading the server.GA servers implement a rather simple real-coded genetic

algorithm that accesses a population of tracks stored on aremote database, using tournament or truncation selection,single-point crossover, and mutation. When an infeasibletrack is generated, it is discarded and another one is gener-ated. In single-user mode, when very small population areinvolved, the 10% of a new population is filled with randomlygenerated tracks so as to avoid premature convergence.

5. TORCSThe Open Racing Car Simulator (TORCS) [1] is a state-

of-the-art open-source car racing simulator which providesa sophisticated physics engine, full 3D visualization, severaltracks, car models, and game modes (practice, quick race,championship, etc.). The car dynamics is accurately simu-lated and the physics engine takes into account many aspectsof racing cars such as traction, aerodynamics, fuel consump-tion, etc. All the experiments reported in this paper havebeen carried out with TORCS 1.3.1.

6. TRACK REPRESENTATION

FOR CONTENT GENERATIONThe encoding of game content is a central issue for Search-

Based Procedural Content Generation [25]. In this section,we briefly describe the TORCS representation of tracks (thephenotype), the encoding we designed (the genotype), andthe procedures to map genotypes into phenotypes.

The Phenotype. A track in TORCS is represented as anordered list of segments. Each segment is either a straightor a turn. A straight is defined by just one parameter, itslength. A turn is defined by (i) the direction (i.e., left orright); (ii) the arc it covers measured in radians; (iii) itsstart radius and (iv) its end radius. In addition, the trackmust be feasible, i.e., it must be closed, and therefore thelast segment must overlap the first segment.

The Genotype. The direct encoding of the track represen-tation in TORCS into a genotype is infeasible as it wouldresult in a huge search space (thus leading to the curse ofdimensionality) containing only a tiny fraction of feasible(closed) tracks. Accordingly, we used an indirect encodinginspired to the work of Togelius et al. [22] on a simple 2Dcar racing simulator. In [22], a track is represented as a setof control points that the track has to cover; the track isgenerated as a sequence of Bezier curves connecting threecontrol points and, to guarantee smoothness, have the samefirst and second derivatives at the point they join. In thiswork, we encoded a track as a sequence of control points~p = {p1, . . . pn}, each one consisting of three parametersri, θi, and si; ri and θi identify the position of the controlpoint pi in a polar coordinate system (ri is the radial coor-dinate, θi is the angular coordinate); si controls the slope ofthe track tangent line in pi. Figure 4 shows an example ofour encoding: control points are depicted in red; the bluedot represents the origin of the polar coordinate system; thecurves represent what generated by the genotype to pheno-type mapping process, discussed in the next section.

Page 5: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

Genotype to Phenotype Mapping. This procedure takesas input the n control points ~p and returns a list ~t of tracksegments in TORCS format. Initially, the polar coordinatesof the n control points (i.e., the ri and θi values) are used tocompute the ranges of feasible slope values for each controlpoint. If there exist a control point for which there are nofeasible slope values (thus it is not possible to joint the in-coming and the outgoing segments in that point), no trackcan be derived from ~p and therefore no track (a Null track)is returned. Otherwise, given the ranges of feasible slopevalues, the actual slope values are computed on the basis ofthe si values. Next, for each pair of control points, pi andpi+1, the corresponding TORCS segment is generated usingboth the position and the slope values as constraints. Then,the procedure tries to close the track by generating one ormore segments to connect tn−1 to t1. If the process suc-ceeded, the resulting track ~t is returned otherwise a Null

track is returned.

Generating Closed Tracks. In general, it is not alwayspossible to connect the last and first control points with onlyone segment and a sequence of straights and turns might beneeded. Accordingly, a procedure CloseTrack considersthe parameters defining the end and starting control pointspn and p1 and try different heuristics to generate a feasibleclosed track.

Figure 4: Track encoded as a set of controlpoints(the red dots) represented in a polar coordi-nate system; the blue dot is the system origin; thesolid line shows an example of a feasible slope gen-erated by the genotype to phenotype mapping.

7. EXPERIMENTAL VALIDATIONWe performed two sets of experiments involving five users

to provide an initial validation of the proposed framework.In the first set of experiments, we focused on the single-usermode and investigated how (i) the scoring interface (i.e., ei-ther a ranking interface or a like/dislike interface) and (ii)the selection policy (i.e., either tournament or truncation se-lection) affect the quality of the evolutionary process. In thesecond set of experiments, we studied the system working inmulti-user mode.

7.1 Single-User ModeIn the first set of experiments, we tested four different

configurations: (i) the ranking scoring interface combinedwith tournament selection; (ii) the like/dislike scoring inter-face combined with tournament selection; (iii) the rankingscoring interface combined with truncation selection policy;(iv) the like/dislike scoring interface combined with trun-cation selection policy. For each configuration, we askedfive human subjects to complete ten generations of single-user evolution using a population consisting of 20 individu-als. During the experiments subjects did not know the typeof selection mechanisms in use (tournament or truncation).Since subjects could access the system as registered users,they were allowed to pause and restart the evolutionary pro-cess as they wished (which, in principle, should have limitedtheir fatigue). However, our tests show that the evalua-tion of a population with 20 individuals for 10 generationswould typically take around 20-30 minutes of actual time(i.e., with no pause in between evaluations). To measurethe progress during the evaluation process, for each genera-tion we computed the average score of the individuals in thepopulation as follows. When the ranking interface is used,a integer value (i.e., a fitness) between 1 and 5 is assignedto each track according to the user preferences. When thelike/dislike interface is used, a (fitness) value of 1 is assignedto tracks the user does not like whereas a (fitness) value of5 is assigned to tracks the user likes.

We first analyzed how the scoring method influences theevolutionary process. For this purpose, we grouped all thecollected data based on the scoring method used. Figure 5compares the average population scores for the runs usingthe ranking interface (empty dots) and the like/dislike in-terface (solid dots). Both curves show an improvement inthe users satisfaction as the number of generation proceeds.The use of the simpler like/dislike interface appears to pro-vide a more evident increase of the user satisfaction, whereasthe ranking interface results in a slight improvement overtime. This result was later confirmed by the feedback wereceived by the subjects who stated they perceived the sim-pler (like/dislike) interface as more effective to express theirpreferences while they found it difficult to provide meaning-ful/coherent overall rankings.

We performed a similar analysis to study how selectionmay influence the evolutionary process. Accordingly, wegrouped all the collected data based on the selection method;it is important to stress that, users did not know the selec-tion method used during the experiments. Figure 6 com-pares the average population scores for the runs using tour-nament (empty dots) and truncation selection (solid dots).Again both curves show an improvement in the users satis-faction as the number of generation proceeds. In this casehowever, there is no noticeable difference between the trialsusing truncation or tournament selection, suggesting thatthe selection mechanism had no influence on the users.

Overall, the feedback we received from the subjects wasgenerally positive. In most cases, users reported that theyperceived improvements in the quality of the individuals be-tween subsequent populations. They also found that, at theend, the process produced interesting tracks. As an exam-ple, Figure 8 and Figure 9 show two of the most interestingtracks evolved according to the users. The only criticismwe recorded concerned the ranked scheme which appears tocause, sometimes, fatigue and frustration in the users. In

Page 6: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

1

1.5

2

2.5

3

3.5

4

4.5

5

1 2 3 4 5 6 7 8 9 10

AV

ER

AG

E P

OP

UL

AT

ION

SC

OR

E

NUMBER OF GENERATIONS

RANKING

LIKE/DISLIKE

Figure 5: Average population score for the trialsusing the like/dislike evaluation (solid dots) and theranked evaluation (empty dots). Curves are aver-ages over 10 trials.

1

1.5

2

2.5

3

3.5

4

4.5

5

1 2 3 4 5 6 7 8 9 10

AV

ER

AG

E P

OP

UL

AT

ION

SC

OR

E

NUMBER OF GENERATIONS

TOURNAMENT

TRUNCATION

Figure 6: Average population score for the trials us-ing truncation selection (solid dots) and tournamentselection (empty dots). Curves are averages over 10trials.

addition, users told us they would tend to be annoyed whenmany very similar individuals appeared in the same popu-lation.

7.2 Multi-User ModeAt the end, we performed a preliminary experiment to test

the multi-user mode. The experiment involved the same fivehuman subjects, participating in the previous experiments,who in this case shared the same population; subjects couldnot communicate one another in anyway while the exper-iment was running. Given the limited number of subjectsinvolved, we used a population of only 20 individuals (thesame size used in the previous experiments) and thus al-lowed all the subject to score all the individuals. Trackswere evaluated using the simpler like/dislike interface; trackfitness was computed as the average score received from theusers; truncation selection was applied.Figure 7 reports the average population score over the

number of generations. As in the single-user experiments,

1

1.5

2

2.5

3

3.5

4

4.5

5

1 2 3 4 5 6 7 8 9 10

AV

ER

AG

E P

OP

UL

AT

ION

SC

OR

E

NUMBER OF GENERATIONS

Figure 7: Average population score for one trial us-ing like/dislike scoring and truncation selection.

the curve shows a clear improvement in the users’ satisfac-tion, in fact, the number of likes increases as the evolutionproceeds, notwithstanding possible conflicting opinions thatthe users have expressed.

8. CONCLUSIONSWe introduced a framework which exploits interactive evo-

lution for the human-assisted generation of tracks for a high-end open-source car racing game (TORCS). The frameworkcomprises a web frontend which manages the interactionswith anonymous/registered users who can work on theirown population (in single-user mode) or can cooperate ona shared population (in multi-user mode). An evolution-ary backend manages both all the instances of interactivegenetic algorithms and all the tasks strictly connected tothe target racing game (e.g., the generation of the actualin-game content, the rendering of the thumbnails needed bythe web frontend). We validated the initial prototype of theframework with five human subjects who were asked to per-form four single-user trials and one multi-user trial involvingall the subjects together. The preliminary feedback we re-ceived was generally positive. In most cases, users perceivedimprovements in the quality of the tracks between subse-quent generations. Users also stated that, at the end, theprocess produced some interesting tracks. The only criti-cism we recorded concerned the evaluation interface whichrequires to rank all the tracks. In fact, this seems to causefatigue and frustration in the users who did not feel com-fortable in providing a complete ranking of all the tracks.Users also told us that they tended to be annoyed, in latergenerations, when many very similar individuals appearedin the same population.

Our framework is still at a preliminary stage but the feed-back we received, from the users who tried it, is very promis-ing. At the moment, we are working on new features, whichthe feedback we received suggested, that will also requirefurther validation with human subjects. First, we plan toimprove the rendering of populations by introducing a clus-tering preprocessing to group together very similar track intoone single representative. This should alleviate the frustra-tion we recorded when more copies of very similar tracks are

Page 7: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

(a) (b) (c) (d)

Figure 8: First example of track evolved in single-user mode: (a) shape of the track as used during theevolution; (b), (c), and (d) actual in-game renderings.

(a) (b) (c) (d)

Figure 9: Second example of track evolved in single-user mode: (a) shape of the track as used during theevolution; (b), (c), and (d) actual in-game renderings.

shown. Second, we plan to add a sort of zooming operatorwhich would apply a local search to some selected individu-als the user particularly likes. Finally, we plan to add nich-ing mechanisms to multi-user evolution so as to maintainhigher degrees of diversity as the number of users and thepopulation size increases.The next big step will be to make the framework publicly

available as a service for the TORCS community and alsofor the communities of other related games such as SpeedDreams9 and VDrift10. Our long term goal is to createan on-line community which would make these open-sourcegames more attractive by enabling the generation of largequantities of high-quality content. In our opinion, in fact,the limited availability of game content is currently one ofthe major limitations of most open-source games.

9. REFERENCES

[1] The open racing car simulator website.http://torcs.sourceforge.net/.

[2] Procedural content generation.http://pcg.wikidot.com/.

[3] A.M. Brintrup, J. Ramsden, H. Takagi, and A. Tiwari.Ergonomic chair design by fusing qualitative andquantitative criteria using interactive geneticalgorithms. Evolutionary Computation, IEEETransactions on, 12(3):343 –354, 2008.

[4] Luigi Cardamone, Daniele Loiacono, and Pier LucaLanzi. Evolving competitive car controllers for racinggames with neuroevolution. In GECCO ’09:

9http://www.speed-dreams.org10http://vdrift.net

Proceedings of the 11th Annual conference on Geneticand evolutionary computation, pages 1179–1186, NewYork, NY, USA, 2009. ACM.

[5] Luigi Cardamone, Daniele Loiacono, Pier Luca Lanzi,and Alessandro Pietro Bardelli. Racing lineoptimization using genetic algoritms. In Proceedings ofthe 2010 IEEE Conference on ComputationalIntelligence and Games (CIG), pages 388–394,Copenhagen, Denmark, August 18-21 2010. IEEE.

[6] Cecilia Di Chio, Stefano Cagnoni, Carlos Cotta, MarcEbner, Aniko Ekart, Anna Esparcia-Alcazar,Chi Keong Goh, Juan J. Merelo Guervos, FerranteNeri, Mike Preuss, Julian Togelius, and Georgios N.Yannakakis, editors. Applications of EvolutionaryComputation, EvoApplicatons 2010: EvoCOMPLEX,EvoGAMES, EvoIASP, EvoINTELLIGENCE,EvoNUM, and EvoSTOC, Istanbul, Turkey, April 7-9,2010, Proceedings, Part I, volume 6024 of LectureNotes in Computer Science. Springer, 2010.

[7] Miguel Frade, F. Fernandez de Vega, and CarlosCotta. Modelling video games’ landscapes by means ofgenetic terrain programming - a new approach forimproving users’ experience. In Mario Giacobini et al.,editor, Applications of Evolutionary Computing,volume 4974 of LNCS, pages 485–490, Napoli, Italy,2008. Springer.

[8] Dunwei Gong, Jie Yuan, and Xiaoping Ma. Interactivegenetic algorithms with large population size. InEvolutionary Computation, 2008. CEC 2008. (IEEEWorld Congress on Computational Intelligence). IEEECongress on, pages 1678 –1685, 2008.

Page 8: InteractiveEvolutionfortheProceduralGenerationof ...trackgen.pierlucalanzi.net/gecco2011trackgen.pdf · content generation in an on-line multi-player game. Marks and Hom [16] were

[9] E. Hastings, R. Guha, and K.O. Stanley. Neatparticles: Design, representation, and animation ofparticle system effects. In Proc. IEEE Symposium onComputational Intelligence and Games CIG 2007,pages 154–160, 2007.

[10] Erin J. Hastings, Ratan K. Guha, , and Kenneth O.Stanley. Automatic content generation in the galacticarms race video game. IEEE Transactions onComputational Intelligence and AI in Games,4(1):245–263, 2009.

[11] Hee-Su Kim and Sung-Bae Cho. Application ofinteractive genetic algorithm to fashion design.Engineering Applications of Artificial Intelligence,13(6):635 – 644, 2000.

[12] Raph Koster. Theory of Fun for Game Design.PARAGLYPH PRESS, 2005.

[13] John E. Laird and Jonathan Schaeffer, editors.Procedural Level Design for Platform Games. TheAAAI Press, 2006.

[14] Xavier Llora, Kumara Sastry, David E. Goldberg,Abhimanyu Gupta, and Lalitha Lakshmi. Combatinguser fatigue in igas: partial ordering, support vectormachines, and synthetic fitness. In Proceedings of the2005 conference on Genetic and evolutionarycomputation, GECCO ’05, pages 1363–1370, NewYork, NY, USA, 2005. ACM.

[15] Daniele Loiacono, Luigi Cardamone, and Pier LucaLanzi. Automatic track generation for high-end racinggames using evolutionary computation. TechnicalReport 2011.08, Dipartimento di Elettronica eInformazione, Politecnico di Milano, 2011.

[16] Joe Marks and Vincent Hom. Automatic design ofbalanced board games. In Jonathan Schaeffer andMichael Mateas, editors, AIIDE, pages 25–30. TheAAAI Press, 2007.

[17] N. Monmarche, G. Nocent, M. Slimane, G. Venturini,and P. Santini. Imagine: a tool for generating htmlstyle sheets with an interactive genetic algorithmbased on genes frequencies. In Systems, Man, andCybernetics, 1999. IEEE SMC ’99 ConferenceProceedings. 1999 IEEE International Conference on,volume 3, pages 640 –645 vol.3, 1999.

[18] Jimmy Secretan and Nicholas Beato. Picbreeder:evolving pictures collaboratively online. In CHI, pages1759–1768, 2008.

[19] Nathan Sorenson and Philippe Pasquier. Towards ageneric framework for automated video game levelcreation. In Chio et al. [6], pages 131–140.

[20] Kenneth O. Stanley and Risto Miikkulainen. Evolvingneural network through augmenting topologies.Evolutionary Computation, 10(2):99–127, 2002.

[21] H. Takagi. Interactive evolutionary computation:fusion of the capabilities of ec optimization andhuman evaluation. Proceedings of the IEEE,89(9):1275 –1296, September 2001.

[22] J. Togelius, R. De Nardi, and S.M. Lucas. Towardsautomatic personalised content creation for racinggames. In Proc. IEEE Symposium on ComputationalIntelligence and Games CIG 2007, pages 252–259,2007.

[23] J. Togelius and J. Schmidhuber. An experiment inautomatic game design. In Computational Intelligenceand Games, 2008. CIG ’08. IEEE Symposium On,pages 111–118, Dec. 2008.

[24] Julian Togelius, Mike Preuss, Nicola Beume,Johan Hagelbaeck Simon Wessing, and Georgios N.Yannakakis. Multiobjective exploration of thestarcraft map space. In Proceedings of the 2010 IEEEConference on Computational Intelligence and Games,pages 265–262, Copenhagen, Denmark, 18-21 August2010., 2010. IEEE.

[25] Julian Togelius, Georgios N. Yannakakis, Kenneth O.Stanley, and Cameron Browne. Search-basedprocedural content generation. In Chio et al. [6], pages141–150.

[26] Niels van Hoorn, Julian Togelius, Daan Wierstra, andJurgen Schmidhuber. Robust player imitation usingmultiobjective evolution. In Proceedings of the IEEECongress on Evolutionary Computation, pages652–659, Trondheim, Norway, 18-21 May 2009.

[27] P. Walsh and P. Gade. Terrain generation using aninteractive genetic algorithm. In EvolutionaryComputation (CEC), 2010 IEEE Congress on, pages 1–7, 2010.

[28] Bin Xu, Shangfei Wang, and Xian Li. An emotionalharmony generation system. In EvolutionaryComputation (CEC), 2010 IEEE Congress on, pages 1–7, 2010.