The Codex of Business Writing Software for Real-World Solutions 2.pptx
Evolving Interesting Maps for a First Person Shooter
1. Evolving Interesting Maps
for a First Person Shooter
Luigi Cardamone, Georgios Yannakakis,
Julian Togelius and Pier Luca Lanzi
EVO*-2011
2. Motivations 2
Game content?
In many games, the availability of a big quantity of content
is crucial
Unfortunately, the creation of the game content is a very
time-consuming activity
Several game designers are required
Some content need to be tested
Luigi Cardamone et al. – EVO* 2011
3. SBPCG 3
Search-based Procedural Content Generation (SBPCG):
PCG (algorithms procedures for generating content)
+
Search algorithms (e.g. genetic algorithms)
SBPCG can be a valid tool:
To support the game designers
To extends the game with unlimited content
Challenges:
How to represent the content?
Which is the best representation to be evolved with
genetic algorithms?
How to evaluate the game content?
Luigi Cardamone et al. – EVO* 2011
4. This work 4
Focus on a First Person Shooter
We Apply SBPCG to evolve maps that can be interesting for
the players
We focus on maps:
For Multi-player deathmatch
Single floor
We introduce 4 genotype representations for the maps
We propose a fitness to measure the interestingness of a
given map
Luigi Cardamone et al. – EVO* 2011
5. Cube-2 6
Sophisticated First Person
Shooter Game:
Deathmatch
Team Deathmatch
Capture The Flag
Fast Engine allowing for
in-game geometry editing
Open-source
Luigi Cardamone et al. – EVO* 2011
6. Problem Setting 7
Map elements:
Structural elements:
• Rooms Part of the
• Corridors representation
• Elevators/stairs
Game Elements:
• Weapons Algorithmically
• Bonus generated
• Spawn-points
Graphical Elements:
• Non-interactive objects
• Lights
• Textures
Luigi Cardamone et al. – EVO* 2011
7. Representations 8
Phenotype:
Single floor map (2D)
A big matrix of blocks that can
form corridors and rooms
4 Genotype Representations:
All-White
All-Black
Grid
Random Digger
Mapping procedures are necessary to convert the genotype
to the phenotype:
Check unreachable parts
Place uniformly weapons, bonus, and spawn points
Luigi Cardamone et al. – EVO* 2011
8. All-White 9
The initial space is free
The genome encodes a series of obstacles that are added to
the map
Each obstacle is a wall represented as:
x,y (start position)
Length (positive for horizontal, negative for vertical)
<(10,10,200),(90,90,-100),…>
Luigi Cardamone et al. – EVO* 2011
9. All-Black
The initial space is all black (full of obstacles)
The genome encodes a series of free spaces that are added
to the map
Each free space can be:
A square arena (x,y,size)
A rectangular corridor (x,y,length)
Luigi Cardamone et al. – EVO* 2011
10. Grid
The initial space has a grid of walls that
creates NxN squares
The genome specifies for each wall of the
grid if it should be ON or OFF
110111
110111
111011
101111
111111
111111
Luigi Cardamone et al. – EVO* 2011
11. Random Digger
The initial space is all black (full of obstacles)
An agent starts moving randomly and “dig”
every place visited
The genome encodes the policy which
controls this agent
Luigi Cardamone et al. – EVO* 2011
12. Removing Unreachable parts 13
All the first 3 representations may lead to maps with
unreachable parts:
Remove the parts that are not reachable:
1. Compute the connected spaces
2. Find the biggest space
3. Remove the zones that are not reachable from the main
one
1
3
2
Luigi Cardamone et al. – EVO* 2011
13. Fitness 14
Based on the Fighting Time
Also the size of the map is taken into account
Fitness = FightTime + Size
To evaluate the FightTime:
Simulated match of 10 minutes
4 bots (need navigation points)
spawn start-fight killed spawn start-fight killed
Fighting Time Fighting Time
Luigi Cardamone et al. – EVO* 2011
15. 16
Best Maps evolved with representation All-White
Best Maps evolved with representation All-Black
Luigi Cardamone et al. – EVO* 2011
16. 17
Best Maps evolved with representation Grid
Best Maps evolved with representation RandomDigger
Luigi Cardamone et al. – EVO* 2011
17. Comparison 18
10 runs for each representation
Grid and All-White are the representations which achieve the
highest fitness
> >
Luigi Cardamone et al. – EVO* 2011
18. Maps Loaded in Cube 2 19
Luigi Cardamone et al. – EVO* 2011
20. Conclusions 21
All the representations are able to evolve playable maps
Preliminary user testing suggests that the fitness push
towards interesting maps
All-White is the representation that is able to evolve the best
maps
Future works:
Use additional fitness functions
Extends the analysis using more human players
Luigi Cardamone et al. – EVO* 2011