SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Designing and Evolving an
Unreal Tournament 2004
Expert Bot
A.M. Mora, F. Aisa, R. Caballero, P. García-Sánchez, J.J. Merelo, P.A. Castillo, R. Lara-Cabrera
International Work-Conference on Artificial Neural Networks
INDEX
• Unreal (game, environment)
• Pogamut tool
• Unreal Expert Bot (objectives, features)
• Evolutionary Algorithms
• Unreal Expert Bot Evolution (description,
approaches, results)
• E-BOT vs GE-BOT (results, demo)
• Conclusions
Environment description
UNREAL
Unreal is a first person shooter (FPS).
Famous due to the excelent AI of the enemies (bots), which makes it an
amazing multiplayer game. Unreal Tournament series is widely extended.
It offers an editor (UnrealEd) which lets us change almost anything in
the game even the behaviour of the bots. It uses the language
UnrealScript.
General description
POGAMUT
A java middleware for Unreal Tournament series games and
Defcon games.
The architecture is as follows:
It is possible to interact with the game from a java program,
getting higher independence (avoiding Unrealscript restrictions)
and increasing the possibilities (java libraries).
On the contrary, the structures, classes, functions and
workflows defined in the Unreal engine, cannot be accessed, nor
used.
Objectives
UNREAL EXPERT BOT
• Create an autonomous agent for playing Unreal
Tournament deathmatch championship.
• Considering the constraints of this competition:
- 1 vs 1 matches
- Small arenas
- Weapons are not respawned
- Some forbidden items (U-Damage, for instance)
- 15 minutes per match instead of a number of frags (kills)
• Human-like behaviour is desired.
• Modelling Expert player knowledge (and tricks).
- High control in timing (items respawn time)
- Deep knowledge about weapons and their advantages and
disadvantages
- Deep knowledge about items
Features
UNREAL EXPERT BOT
• Defined by means of a Finite State Machine based AI with two
state levels.
• Translated into a set of rules which determine its behaviour.
• Database which models the bot’s memory, since it is uploaded
with data about locations of items and weapons in the map.
Features
UNREAL EXPERT BOT
• Defined by means of a Finite State Machine based AI with two
state levels.
• Translated into a set of rules which determine its behaviour.
• Database which models the bot’s memory, since it is uploaded
with data about locations of items and weapons in the map.
Bot performance
UNREAL EXPERT BOT
• Expert Bot (E-Bot) outperformed the standard bots in the game
(considering the number of frags), even in the maximum
difficulty level.
• This difficulty level is quite hard for a medium level
player.
• E-Bot is hard to beat for humans, even for the expert.
• Medium level players usually lose against it.
Evolutionary Algorithms
EXPERT BOT EVOLUTION
by Johann Dréo
i -> initial
population
f -> evaluation
function (fitness)
? -> stop condition
Se -> selection
Cr -> crossover
Mu -> mutation
Re -> replacement
Evolutionary Process in Unreal game
EXPERT BOT EVOLUTION
GE-BOT
Expert Bot based in a
Genetic Algorithm
Evolutionary
process
population
FITNESS EVALUATION
• Analyze Expert bot’s FSM
• Identify parameters
• Optimize them
Expert
Bot’s
AI
Approaches
EXPERT BOT EVOLUTION
• Generic Fitness
Just considers frags/deads
and damage produced/received
• Generational scheme
• 4-elitism
• Complex Fitness
- considers frags/deads
- damage produced/received
- time using the best or more
versatile weapons: Lightning
Gun and Shock Rifle
- getting the best items: Shield
and Super Shield
• Stationary scheme
• Chromosome 143
• Uniform Crossover
• Random mutation
• 4 Random individuals
• Chromosome 26
Approach 1: Chromosome 143 - Generic Fitness
EXPERT BOT EVOLUTION
• Generic Fitness
Just considers frags/deads
and damage produced/received
• Generational scheme
• 4-elitism
• Chromosome 143
• Uniform Crossover
• Random mutation
• 4 Random individuals
Approach 1. Results
EXPERT BOT EVOLUTION
• 30 generations
• 30 individuals
• 1 evaluation (left)
• 3 evaluations (right)
in order to avoid the
noisy nature of the
fitness function
• 15 minutes per
evaluation
• 10 days per run (left)
• One month (right)
• Lightly improvement
tendency
• Too many oscillations,
i.e. noise
• 143 genes are too much
EXPERT BOT EVOLUTION
• Generic Fitness
Just considers frags/deads
and damage produced/received
• Generational scheme
• 4-elitism
• Uniform Crossover
• Random mutation
• 4 Random individuals
• Chromosome 26
Approach 2: Chromosome 26 - Generic Fitness
Approach 2. Results
EXPERT BOT EVOLUTION
• 50 generations
• 30 individuals
• 5 minutes per
evaluation
• Results of 2 different
runs
• 5 days per run
• Again lightly
improvement tendency
• Too much noise
• Too much diversity
EXPERT BOT EVOLUTION
• Complex Fitness
- considers frags/deads
- damage produced/received
- time using the best or more
versatile weapons: Lightning
Gun and Shock Rifle
- getting the best items: Shield
and Super Shield
• Stationary scheme• Uniform Crossover
• Random mutation
• 4 Random individuals
• Chromosome 26
Approach 3: Chromosome 26 - Complex Fitness
Approach 3. Results
EXPERT BOT EVOLUTION
• 40 generations
• 30 individuals
• 5 minutes per
evaluation
• Stationary scheme to
increase the
exploitation factor
• Results of 2 different
runs
• 5 days per run
• Quite good fitness
tendency
• Noise still remains,
but in a lower factor
Numerical results
E-BOT vs GE-BOT
• Expert Bot (E-Bot) and the best Genetic Expert Bots (GE-BOT)
have been fighting in four battles (in two maps).
• The average results of these matches are:
• The approach with 143 genes per chromosome is defeated
• GE-Bot with 26 genes outperforms E-Bot.
• The approach with the complex fitness function gets the best
results. Due to its lower noisy factor, and the higher
exploitation component.
DEMO
E-BOT vs GE-BOT
http://www.youtube.com/watch?v=ktcXHZ-nAfw
CONCLUSIONS
• We have designed a human-like Expert Bot (E-Bot) which
outperforms the standard Unreal Tournament 2K4 bots in the
hardest difficulty.
• It is also a hard rival against human players.
• We have tested three different approaches for improving this
bot by means of Genetic Algorithms.
• Too long chromosomes population performs worse than small
length one.
• These algorithms are affected by a high noisy factor
regarding the generic (and easier) fitness function.
• We have defined a complex fitness function which performs
better, with a softer noisy effect.
• The bots obtained after evolution outperform the E-Bot.
END
THE
Questions?!?!
Contact: amorag@geneura.ugr.es
Source Code: https://github.com/franaisa/ExpertAgent

Más contenido relacionado

Destacado

Destacado (18)

FSM-Based Agents for Playing Super Mario Game
FSM-Based Agents for Playing Super Mario GameFSM-Based Agents for Playing Super Mario Game
FSM-Based Agents for Playing Super Mario Game
 
Evolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal BotsEvolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal Bots
 
Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)
 
Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)
Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)
Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)
 
Ciencia y videojuegos
Ciencia y videojuegosCiencia y videojuegos
Ciencia y videojuegos
 
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
 
Optimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principalesOptimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principales
 
Sandpile evo star 2011
Sandpile evo star 2011Sandpile evo star 2011
Sandpile evo star 2011
 
Evopar12 Validating a P2P EA
Evopar12 Validating a P2P EAEvopar12 Validating a P2P EA
Evopar12 Validating a P2P EA
 
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORMCONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
 
Optimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game BotOptimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game Bot
 
Sistemas clasificadores
Sistemas clasificadoresSistemas clasificadores
Sistemas clasificadores
 
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
 
Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization
 
Genebot maeb
Genebot maebGenebot maeb
Genebot maeb
 
Parameter Tuning
Parameter TuningParameter Tuning
Parameter Tuning
 
Usando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelosUsando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelos
 
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
 

Similar a Designing and Evolving an Unreal Tournament 2004 Expert Bot

Designing and Evolving an Unreal Tournament 2004 Expert Bot
 Designing and Evolving an Unreal Tournament 2004 Expert Bot Designing and Evolving an Unreal Tournament 2004 Expert Bot
Designing and Evolving an Unreal Tournament 2004 Expert Bot
keldon_spain
 

Similar a Designing and Evolving an Unreal Tournament 2004 Expert Bot (20)

Designing and Evolving an Unreal Tournament 2004 Expert Bot
 Designing and Evolving an Unreal Tournament 2004 Expert Bot Designing and Evolving an Unreal Tournament 2004 Expert Bot
Designing and Evolving an Unreal Tournament 2004 Expert Bot
 
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
 
Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"
Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"
Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"
 
The Power and Peril of PCG
The Power and Peril of PCGThe Power and Peril of PCG
The Power and Peril of PCG
 
Endless runner
Endless runnerEndless runner
Endless runner
 
infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3
infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3
infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3
 
God Of War : post mortem
God Of War : post mortemGod Of War : post mortem
God Of War : post mortem
 
Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*
 
Requirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds gameRequirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds game
 
AlphaZero and beyond: Polygames
AlphaZero and beyond: PolygamesAlphaZero and beyond: Polygames
AlphaZero and beyond: Polygames
 
es_hardware_handout
es_hardware_handoutes_hardware_handout
es_hardware_handout
 
Killzone Shadow Fall: Threading the Entity Update on PS4
Killzone Shadow Fall: Threading the Entity Update on PS4Killzone Shadow Fall: Threading the Entity Update on PS4
Killzone Shadow Fall: Threading the Entity Update on PS4
 
Next Gen Asteroids
Next Gen AsteroidsNext Gen Asteroids
Next Gen Asteroids
 
Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4
 
Making VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineMaking VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal Engine
 
Evolving Custom Communication Protocols
Evolving Custom Communication ProtocolsEvolving Custom Communication Protocols
Evolving Custom Communication Protocols
 
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl KappHow to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
 
Ndss 2016 game_bot_final_no_video
Ndss 2016 game_bot_final_no_videoNdss 2016 game_bot_final_no_video
Ndss 2016 game_bot_final_no_video
 
Games User Research is for Game Design!
Games User Research is for Game Design!Games User Research is for Game Design!
Games User Research is for Game Design!
 
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates ItselfRopossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
 

Más de Antonio Mora

Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Antonio Mora
 
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en PerfilesGRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
Antonio Mora
 
Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...
Antonio Mora
 
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
Antonio Mora
 
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivenciaSólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Antonio Mora
 
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Antonio Mora
 

Más de Antonio Mora (20)

Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
 
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
 
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
 
Research in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AIResearch in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AI
 
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en PerfilesGRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
 
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move PruningImproving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
 
Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...
 
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
 
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
 
Investigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IAInvestigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IA
 
Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...
 
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
 
Free Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level GenerationFree Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level Generation
 
Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)
 
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
 
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
 
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
 
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivenciaSólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
 
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
 
Gamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through gamesGamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through games
 

Último

Último (20)

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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Designing and Evolving an Unreal Tournament 2004 Expert Bot

  • 1. Designing and Evolving an Unreal Tournament 2004 Expert Bot A.M. Mora, F. Aisa, R. Caballero, P. García-Sánchez, J.J. Merelo, P.A. Castillo, R. Lara-Cabrera International Work-Conference on Artificial Neural Networks
  • 2. INDEX • Unreal (game, environment) • Pogamut tool • Unreal Expert Bot (objectives, features) • Evolutionary Algorithms • Unreal Expert Bot Evolution (description, approaches, results) • E-BOT vs GE-BOT (results, demo) • Conclusions
  • 3. Environment description UNREAL Unreal is a first person shooter (FPS). Famous due to the excelent AI of the enemies (bots), which makes it an amazing multiplayer game. Unreal Tournament series is widely extended. It offers an editor (UnrealEd) which lets us change almost anything in the game even the behaviour of the bots. It uses the language UnrealScript.
  • 4. General description POGAMUT A java middleware for Unreal Tournament series games and Defcon games. The architecture is as follows: It is possible to interact with the game from a java program, getting higher independence (avoiding Unrealscript restrictions) and increasing the possibilities (java libraries). On the contrary, the structures, classes, functions and workflows defined in the Unreal engine, cannot be accessed, nor used.
  • 5. Objectives UNREAL EXPERT BOT • Create an autonomous agent for playing Unreal Tournament deathmatch championship. • Considering the constraints of this competition: - 1 vs 1 matches - Small arenas - Weapons are not respawned - Some forbidden items (U-Damage, for instance) - 15 minutes per match instead of a number of frags (kills) • Human-like behaviour is desired. • Modelling Expert player knowledge (and tricks). - High control in timing (items respawn time) - Deep knowledge about weapons and their advantages and disadvantages - Deep knowledge about items
  • 6. Features UNREAL EXPERT BOT • Defined by means of a Finite State Machine based AI with two state levels. • Translated into a set of rules which determine its behaviour. • Database which models the bot’s memory, since it is uploaded with data about locations of items and weapons in the map.
  • 7. Features UNREAL EXPERT BOT • Defined by means of a Finite State Machine based AI with two state levels. • Translated into a set of rules which determine its behaviour. • Database which models the bot’s memory, since it is uploaded with data about locations of items and weapons in the map.
  • 8. Bot performance UNREAL EXPERT BOT • Expert Bot (E-Bot) outperformed the standard bots in the game (considering the number of frags), even in the maximum difficulty level. • This difficulty level is quite hard for a medium level player. • E-Bot is hard to beat for humans, even for the expert. • Medium level players usually lose against it.
  • 9. Evolutionary Algorithms EXPERT BOT EVOLUTION by Johann Dréo i -> initial population f -> evaluation function (fitness) ? -> stop condition Se -> selection Cr -> crossover Mu -> mutation Re -> replacement
  • 10. Evolutionary Process in Unreal game EXPERT BOT EVOLUTION GE-BOT Expert Bot based in a Genetic Algorithm Evolutionary process population FITNESS EVALUATION • Analyze Expert bot’s FSM • Identify parameters • Optimize them Expert Bot’s AI
  • 11. Approaches EXPERT BOT EVOLUTION • Generic Fitness Just considers frags/deads and damage produced/received • Generational scheme • 4-elitism • Complex Fitness - considers frags/deads - damage produced/received - time using the best or more versatile weapons: Lightning Gun and Shock Rifle - getting the best items: Shield and Super Shield • Stationary scheme • Chromosome 143 • Uniform Crossover • Random mutation • 4 Random individuals • Chromosome 26
  • 12. Approach 1: Chromosome 143 - Generic Fitness EXPERT BOT EVOLUTION • Generic Fitness Just considers frags/deads and damage produced/received • Generational scheme • 4-elitism • Chromosome 143 • Uniform Crossover • Random mutation • 4 Random individuals
  • 13. Approach 1. Results EXPERT BOT EVOLUTION • 30 generations • 30 individuals • 1 evaluation (left) • 3 evaluations (right) in order to avoid the noisy nature of the fitness function • 15 minutes per evaluation • 10 days per run (left) • One month (right) • Lightly improvement tendency • Too many oscillations, i.e. noise • 143 genes are too much
  • 14. EXPERT BOT EVOLUTION • Generic Fitness Just considers frags/deads and damage produced/received • Generational scheme • 4-elitism • Uniform Crossover • Random mutation • 4 Random individuals • Chromosome 26 Approach 2: Chromosome 26 - Generic Fitness
  • 15. Approach 2. Results EXPERT BOT EVOLUTION • 50 generations • 30 individuals • 5 minutes per evaluation • Results of 2 different runs • 5 days per run • Again lightly improvement tendency • Too much noise • Too much diversity
  • 16. EXPERT BOT EVOLUTION • Complex Fitness - considers frags/deads - damage produced/received - time using the best or more versatile weapons: Lightning Gun and Shock Rifle - getting the best items: Shield and Super Shield • Stationary scheme• Uniform Crossover • Random mutation • 4 Random individuals • Chromosome 26 Approach 3: Chromosome 26 - Complex Fitness
  • 17. Approach 3. Results EXPERT BOT EVOLUTION • 40 generations • 30 individuals • 5 minutes per evaluation • Stationary scheme to increase the exploitation factor • Results of 2 different runs • 5 days per run • Quite good fitness tendency • Noise still remains, but in a lower factor
  • 18. Numerical results E-BOT vs GE-BOT • Expert Bot (E-Bot) and the best Genetic Expert Bots (GE-BOT) have been fighting in four battles (in two maps). • The average results of these matches are: • The approach with 143 genes per chromosome is defeated • GE-Bot with 26 genes outperforms E-Bot. • The approach with the complex fitness function gets the best results. Due to its lower noisy factor, and the higher exploitation component.
  • 20. CONCLUSIONS • We have designed a human-like Expert Bot (E-Bot) which outperforms the standard Unreal Tournament 2K4 bots in the hardest difficulty. • It is also a hard rival against human players. • We have tested three different approaches for improving this bot by means of Genetic Algorithms. • Too long chromosomes population performs worse than small length one. • These algorithms are affected by a high noisy factor regarding the generic (and easier) fitness function. • We have defined a complex fitness function which performs better, with a softer noisy effect. • The bots obtained after evolution outperform the E-Bot.
  • 21. END THE Questions?!?! Contact: amorag@geneura.ugr.es Source Code: https://github.com/franaisa/ExpertAgent