SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

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 GameAntonio Mora
 
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 BotsAntonio Mora
 
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)Antonio Mora
 
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)Antonio Mora
 
Ciencia y videojuegos
Ciencia y videojuegosCiencia y videojuegos
Ciencia y videojuegosAntonio Mora
 
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...Antonio Mora
 
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 principalesAntonio Mora
 
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 PLATFORMPablo García Sánchez
 
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 BotPablo García Sánchez
 
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 ...Antonio Mora
 
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 Antonio Fernández Ares
 
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 paralelosJuan J. Merelo
 
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...Juan J. Merelo
 

Viewers also liked (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 to 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 Botkeldon_spain
 
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"Lviv Startup Club
 
The Power and Peril of PCG
The Power and Peril of PCGThe Power and Peril of PCG
The Power and Peril of PCGGillian Smith
 
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/ UE3Infoshare
 
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*Intel® Software
 
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 gameAmna Khalil
 
AlphaZero and beyond: Polygames
AlphaZero and beyond: PolygamesAlphaZero and beyond: Polygames
AlphaZero and beyond: PolygamesOlivier Teytaud
 
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 PS4jrouwe
 
Next Gen Asteroids
Next Gen AsteroidsNext Gen Asteroids
Next Gen AsteroidsJustin Young
 
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 UE4Unreal Engine
 
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 EngineLuis Cataldi
 
Evolving Custom Communication Protocols
Evolving Custom Communication ProtocolsEvolving Custom Communication Protocols
Evolving Custom Communication ProtocolsWesley Faler
 
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 KappSharon Boller
 
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_videoEun-Jo Lee
 
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!Marina Kobayashi
 
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates ItselfRopossum: A Game That Generates Itself
Ropossum: A Game That Generates ItselfMohammad Shaker
 

Similar to 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
 

More from Antonio Mora

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...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
 
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...Antonio Mora
 
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 AIAntonio 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 PerfilesAntonio Mora
 
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 PruningAntonio Mora
 
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...Antonio Mora
 
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...Antonio Mora
 
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...Antonio Mora
 
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 IAAntonio 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
 
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)Antonio Mora
 
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 GenerationAntonio Mora
 
Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)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
 
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 ...Antonio Mora
 
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 2017Antonio 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 supervivenciaAntonio 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
 
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 gamesAntonio Mora
 

More from 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
 

Recently uploaded

Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
 

Recently uploaded (20)

Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

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