SlideShare a Scribd company logo
1 of 62
Download to read offline
This was a triumph: Evolving
intelligent bots for videogames.
And for Science.
Pablo García Sánchez @fergunet
@geneura
University of Granada
Index
• Introduction
• Evolutionary
Algorithms
• FPS
• RTS
• Content
Generation
commons.wikipedia.org
Evolutionary
Algorithms
hideyourarms.com
What are the Evolutionary
Algorithms?
• Metaheuristics
• Solve Optimization problem
• Based on a fitness function
• Population based
• Natural selection
• Stochastic
Individuals
No Yes Yes No Yes No F=3
BlueVenom
Fire Fly
Fangs
Horns
Mating
No Yes Yes No Yes No
No Yes No No Yes Yes
Offspring
No Yes Yes
No Yes NoNo Yes No
No Yes Yes
F=2
F=4
Mutation
No Yes Yes No Yes Yes F=4Yes F=5
EA stages
Example: Super Mario Bot
• The actions of
Mario are
Evolved
• VIDEO TIME!
FPS
commons.wikipedia.org
Unreal Tournament 2004
• Edited with UnrealScript
• Java engine to access the game: POGAMUT
Unreal Bot
• Parameter optimization of a FSM to play Unreal
Tournament 2004
• Each chromosome is a vector of parameters
UnrealBot Team
• The same, but optimizing the parameters of a team.
Unreal ExpertBot
• Two-level FSM based in the experience of a expert player (Andalusia
champion) in 1vs1 matches.
• For example, it models which weapon to use. It wins “normal” human
players.
Unreal InteractiveBot
• From ExpertBot
• Experts perform actions
during the algorithm
• Expert player: answer
questions to block some
parts of the chromosome
• Expert researcher
• Second position
2KBotPrice 2014
RTS
commons.wikipedia.org
Real Time Strategy (RTS)
• Road traffic, finances or weahter forecasting:
• Complex and dynamic environments
• No completed nor perfect information
• RTS->simplification
• Uncertainty decisión taking
• Real time plannification
RTS features
• Simultaneous movement
• Durative actions (require time)
• Real time (quick decisions)
• Partially observable (fog of war)
• Undeterministic
• Complex
Challenges in RTS
• Planning
• Learning
• Uncertainty
• Spacial and temporal
reasoning
• Domain knowledge
exploitation
• Task decomposition
andreita42 en deviantart
Challenges: Planification
• Different abstract levels
• Long term strategy (match)
• Short term strategy (battles)
• Techniques: sampling or
hierarchical decomposition
pixabay.com
Challenges: Learning
• Existent learning (ex. matches
DB)
• In-game learning (ex.
reinforcement learning)
• Inter-game learning (ej. learn
from previous game to win
the next)
soft9000.com
Challenges: Uncertainty
• Spatial uncertainty (fog of
war)
• Enemy action
commons.wikipedia.org
Challenges: Reasoning
• Spatial reasoning: where to
build the base
• Temporal reasoning: when to
create technology
fc02.deviant.org
Challenges: task
decomposition
• Strategy
• Tactics
• Reactive control
• Terrain analisys
• Intelligent gathering
• Micro and macro tasks
insightly.com
Planet Wars
gaskin1982.deviantart.com
Planet Wars
Problem description
• Restrictions:
• 1 second to decide
• No memory can be used
• Current state: planets and fleets
• Actions: a text file read by the game
Current
state
Actions to
perform
Bot
AresBot
• Select base
• Select objective
• For each colony:
• Reinforce base
• Reinforce attack
(este es Antares)
FSM
Genebot Operation
• AresBot parameter
optimization
• Chromosome: parameter
array
• 2-Tournament
• BLX-alpha crossover
• Re-evaluation
• 40 seconds to evaluate an
individual
Propiedad de EA (no me demandéis!)
Exp-Genebot
• Detect the type of map to chose a previously
optimized set of parameters
GP-bot
• New approach: Genetic Programming
• The genome is a TREE
• Decisions: e.g. if distance to the base is lower than
0.25
• Actions: e.g. attack the base with the 20% of ships
• Java code compiled in each evaluation using CAssist
Example of a chromosome
(tree)
actualMyShipsRatio>0.711
attackWeakestNeutralPlanet(0.3)
attackNearestEnemyPlanet(0.2)
attackEnemyBase(0.91)
myShipsLandedFlyingRatio>0.2
Results (validation)
3G 7G UG 3E 7E UE
100200300400500
Configuration
Turnstobedefeated
3G 7G UG 3E 7E UE
10203040506070
Configuration
Percentageofvictories
Stop criteria?
• Number of generations
• Outlier age
• Replacement rate
• Fitness threshold
• Fitness improvement respect to average
When to stop?
What we learnt?
• Compare with previous version to IMPROVE
• Use hierarchical fitness
• Individuals reevaluation
• Validate always aginst bots/maps not used from
learning
• Replacement based stop criteria
• Use free software
StarCraft
Propiedad de Blizzard
Why StarCraft?
• Competitions: CIG, AIIDE, SCSC...
• Available frameworks and libraries
• Replays database (ej: http://bwreplays.com/)
• Unified Test-bed in research on RTS
BWAPI
• Create AIs (in .dll)
• Information about:
• Game: minerals, map, game type, latency...
• Units: distance, speed, detection, status...
• Player: race, status, resources, deaths...
ChaosLauncher
Tournament Manager
StarCraftGP
• Framework to automatically generate bots to play
Starcraft using Genetic Programming
• Basad on uGP3
• We use Linear-GP to generate strategies for bots using
the uGP3 framework (using OpprimoBot as base)
• In collaboration with INRA Politecnico di Torino
External Evaluator
Evolutionary Core
Constraints
.txt
.txt
TournamentManager
External Evaluator
Individual.DLL
results.txtParser
Fitness values
VM Server
VM Client
VM Client
VM Client
…
VStudio Compiler
Individual.cpp
Bot example
Results
Content
Generation
Story generation in massively
distributed environments: MADE
Propiedad de Bethesda
The problem
MADE
• Massive Artificial Drama Engine
• A GA optimizes a multi-agent system
• Archetype based
• Available in made.velonuboso.com
Archetypes
Laffent in deviantart.org
Methodology
Agent
Libraries
References (Planet Wars)
• A. Fernández-Ares, A. Miguel Mora, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes:
Optimizing player behavior in a real-time strategy game using evolutionary algorithms. IEEE
Congress on Evolutionary Computation 2011: 2017-2024 (2012)
• A. Miguel Mora, A. Fernández-Ares, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes:
Effect of Noisy Fitness in Real-Time Strategy Games Player Behaviour Optimisation Using
Evolutionary Algorithms. J. Comput. Sci. Technol. 27(5): 1007-1023 (2012)
• Antonio Fernández-Ares, Pablo García-Sánchez, Antonio Miguel Mora, Juan J. Merelo Guervós:
Adaptive bots for real-time strategy games via map characterization. CIG 2012: 417-721 (2012)
• Antonio Fernández-Ares, Pablo García-Sánchez, Antonio M. Mora, Pedro A. Castillo Valdivieso,
Juan Julián Merelo Guervós, Maria I. García Arenas, Gustavo Romero: It's Time to Stop: A
Comparison of Termination Conditions in the Evolution of Game Bots. EvoApplications 2015:
355-368
• Pablo García-Sánchez, Antonio Fernández-Ares, Antonio Miguel Mora, Pedro A. Castillo
Valdivieso, Jesús González, Juan Julián Merelo Guervós: Tree Depth Influence in Genetic
Programming for Generation of Competitive Agents for RTS Games. EvoApplications 2014:
411-421
References (Unreal)
• Antonio Miguel Mora, Ramón Montoya, Juan Julián Merelo Guervós,
Pablo García-Sánchez, Pedro A. Castillo, Juan Luís Jiménez Laredo,
Ana Isabel Martínez García, Anna Esparcia-Alcázar: Evolving Bot AI
in Unreal. EvoApplications (1) 2010: 171-180
• Antonio Miguel Mora, Francisco Aisa, Ricardo Caballero, Pablo
García-Sánchez, Juan Julián Merelo Guervós, Pedro A. Castillo,
Raúl Lara-Cabrera: Designing and Evolving an Unreal
TournamentTM 2004 Expert Bot. IWANN (2) 2013: 312-323
• Antonio Miguel Mora, M. A. Moreno, Juan Julián Merelo Guervós,
Pedro A. Castillo, Maribel García Arenas, Juan Luís Jiménez Laredo:
Evolving the cooperative behaviour in Unreal™ bots. CIG 2010:
241-248
References (MADE)
• Rubén Héctor García-Ortega, Pablo García-Sánchez, Juan Julián Merelo
Guervós, María Isabel García Arenas, Pedro A. Castillo Valdivieso, Antonio
M. Mora: How the World Was MADE: Parametrization of Evolved Agent-
Based Models for Backstory Generation. EvoApplications 2015: 443-454
• Garcia-Ortega, Ruben H., et al. My life as a sim: evolving unique and
engaging life stories using virtual worlds. ALIFE 14: The Fourteenth
Conference on the Synthesis and Simulation of Living Systems. Vol. 14.
Pages 580-587, 2014
• http://made.velonuboso.com
• @made_project
• @rubenhek
Free Software and Open
Science
• GitHub: fergunet, deantares, amorag, jjmerelo,
geneura, geneura-papers
• http://geneura.ugr.es
• Text in this presentation is CC-SA-BY (free license
images used, non commercial, except images from
Blizzard, Bethesda, EA and clippart.co )
Thanks!
• @fergunet
• @amoragar
• @geneura
• @antaress

More Related Content

Viewers also liked

Data mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaData mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaMaribel García Arenas
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsJuan J. Merelo
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstonePablo García Sánchez
 
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 (10)

Data mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaData mining in security: Ja'far Alqatawna
Data mining in security: Ja'far Alqatawna
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithms
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in Hearthstone
 
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
 

Similar to This was a triumph: Evolving intelligent bots for videogames. And for Science.

Understanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha LatyshevaUnderstanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha LatyshevaLauren Cormack
 
Choosing your Game Engine (2009)
Choosing your Game Engine (2009)Choosing your Game Engine (2009)
Choosing your Game Engine (2009)Mark DeLoura
 
Thomas Blair Portfolio
Thomas Blair PortfolioThomas Blair Portfolio
Thomas Blair PortfolioBlixtev
 
Impact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at ZyngaImpact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at ZyngaBen Weber
 
Ai expo 2019
Ai expo 2019Ai expo 2019
Ai expo 2019Ben Weber
 
The Power and Peril of PCG
The Power and Peril of PCGThe Power and Peril of PCG
The Power and Peril of PCGGillian Smith
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation VitaSlide_N
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Jun Okumura
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
 
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Intel® Software
 
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...romovpa
 
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...DevGAMM Conference
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスTakashi Imagire
 
Evolutionary Multi-Agent Systems for RTS Games
Evolutionary Multi-Agent Systems for RTS GamesEvolutionary Multi-Agent Systems for RTS Games
Evolutionary Multi-Agent Systems for RTS GamesAdrián Palacios Corella
 
Game dev. story
Game dev. storyGame dev. story
Game dev. storyPhenix Yu
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템drandom
 
Slippery Rock Falls and Algae TCC 2014
Slippery Rock Falls and Algae TCC 2014Slippery Rock Falls and Algae TCC 2014
Slippery Rock Falls and Algae TCC 2014Cynthia Calongne
 

Similar to This was a triumph: Evolving intelligent bots for videogames. And for Science. (20)

Understanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha LatyshevaUnderstanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha Latysheva
 
Choosing your Game Engine (2009)
Choosing your Game Engine (2009)Choosing your Game Engine (2009)
Choosing your Game Engine (2009)
 
Thomas Blair Portfolio
Thomas Blair PortfolioThomas Blair Portfolio
Thomas Blair Portfolio
 
Impact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at ZyngaImpact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at Zynga
 
Ai expo 2019
Ai expo 2019Ai expo 2019
Ai expo 2019
 
The Power and Peril of PCG
The Power and Peril of PCGThe Power and Peril of PCG
The Power and Peril of PCG
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 
Connect (4|n)
Connect (4|n)Connect (4|n)
Connect (4|n)
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
 
Videogame Optimization
Videogame OptimizationVideogame Optimization
Videogame Optimization
 
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
 
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
 
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックス
 
Evolutionary Multi-Agent Systems for RTS Games
Evolutionary Multi-Agent Systems for RTS GamesEvolutionary Multi-Agent Systems for RTS Games
Evolutionary Multi-Agent Systems for RTS Games
 
Game dev. story
Game dev. storyGame dev. story
Game dev. story
 
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템
 
Slippery Rock Falls and Algae TCC 2014
Slippery Rock Falls and Algae TCC 2014Slippery Rock Falls and Algae TCC 2014
Slippery Rock Falls and Algae TCC 2014
 

Recently uploaded

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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

This was a triumph: Evolving intelligent bots for videogames. And for Science.

  • 1. This was a triumph: Evolving intelligent bots for videogames. And for Science. Pablo García Sánchez @fergunet @geneura University of Granada
  • 2. Index • Introduction • Evolutionary Algorithms • FPS • RTS • Content Generation commons.wikipedia.org
  • 4. What are the Evolutionary Algorithms? • Metaheuristics • Solve Optimization problem • Based on a fitness function • Population based • Natural selection • Stochastic
  • 5. Individuals No Yes Yes No Yes No F=3 BlueVenom Fire Fly Fangs Horns
  • 6. Mating No Yes Yes No Yes No No Yes No No Yes Yes
  • 7. Offspring No Yes Yes No Yes NoNo Yes No No Yes Yes F=2 F=4
  • 8. Mutation No Yes Yes No Yes Yes F=4Yes F=5
  • 10. Example: Super Mario Bot • The actions of Mario are Evolved • VIDEO TIME!
  • 12. Unreal Tournament 2004 • Edited with UnrealScript • Java engine to access the game: POGAMUT
  • 13. Unreal Bot • Parameter optimization of a FSM to play Unreal Tournament 2004 • Each chromosome is a vector of parameters
  • 14. UnrealBot Team • The same, but optimizing the parameters of a team.
  • 15. Unreal ExpertBot • Two-level FSM based in the experience of a expert player (Andalusia champion) in 1vs1 matches. • For example, it models which weapon to use. It wins “normal” human players.
  • 16. Unreal InteractiveBot • From ExpertBot • Experts perform actions during the algorithm • Expert player: answer questions to block some parts of the chromosome • Expert researcher • Second position 2KBotPrice 2014
  • 18. Real Time Strategy (RTS) • Road traffic, finances or weahter forecasting: • Complex and dynamic environments • No completed nor perfect information • RTS->simplification • Uncertainty decisión taking • Real time plannification
  • 19. RTS features • Simultaneous movement • Durative actions (require time) • Real time (quick decisions) • Partially observable (fog of war) • Undeterministic • Complex
  • 20. Challenges in RTS • Planning • Learning • Uncertainty • Spacial and temporal reasoning • Domain knowledge exploitation • Task decomposition andreita42 en deviantart
  • 21. Challenges: Planification • Different abstract levels • Long term strategy (match) • Short term strategy (battles) • Techniques: sampling or hierarchical decomposition pixabay.com
  • 22. Challenges: Learning • Existent learning (ex. matches DB) • In-game learning (ex. reinforcement learning) • Inter-game learning (ej. learn from previous game to win the next) soft9000.com
  • 23. Challenges: Uncertainty • Spatial uncertainty (fog of war) • Enemy action commons.wikipedia.org
  • 24. Challenges: Reasoning • Spatial reasoning: where to build the base • Temporal reasoning: when to create technology fc02.deviant.org
  • 25. Challenges: task decomposition • Strategy • Tactics • Reactive control • Terrain analisys • Intelligent gathering • Micro and macro tasks insightly.com
  • 28. Problem description • Restrictions: • 1 second to decide • No memory can be used • Current state: planets and fleets • Actions: a text file read by the game Current state Actions to perform Bot
  • 29. AresBot • Select base • Select objective • For each colony: • Reinforce base • Reinforce attack (este es Antares)
  • 30. FSM
  • 31. Genebot Operation • AresBot parameter optimization • Chromosome: parameter array • 2-Tournament • BLX-alpha crossover • Re-evaluation • 40 seconds to evaluate an individual Propiedad de EA (no me demandéis!)
  • 32. Exp-Genebot • Detect the type of map to chose a previously optimized set of parameters
  • 33. GP-bot • New approach: Genetic Programming • The genome is a TREE • Decisions: e.g. if distance to the base is lower than 0.25 • Actions: e.g. attack the base with the 20% of ships • Java code compiled in each evaluation using CAssist
  • 34. Example of a chromosome (tree) actualMyShipsRatio>0.711 attackWeakestNeutralPlanet(0.3) attackNearestEnemyPlanet(0.2) attackEnemyBase(0.91) myShipsLandedFlyingRatio>0.2
  • 35. Results (validation) 3G 7G UG 3E 7E UE 100200300400500 Configuration Turnstobedefeated 3G 7G UG 3E 7E UE 10203040506070 Configuration Percentageofvictories
  • 36. Stop criteria? • Number of generations • Outlier age • Replacement rate • Fitness threshold • Fitness improvement respect to average
  • 38. What we learnt? • Compare with previous version to IMPROVE • Use hierarchical fitness • Individuals reevaluation • Validate always aginst bots/maps not used from learning • Replacement based stop criteria • Use free software
  • 40. Why StarCraft? • Competitions: CIG, AIIDE, SCSC... • Available frameworks and libraries • Replays database (ej: http://bwreplays.com/) • Unified Test-bed in research on RTS
  • 41. BWAPI • Create AIs (in .dll) • Information about: • Game: minerals, map, game type, latency... • Units: distance, speed, detection, status... • Player: race, status, resources, deaths...
  • 44. StarCraftGP • Framework to automatically generate bots to play Starcraft using Genetic Programming • Basad on uGP3 • We use Linear-GP to generate strategies for bots using the uGP3 framework (using OpprimoBot as base) • In collaboration with INRA Politecnico di Torino
  • 45. External Evaluator Evolutionary Core Constraints .txt .txt TournamentManager External Evaluator Individual.DLL results.txtParser Fitness values VM Server VM Client VM Client VM Client … VStudio Compiler Individual.cpp
  • 48. Content Generation Story generation in massively distributed environments: MADE Propiedad de Bethesda
  • 50. MADE • Massive Artificial Drama Engine • A GA optimizes a multi-agent system • Archetype based • Available in made.velonuboso.com
  • 53. Agent
  • 55.
  • 56.
  • 57.
  • 58. References (Planet Wars) • A. Fernández-Ares, A. Miguel Mora, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes: Optimizing player behavior in a real-time strategy game using evolutionary algorithms. IEEE Congress on Evolutionary Computation 2011: 2017-2024 (2012) • A. Miguel Mora, A. Fernández-Ares, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes: Effect of Noisy Fitness in Real-Time Strategy Games Player Behaviour Optimisation Using Evolutionary Algorithms. J. Comput. Sci. Technol. 27(5): 1007-1023 (2012) • Antonio Fernández-Ares, Pablo García-Sánchez, Antonio Miguel Mora, Juan J. Merelo Guervós: Adaptive bots for real-time strategy games via map characterization. CIG 2012: 417-721 (2012) • Antonio Fernández-Ares, Pablo García-Sánchez, Antonio M. Mora, Pedro A. Castillo Valdivieso, Juan Julián Merelo Guervós, Maria I. García Arenas, Gustavo Romero: It's Time to Stop: A Comparison of Termination Conditions in the Evolution of Game Bots. EvoApplications 2015: 355-368 • Pablo García-Sánchez, Antonio Fernández-Ares, Antonio Miguel Mora, Pedro A. Castillo Valdivieso, Jesús González, Juan Julián Merelo Guervós: Tree Depth Influence in Genetic Programming for Generation of Competitive Agents for RTS Games. EvoApplications 2014: 411-421
  • 59. References (Unreal) • Antonio Miguel Mora, Ramón Montoya, Juan Julián Merelo Guervós, Pablo García-Sánchez, Pedro A. Castillo, Juan Luís Jiménez Laredo, Ana Isabel Martínez García, Anna Esparcia-Alcázar: Evolving Bot AI in Unreal. EvoApplications (1) 2010: 171-180 • Antonio Miguel Mora, Francisco Aisa, Ricardo Caballero, Pablo García-Sánchez, Juan Julián Merelo Guervós, Pedro A. Castillo, Raúl Lara-Cabrera: Designing and Evolving an Unreal TournamentTM 2004 Expert Bot. IWANN (2) 2013: 312-323 • Antonio Miguel Mora, M. A. Moreno, Juan Julián Merelo Guervós, Pedro A. Castillo, Maribel García Arenas, Juan Luís Jiménez Laredo: Evolving the cooperative behaviour in Unreal™ bots. CIG 2010: 241-248
  • 60. References (MADE) • Rubén Héctor García-Ortega, Pablo García-Sánchez, Juan Julián Merelo Guervós, María Isabel García Arenas, Pedro A. Castillo Valdivieso, Antonio M. Mora: How the World Was MADE: Parametrization of Evolved Agent- Based Models for Backstory Generation. EvoApplications 2015: 443-454 • Garcia-Ortega, Ruben H., et al. My life as a sim: evolving unique and engaging life stories using virtual worlds. ALIFE 14: The Fourteenth Conference on the Synthesis and Simulation of Living Systems. Vol. 14. Pages 580-587, 2014 • http://made.velonuboso.com • @made_project • @rubenhek
  • 61. Free Software and Open Science • GitHub: fergunet, deantares, amorag, jjmerelo, geneura, geneura-papers • http://geneura.ugr.es • Text in this presentation is CC-SA-BY (free license images used, non commercial, except images from Blizzard, Bethesda, EA and clippart.co )
  • 62. Thanks! • @fergunet • @amoragar • @geneura • @antaress