SlideShare a Scribd company logo
1 of 18
Download to read offline
A Procedural Balanced Map Generator with Self-Adaptive
Complexity for the Real-Time Strategy Game Planet Wars




                                  Ra´l Lara-Cabrera,
                                    u
                                    Carlos Cotta,
                              Antonio J. Fern´ndez-Leiva
                                             a

                               Dept. Lenguajes y Ciencias de la
                              Computaci´n, University of M´laga,
                                       o                  a
                                           SPAIN

                              http://anyself.wordpress.com
                               http://dnemesis.lcc.uma.es
Introduction


Procedural Content Generation
   Creating game content automatically, through algorithmic means.
   Maps, levels, dialogues, characters, rule-sets, weapons...

Benefits
   Reduced memory consumption
   Saving in the expense of manually creating game content
   Endless or infinite games



 2 / 16
PCG in the game industry

Borderlands (Gearbox, 2009)   Minecraft (Mojang, 2011)
Uses a PCG system to create   Sandbox-building game with an
weapons, enemies and items    infinite map which is expanded
with different properties.     dynamically.




3 / 16
Planet Wars

  Real-time strategy (RTS) game based on Galcon and used in the
  Google AI Challenge 2010
  Its objective is to take over all the planets on the map or eliminate
  all of your opponents ships




4 / 16
Aims and Scope


1st Goal – Content Generation
Use an evolutionary algorithm to design maps for Planet Wars leading
to balanced games.

Balance is used here as a proxy for attractiveness. Balanced games:
   are more interesting for all kind of players
   increase the motivation of players
   increase the duration of the game

2nd Goal – Self-Adaptation
Explore self-adaptation at different levels in this context.

 5 / 16
Maps

Maps are plain text files
Each line represents a
planet
Planet’s attributes:
    X and Y position
    Size (growth rate)
    Initial number of ships
    Owner




6 / 16
Individuals
                  Array of planets (variable length)

                                                  ...

                      Planet
          x (real)
          y (real)
          size (integer)
          number of ships (integer)
          x,y mutation steps (real)
          size, ships mutation steps (real)


 7 / 16
Objective function


                            Nm                  2
                        1            Ki · ti
            fitness =              ¯     ¯
                       Nm         Pi + Si + 1
                            i=1




 8 / 16
Objective function


                                      Nm                  2
                                  1            Ki · ti
                   fitness =                 ¯     ¯
                                 Nm         Pi + Si + 1
                                      i=1


Nm = number of matches
Ki        = percentage of occupied planets
  ti      = number of turns




 8 / 16
Objective function


                                           Nm                  2
                                       1            Ki · ti
                      fitness =                   ¯     ¯
                                      Nm         Pi + Si + 1
                                           i=1


Nm = number of matches
Ki        = percentage of occupied planets
  ti      = number of turns
                ti     (1)    (2)
                j=1   Pij − Pij
 ¯
 Pi       =                         , (difference between number of planets)
                       ti
                ti     (1)    (2)
                j=1   Sij − Sij
 ¯
 Si       =                         , (difference between number of ships)
                       ti
 8 / 16
Breeding mechanism

Mutation
   Gaussian perturbation (real)

                                                     ·N(0,1)+τ ·Ni (0,1)
                              σi    =     σi · e τ
                              xi    =     xi + σi · Ni (0, 1)

   Geometrically distributed perturbation (integers)

                   ςi   =    max(1, ςi · e τ ·N(0,1)+τ    ·N(0,1)
                                                                     )
                                                                            −1
                                                                         2
                                                                ςi
                   ψi   =    1 − (ςi /m) 1 +          1+                    
                                                                m

                                    ln(1 − U(0, 1))                  ln(1 − U(0, 1))
                   zi   =    zi +                           −
                                       ln(1 − ψi )                      ln(1 − ψi )


 9 / 16
Breeding mechanism

Recombination
  “cut and splice”




Other parameters
  (µ + λ) generational scheme with µ = 10 and λ = 100
  Binary tournament selection
10 / 16
Experiments


  Two experiments (10 executions each):
          ES with self-adapting strategy for mutation steps and genome length
          ES with self-adapting strategy for mutation steps and fixed genome
          length (23 planets)
  100 generations each execution
  Maximum game length: 400 turns
  Evaluation: three bots and three matches on each map
          Google AI Challenge 2010 participants
          Ranked in the top 100 out of 4600
          Having their source code available



11 / 16
Results: fitness


                    150000




                    100000
          fitness




                    50000




                        0

                             0   2500      5000       7500   10000
                                        evaluations

12 / 16
Results: individual size
                                 26




                                 24
          best individual size




                                 22




                                 20




                                 18




                                 16

                                      0   2500      5000       7500   10000
                                                 evaluations

13 / 16
Results: maps




14 / 16
Conclusions


  We have introduced a simple procedural map generator for a RTS
  game that is capable of generating balanced maps for two player
  games
  The algorithm with self-adapted number of planets has a better
  performance than the algorithm with this value fixed
  High balanced maps tend to have around 17 planets
  Future work:
          Interactivity
          Pro-activity
          Deal with other maps’ features, such as dynamism and aesthetics



15 / 16
Thanks for your attention!



                  Please find us in Facebook
                      http://facebook.com/AnySelfProject
                  and in Twitter
                      @anyselfproject
AnySelf Project




16 / 16

More Related Content

Similar to Evolving Balanced Maps for Planet Wars Using Self-Adaptive EAs

A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...
A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...
A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...keldon_spain
 
Hybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity MarketHybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity Markettomoyukiichiba
 
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slides
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slidesCVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slides
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slideszukun
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysisrik0
 
New Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorNew Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorSSA KPI
 
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Frank Nielsen
 
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)STAIR Lab, Chiba Institute of Technology
 
Journey to structure from motion
Journey to structure from motionJourney to structure from motion
Journey to structure from motionJa-Keoung Koo
 
Triangle counting handout
Triangle counting handoutTriangle counting handout
Triangle counting handoutcsedays
 
The convenience yield implied by quadratic volatility smiles presentation [...
The convenience yield implied by quadratic volatility smiles   presentation [...The convenience yield implied by quadratic volatility smiles   presentation [...
The convenience yield implied by quadratic volatility smiles presentation [...yigalbt
 
Cuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An IntroductionCuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An IntroductionXin-She Yang
 
Implementing 3D SPHARM Surfaces Registration on Cell B.E. Processor
Implementing 3D SPHARM Surfaces Registration on Cell B.E. ProcessorImplementing 3D SPHARM Surfaces Registration on Cell B.E. Processor
Implementing 3D SPHARM Surfaces Registration on Cell B.E. ProcessorPTIHPA
 
Generalization of Compositons of Cellular Automata on Groups
Generalization of Compositons of Cellular Automata on GroupsGeneralization of Compositons of Cellular Automata on Groups
Generalization of Compositons of Cellular Automata on GroupsYoshihiro Mizoguchi
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksStratio
 
SPDE presentation 2012
SPDE presentation 2012SPDE presentation 2012
SPDE presentation 2012Zheng Mengdi
 
Mesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursMesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursGabriel Peyré
 
Graphing Trig Functions-Tangent and Cotangent.ppt
Graphing Trig Functions-Tangent and Cotangent.pptGraphing Trig Functions-Tangent and Cotangent.ppt
Graphing Trig Functions-Tangent and Cotangent.pptReyRoluna1
 

Similar to Evolving Balanced Maps for Planet Wars Using Self-Adaptive EAs (20)

A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...
A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...
A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Rea...
 
Hybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity MarketHybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity Market
 
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slides
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slidesCVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slides
CVPR2010: Advanced ITinCVPR in a Nutshell: part 4: additional slides
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysis
 
New Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorNew Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial Sector
 
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
 
present_2_new
present_2_newpresent_2_new
present_2_new
 
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)
Higher-order Factorization Machines(第5回ステアラボ人工知能セミナー)
 
Journey to structure from motion
Journey to structure from motionJourney to structure from motion
Journey to structure from motion
 
Triangle counting handout
Triangle counting handoutTriangle counting handout
Triangle counting handout
 
The convenience yield implied by quadratic volatility smiles presentation [...
The convenience yield implied by quadratic volatility smiles   presentation [...The convenience yield implied by quadratic volatility smiles   presentation [...
The convenience yield implied by quadratic volatility smiles presentation [...
 
Dsp3
Dsp3Dsp3
Dsp3
 
cswiercz-general-presentation
cswiercz-general-presentationcswiercz-general-presentation
cswiercz-general-presentation
 
Cuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An IntroductionCuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An Introduction
 
Implementing 3D SPHARM Surfaces Registration on Cell B.E. Processor
Implementing 3D SPHARM Surfaces Registration on Cell B.E. ProcessorImplementing 3D SPHARM Surfaces Registration on Cell B.E. Processor
Implementing 3D SPHARM Surfaces Registration on Cell B.E. Processor
 
Generalization of Compositons of Cellular Automata on Groups
Generalization of Compositons of Cellular Automata on GroupsGeneralization of Compositons of Cellular Automata on Groups
Generalization of Compositons of Cellular Automata on Groups
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural Networks
 
SPDE presentation 2012
SPDE presentation 2012SPDE presentation 2012
SPDE presentation 2012
 
Mesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursMesh Processing Course : Active Contours
Mesh Processing Course : Active Contours
 
Graphing Trig Functions-Tangent and Cotangent.ppt
Graphing Trig Functions-Tangent and Cotangent.pptGraphing Trig Functions-Tangent and Cotangent.ppt
Graphing Trig Functions-Tangent and Cotangent.ppt
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Evolving Balanced Maps for Planet Wars Using Self-Adaptive EAs

  • 1. A Procedural Balanced Map Generator with Self-Adaptive Complexity for the Real-Time Strategy Game Planet Wars Ra´l Lara-Cabrera, u Carlos Cotta, Antonio J. Fern´ndez-Leiva a Dept. Lenguajes y Ciencias de la Computaci´n, University of M´laga, o a SPAIN http://anyself.wordpress.com http://dnemesis.lcc.uma.es
  • 2. Introduction Procedural Content Generation Creating game content automatically, through algorithmic means. Maps, levels, dialogues, characters, rule-sets, weapons... Benefits Reduced memory consumption Saving in the expense of manually creating game content Endless or infinite games 2 / 16
  • 3. PCG in the game industry Borderlands (Gearbox, 2009) Minecraft (Mojang, 2011) Uses a PCG system to create Sandbox-building game with an weapons, enemies and items infinite map which is expanded with different properties. dynamically. 3 / 16
  • 4. Planet Wars Real-time strategy (RTS) game based on Galcon and used in the Google AI Challenge 2010 Its objective is to take over all the planets on the map or eliminate all of your opponents ships 4 / 16
  • 5. Aims and Scope 1st Goal – Content Generation Use an evolutionary algorithm to design maps for Planet Wars leading to balanced games. Balance is used here as a proxy for attractiveness. Balanced games: are more interesting for all kind of players increase the motivation of players increase the duration of the game 2nd Goal – Self-Adaptation Explore self-adaptation at different levels in this context. 5 / 16
  • 6. Maps Maps are plain text files Each line represents a planet Planet’s attributes: X and Y position Size (growth rate) Initial number of ships Owner 6 / 16
  • 7. Individuals Array of planets (variable length) ... Planet x (real) y (real) size (integer) number of ships (integer) x,y mutation steps (real) size, ships mutation steps (real) 7 / 16
  • 8. Objective function Nm 2 1 Ki · ti fitness = ¯ ¯ Nm Pi + Si + 1 i=1 8 / 16
  • 9. Objective function Nm 2 1 Ki · ti fitness = ¯ ¯ Nm Pi + Si + 1 i=1 Nm = number of matches Ki = percentage of occupied planets ti = number of turns 8 / 16
  • 10. Objective function Nm 2 1 Ki · ti fitness = ¯ ¯ Nm Pi + Si + 1 i=1 Nm = number of matches Ki = percentage of occupied planets ti = number of turns ti (1) (2) j=1 Pij − Pij ¯ Pi = , (difference between number of planets) ti ti (1) (2) j=1 Sij − Sij ¯ Si = , (difference between number of ships) ti 8 / 16
  • 11. Breeding mechanism Mutation Gaussian perturbation (real) ·N(0,1)+τ ·Ni (0,1) σi = σi · e τ xi = xi + σi · Ni (0, 1) Geometrically distributed perturbation (integers) ςi = max(1, ςi · e τ ·N(0,1)+τ ·N(0,1) )  −1 2 ςi ψi = 1 − (ςi /m) 1 + 1+  m ln(1 − U(0, 1)) ln(1 − U(0, 1)) zi = zi + − ln(1 − ψi ) ln(1 − ψi ) 9 / 16
  • 12. Breeding mechanism Recombination “cut and splice” Other parameters (µ + λ) generational scheme with µ = 10 and λ = 100 Binary tournament selection 10 / 16
  • 13. Experiments Two experiments (10 executions each): ES with self-adapting strategy for mutation steps and genome length ES with self-adapting strategy for mutation steps and fixed genome length (23 planets) 100 generations each execution Maximum game length: 400 turns Evaluation: three bots and three matches on each map Google AI Challenge 2010 participants Ranked in the top 100 out of 4600 Having their source code available 11 / 16
  • 14. Results: fitness 150000 100000 fitness 50000 0 0 2500 5000 7500 10000 evaluations 12 / 16
  • 15. Results: individual size 26 24 best individual size 22 20 18 16 0 2500 5000 7500 10000 evaluations 13 / 16
  • 17. Conclusions We have introduced a simple procedural map generator for a RTS game that is capable of generating balanced maps for two player games The algorithm with self-adapted number of planets has a better performance than the algorithm with this value fixed High balanced maps tend to have around 17 planets Future work: Interactivity Pro-activity Deal with other maps’ features, such as dynamism and aesthetics 15 / 16
  • 18. Thanks for your attention! Please find us in Facebook http://facebook.com/AnySelfProject and in Twitter @anyselfproject AnySelf Project 16 / 16