SlideShare a Scribd company logo
1 of 16
Download to read offline
Towards Automatic StarCraft
Strategy Generation Using Genetic
Programming
Pablo García Sánchez, Alberto Tonda,
Antonio M. Mora, Giovanni Squillero, J.J. Merelo
University of Granada, Spain
Politecnico di Torino, Italy
INRA, France
Objective
Automatic generation of non-
human strategies for RTS, to
explore new possible game
plans.
Objective
Automatic generation of non-
human strategies for RTS, to
explore new possible game
plans.
Also, it’s F***ING
COOL!
Outline
● Introduction
● Framework Description
● Experimental Setting
● Results
● Conclusions and Future work
Introduction
● Starcraft: de-facto testbed for RTS research
● Motivation: generate high-level strategies
using Genetic Programming
● Two different fitness functions used: victory-
based and report-based.
● Validation against bots not used during
evaluation.
Framework description: overview
Framework description: evaluator
Framework description: Individual
Framework description: fitness
● Victory-based: lexicographic victory counts using the
default final score returned by StarCraft at the end of
one match against each of 12 different opponents
(divided in 3 tiers).
● Report-based: a more complex metric, aiming at
separating military success from in-game economy
development, using different rewards, computed after 3
matches against each of 4 different opponents.
Experimental Setting: Parameters
Parameter Value Meaning
μ 30 Population size
λ 30 Number of genetic operators applied at each generation
σ 0.9 Initial strength of the mutation operators
α 0.9 Inertia of the self-adapting process
τ (1,4) Size of the tournament selection
MG 30 Stop condition: maximum number of generations
Experimental setting: parrying bots
● Race evolved: Zerg
● Bot used as base to evolve the high level strategy: OpprimoBot
● Victory-based fitness hand-coded enemies:
○ Tier 1 (Easy): TerranDummy, ProtossReaverDrop1B, ProtossDefensive, ZergHydraMuta
○ Tier 2 (Medium): OBProtossTemplarRush, ProtossReaverDrop, TerranDefensiveFB,
TerranDefensive
○ Tier 3 (Hard): ZergLurkerRush, TerranWraithHarass, TerranPush, TerranMarineRush
● Report-based fitness hand-coded enemies:
○ TerranDummy, ProtossReaverDrop, TerranWraithHarass, ZergLurkerRush (repeating 3
times against each strategy).
Results: best individuals
Best individual Average of population
Tier 3 4 1.73
Tier 2 3 1.83
Tier 1 3 2.93
Score ratio 0.0481 0.0378
Best individual Average of population
Military Victories 3 1.76
Economic victories 1 1.93
Relative destruction 400245 358172
Time to loss 1120 1380.7
Relative Economy 0.309 0.501
Victory-based fitness
Report-based fitness
Results: Validation of best bots
Vs. Bot Victory-based Report-based
OBTerranDefensiveFB 7 1
OBProtossTemplarRush 4 8
OBZergHydraMuta 10 1
OBZergLurkerRush 8 0
OBProtossDefensive 8 5
OBProtossReaverDrop1B 5 1
OBTerranDefensive 5 1
OBProtossReaverDrop 3 6
OBTerranMarineRush 7 0
OBTerranWraithHarass 5 0
OBTerranPush 6 3
OBTerranDummy 10 10
Victory-Based * 8
Report-Based 2 *
OpprimoBot 6 1
TOTAL 86 of 140 45 of 140
(Open) Challenges
● Evaluation time
○ Individuals compared vs many bots on many maps
○ Two virtual machines per game (!)
○ Even with limitless resources, 10’ per generation
● Rules and actions
○ Level of abstraction (meta-strategy, strategy, tactic)
○ Constraining the GP, or giving it more freedom?
● Bot generality
○ How to avoid overfitting on one map/vs one race?
○ Many opponents! But evaluation time increases
Conclusions
● Our framework has been able to generate
high-level strategies that outperform (naive)
human-coded ones
● Victory-based fitness outperforms Report-
based fitness
● Future work:
○ more evaluations, maps, races (Protoss and
Terrans), co-evolution, machine learning, map
analysis.
Thank you!

More Related Content

Viewers also liked

Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationJuan J. Merelo
 
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Antonio Mora
 
Ejemplos de investigación en videojuegos
Ejemplos de investigación en videojuegosEjemplos de investigación en videojuegos
Ejemplos de investigación en videojuegosPablo García Sánchez
 
Hackahton smart cities 2016 (Mayo 2016)
Hackahton smart cities 2016 (Mayo 2016)Hackahton smart cities 2016 (Mayo 2016)
Hackahton smart cities 2016 (Mayo 2016)Pablo García Sánchez
 

Viewers also liked (7)

Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computation
 
MUSES WP5 Final Conclusions
MUSES WP5 Final ConclusionsMUSES WP5 Final Conclusions
MUSES WP5 Final Conclusions
 
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
 
Ejemplos de investigación en videojuegos
Ejemplos de investigación en videojuegosEjemplos de investigación en videojuegos
Ejemplos de investigación en videojuegos
 
Hackahton smart cities 2016 (Mayo 2016)
Hackahton smart cities 2016 (Mayo 2016)Hackahton smart cities 2016 (Mayo 2016)
Hackahton smart cities 2016 (Mayo 2016)
 
Smart city hackathon
Smart city hackathonSmart city hackathon
Smart city hackathon
 
Open dataday hackathon conclusiones
Open dataday hackathon conclusionesOpen dataday hackathon conclusiones
Open dataday hackathon conclusiones
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
#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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

Towards Automatic StarCraft Strategy Generation Using Genetic Programming

  • 1. Towards Automatic StarCraft Strategy Generation Using Genetic Programming Pablo García Sánchez, Alberto Tonda, Antonio M. Mora, Giovanni Squillero, J.J. Merelo University of Granada, Spain Politecnico di Torino, Italy INRA, France
  • 2. Objective Automatic generation of non- human strategies for RTS, to explore new possible game plans.
  • 3. Objective Automatic generation of non- human strategies for RTS, to explore new possible game plans. Also, it’s F***ING COOL!
  • 4. Outline ● Introduction ● Framework Description ● Experimental Setting ● Results ● Conclusions and Future work
  • 5. Introduction ● Starcraft: de-facto testbed for RTS research ● Motivation: generate high-level strategies using Genetic Programming ● Two different fitness functions used: victory- based and report-based. ● Validation against bots not used during evaluation.
  • 9. Framework description: fitness ● Victory-based: lexicographic victory counts using the default final score returned by StarCraft at the end of one match against each of 12 different opponents (divided in 3 tiers). ● Report-based: a more complex metric, aiming at separating military success from in-game economy development, using different rewards, computed after 3 matches against each of 4 different opponents.
  • 10. Experimental Setting: Parameters Parameter Value Meaning μ 30 Population size λ 30 Number of genetic operators applied at each generation σ 0.9 Initial strength of the mutation operators α 0.9 Inertia of the self-adapting process τ (1,4) Size of the tournament selection MG 30 Stop condition: maximum number of generations
  • 11. Experimental setting: parrying bots ● Race evolved: Zerg ● Bot used as base to evolve the high level strategy: OpprimoBot ● Victory-based fitness hand-coded enemies: ○ Tier 1 (Easy): TerranDummy, ProtossReaverDrop1B, ProtossDefensive, ZergHydraMuta ○ Tier 2 (Medium): OBProtossTemplarRush, ProtossReaverDrop, TerranDefensiveFB, TerranDefensive ○ Tier 3 (Hard): ZergLurkerRush, TerranWraithHarass, TerranPush, TerranMarineRush ● Report-based fitness hand-coded enemies: ○ TerranDummy, ProtossReaverDrop, TerranWraithHarass, ZergLurkerRush (repeating 3 times against each strategy).
  • 12. Results: best individuals Best individual Average of population Tier 3 4 1.73 Tier 2 3 1.83 Tier 1 3 2.93 Score ratio 0.0481 0.0378 Best individual Average of population Military Victories 3 1.76 Economic victories 1 1.93 Relative destruction 400245 358172 Time to loss 1120 1380.7 Relative Economy 0.309 0.501 Victory-based fitness Report-based fitness
  • 13. Results: Validation of best bots Vs. Bot Victory-based Report-based OBTerranDefensiveFB 7 1 OBProtossTemplarRush 4 8 OBZergHydraMuta 10 1 OBZergLurkerRush 8 0 OBProtossDefensive 8 5 OBProtossReaverDrop1B 5 1 OBTerranDefensive 5 1 OBProtossReaverDrop 3 6 OBTerranMarineRush 7 0 OBTerranWraithHarass 5 0 OBTerranPush 6 3 OBTerranDummy 10 10 Victory-Based * 8 Report-Based 2 * OpprimoBot 6 1 TOTAL 86 of 140 45 of 140
  • 14. (Open) Challenges ● Evaluation time ○ Individuals compared vs many bots on many maps ○ Two virtual machines per game (!) ○ Even with limitless resources, 10’ per generation ● Rules and actions ○ Level of abstraction (meta-strategy, strategy, tactic) ○ Constraining the GP, or giving it more freedom? ● Bot generality ○ How to avoid overfitting on one map/vs one race? ○ Many opponents! But evaluation time increases
  • 15. Conclusions ● Our framework has been able to generate high-level strategies that outperform (naive) human-coded ones ● Victory-based fitness outperforms Report- based fitness ● Future work: ○ more evaluations, maps, races (Protoss and Terrans), co-evolution, machine learning, map analysis.