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

PDF
Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot
PDF
This was a triumph: Evolving intelligent bots for videogames. And for Science.
PDF
Science and Videogames. Computational intelligence in videogames
PDF
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
PDF
Evolutionary Deckbuilding in Hearthstone
PDF
Artificial intelligence in gaming.
PPTX
Game development history
PDF
MEIS 2015 : A Multilayered Model for Artificial Intelligence of Game Characte...
Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot
This was a triumph: Evolving intelligent bots for videogames. And for Science.
Science and Videogames. Computational intelligence in videogames
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
Evolutionary Deckbuilding in Hearthstone
Artificial intelligence in gaming.
Game development history
MEIS 2015 : A Multilayered Model for Artificial Intelligence of Game Characte...

Viewers also liked (18)

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

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

PPS
Designing and Evolving an Unreal Tournament 2004 Expert Bot
PDF
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
PPTX
Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"
PDF
The Power and Peril of PCG
PPT
Endless runner
PDF
infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3
PPS
God Of War : post mortem
PPTX
Forts and Fights Scaling Performance on Unreal Engine*
PPTX
Requirement Engineering process on The Outer Worlds game
PDF
AlphaZero and beyond: Polygames
PDF
es_hardware_handout
PPTX
Killzone Shadow Fall: Threading the Entity Update on PS4
PPTX
Next Gen Asteroids
PPTX
Making VR games and experiences in Unreal Engine
PPTX
Making VR Games and Experiences in UE4
PPTX
Evolving Custom Communication Protocols
PDF
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
PDF
Ndss 2016 game_bot_final_no_video
PPTX
Games User Research is for Game Design!
PDF
Ropossum: A Game That Generates Itself
Designing and Evolving an Unreal Tournament 2004 Expert Bot
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
Dmytro Panchenko "Cracking Kaggle: Human Protein Atlas"
The Power and Peril of PCG
Endless runner
infoShare 2013: Adam Frańczak - Techniki optymalizacyjne w UDK/ UE3
God Of War : post mortem
Forts and Fights Scaling Performance on Unreal Engine*
Requirement Engineering process on The Outer Worlds game
AlphaZero and beyond: Polygames
es_hardware_handout
Killzone Shadow Fall: Threading the Entity Update on PS4
Next Gen Asteroids
Making VR games and experiences in Unreal Engine
Making VR Games and Experiences in UE4
Evolving Custom Communication Protocols
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
Ndss 2016 game_bot_final_no_video
Games User Research is for Game Design!
Ropossum: A Game That Generates Itself
Ad

More from Antonio Mora (20)

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

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools

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