SlideShare a Scribd company logo
CIG2010




A.M. Mora, M.A. Moreno, J.J. Merelo, P.A. Castillo,
            M.G. Arenas, J.L.J. Laredo

                    Dpto. ATC
               University of Granada
CIG2010




Unreal?
GAs?
Teams?
Results?
Conclusions?
That’s all?
CIG2010




It is a First Person Shooter (FPS):




Very famous since 1998, because it
had an excellent enemies’ AI, so it
was (and is) a very good game for multiplayer battlematches
between users and the so-called Bots (authonomous players).
CIG2010




It offers the Unreal Editor
(included with the game):




It is easy to
create Mods:
CIG2010




There is an own language
(UnrealScript).

The editor is also an IDE,
since it is possible to access
the whole tree of classes,
and write and compile new
code inside it.


But it has some flaws such as a limited size for arrays, its is
slower than other languages, or the dificulty to debug the code.
CIG2010




It is based on a Finite State Machine:
  Example: State Roaming
CIG2010




A Bot decides what to do (changing between the states and
substates) in the FSM depending on some parameters or
thresholds.

For instance:

(in Roaming state)
IF distance_to_enemy() < MIN_DIST_SHOOT THEN
go_to_state(Attacking)


In addition, there are some values used to calculate others,
such as penalties, multiplication factors, etc.
CIG2010




Identify the ‘main’                  Put them into
set of parameters                      an array




                         Evolve it with an Evolutionary Algorithm
                                    (Genetic Algorithm)
CIG2010




          Created by Johann Dréo
CIG2010




Genetic Algorithm              FITNESS EVALUATION
based bot (GA-Bot)

      population         Std
                         AI    Std    Std
                               AI     AI




       GA
  EVOLUTIONARY
     PROCESS
CIG2010




Identify the ‘main’
                                     Put them into
set of parameters
                                       an array
   (for a Team)




                         Evolve it with an Evolutionary Algorithm
                                    (Genetic Algorithm)
CIG2010




Genetic Algorithm
                               FITNESS EVALUATION
based team of bots
(GT-Bot)                 Std
                                                    Std
                         AI
                                                    AI
                                           Std
                                           AI
      population




                                      vs


       GA
  EVOLUTIONARY
     PROCESS                          OR
CIG2010




cr-Team
All the bots in the team have the
same chromosome.




cr-Bot
Every bot in the team has a different
chromosome.

A shape of co-evolution.
CIG2010




The set of thresholds and parameters to consider in a Team
evolution is:
CIG2010




The real-coded GA we have used in this work considers:

       Chromosome Lentgh  40
       Population size  30
       Number of Generations  30

       Simple Gene Mutation
       Mutation probability  0.01

       Two point crossover
       Crossover probability  0.6

       Time per chromosome  90 seconds
CIG2010




And the Fitness Function:

     Each team is evaluated after 90 seconds

     The fitness is a sumatory considering the bots’ results:
        - number of frags
        - times defeated
        - number of items collected
        - weapons collected
        - power of weapons
CIG2010




1 cr-Bot based Team (2 Bots) vs 3 standard 2-bots teams
CIG2010




1 cr-Team based Team (2 Bots) vs 3 standard 2-bots teams
CIG2010




1 cr-Team based Team (4 Bots) vs 3 standard 4-bots teams
CIG2010




1 cr-Bot based Team (2 Bots) vs 1 cr-Team based Team (2 bots)
vs 2 standard 2-bots teams




             vs
CIG2010




We have improved the AI of Unreal Bots using a Genetic
Algorithm, so they can behave better in a team.

We have implemented 2 approaches:
   • one based in having a different set of parameters per bot (co-
   evolution) – cr-Bot
   • another based in sharing all the bots in the team the same set of
   parameters – cr-Team

The results show that both approaches performs better than
the standard bots and the cr-Team is the best of them.


FUTURE WORK:
- perform more experiments
- improve the FSM of the AI for teams (sets of rules)
CIG2010




Questions?




Contact: amorag@geneura.ugr.es

More Related Content

PDF
Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)
PDF
Science and Videogames. Computational intelligence in videogames
PPS
Super Mario (El Personaje y las Mario AI Competitions)
PDF
Ciencia y videojuegos
PDF
Designing and Evolving an Unreal Tournament 2004 Expert Bot
PPS
FSM-Based Agents for Playing Super Mario Game
PPS
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
PPS
Optimización basada en colonias de hormigas. Conceptos principales
Evolving Bot AI in Unreal (Poster EVOGames 2010, in EVO* 2010)
Science and Videogames. Computational intelligence in videogames
Super Mario (El Personaje y las Mario AI Competitions)
Ciencia y videojuegos
Designing and Evolving an Unreal Tournament 2004 Expert Bot
FSM-Based Agents for Playing Super Mario Game
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
Optimización basada en colonias de hormigas. Conceptos principales

Similar to Evolving the Cooperative Behaviour in Unreal Bots (8)

PDF
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
DOC
INTRODUCTION
DOC
INTRODUCTION
PDF
Testing hybrid computational intelligence algorithms for general game playing...
PPTX
2018 Fighting Game AI Competition
PDF
[SHARED ONLINE] - GDG Cloud Iasi - Build with AI - Sponsored by Qodea.pdf
PDF
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
PDF
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
INTRODUCTION
INTRODUCTION
Testing hybrid computational intelligence algorithms for general game playing...
2018 Fighting Game AI Competition
[SHARED ONLINE] - GDG Cloud Iasi - Build with AI - Sponsored by Qodea.pdf
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
Ad

More from Antonio Mora (20)

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
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
PDF
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
PDF
Ciencia y Videojuegos (v2)
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
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
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y Videojuegos (v2)
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
August Patch Tuesday
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
A Presentation on Artificial Intelligence
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Approach and Philosophy of On baking technology
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
MIND Revenue Release Quarter 2 2025 Press Release
Zenith AI: Advanced Artificial Intelligence
OMC Textile Division Presentation 2021.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Hindi spoken digit analysis for native and non-native speakers
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A novel scalable deep ensemble learning framework for big data classification...
August Patch Tuesday
cloud_computing_Infrastucture_as_cloud_p
DP Operators-handbook-extract for the Mautical Institute
WOOl fibre morphology and structure.pdf for textiles
A Presentation on Artificial Intelligence
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Enhancing emotion recognition model for a student engagement use case through...
Approach and Philosophy of On baking technology
Group 1 Presentation -Planning and Decision Making .pptx

Evolving the Cooperative Behaviour in Unreal Bots

  • 1. CIG2010 A.M. Mora, M.A. Moreno, J.J. Merelo, P.A. Castillo, M.G. Arenas, J.L.J. Laredo Dpto. ATC University of Granada
  • 3. CIG2010 It is a First Person Shooter (FPS): Very famous since 1998, because it had an excellent enemies’ AI, so it was (and is) a very good game for multiplayer battlematches between users and the so-called Bots (authonomous players).
  • 4. CIG2010 It offers the Unreal Editor (included with the game): It is easy to create Mods:
  • 5. CIG2010 There is an own language (UnrealScript). The editor is also an IDE, since it is possible to access the whole tree of classes, and write and compile new code inside it. But it has some flaws such as a limited size for arrays, its is slower than other languages, or the dificulty to debug the code.
  • 6. CIG2010 It is based on a Finite State Machine: Example: State Roaming
  • 7. CIG2010 A Bot decides what to do (changing between the states and substates) in the FSM depending on some parameters or thresholds. For instance: (in Roaming state) IF distance_to_enemy() < MIN_DIST_SHOOT THEN go_to_state(Attacking) In addition, there are some values used to calculate others, such as penalties, multiplication factors, etc.
  • 8. CIG2010 Identify the ‘main’ Put them into set of parameters an array Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • 9. CIG2010 Created by Johann Dréo
  • 10. CIG2010 Genetic Algorithm FITNESS EVALUATION based bot (GA-Bot) population Std AI Std Std AI AI GA EVOLUTIONARY PROCESS
  • 11. CIG2010 Identify the ‘main’ Put them into set of parameters an array (for a Team) Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • 12. CIG2010 Genetic Algorithm FITNESS EVALUATION based team of bots (GT-Bot) Std Std AI AI Std AI population vs GA EVOLUTIONARY PROCESS OR
  • 13. CIG2010 cr-Team All the bots in the team have the same chromosome. cr-Bot Every bot in the team has a different chromosome. A shape of co-evolution.
  • 14. CIG2010 The set of thresholds and parameters to consider in a Team evolution is:
  • 15. CIG2010 The real-coded GA we have used in this work considers: Chromosome Lentgh  40 Population size  30 Number of Generations  30 Simple Gene Mutation Mutation probability  0.01 Two point crossover Crossover probability  0.6 Time per chromosome  90 seconds
  • 16. CIG2010 And the Fitness Function: Each team is evaluated after 90 seconds The fitness is a sumatory considering the bots’ results: - number of frags - times defeated - number of items collected - weapons collected - power of weapons
  • 17. CIG2010 1 cr-Bot based Team (2 Bots) vs 3 standard 2-bots teams
  • 18. CIG2010 1 cr-Team based Team (2 Bots) vs 3 standard 2-bots teams
  • 19. CIG2010 1 cr-Team based Team (4 Bots) vs 3 standard 4-bots teams
  • 20. CIG2010 1 cr-Bot based Team (2 Bots) vs 1 cr-Team based Team (2 bots) vs 2 standard 2-bots teams vs
  • 21. CIG2010 We have improved the AI of Unreal Bots using a Genetic Algorithm, so they can behave better in a team. We have implemented 2 approaches: • one based in having a different set of parameters per bot (co- evolution) – cr-Bot • another based in sharing all the bots in the team the same set of parameters – cr-Team The results show that both approaches performs better than the standard bots and the cr-Team is the best of them. FUTURE WORK: - perform more experiments - improve the FSM of the AI for teams (sets of rules)

Editor's Notes

  • #4: A game where you just can see the hand of your character. The objective is easy… kill the enemies before they kill you! Even in the Battlematch game where you fight against other players (human or bots)
  • #5: In addition to the excellent AI. We started our researchings in 2000 and in that time it was the best environment (and the best game). We know there are some other possibilities, such as Pogamut…
  • #6: IDE = Integrated Development Environment Unrealscript is a mixture between C and Java (quite similar to Java), but considering the so-called States (marked in the code as labels) Just can write in a file
  • #7: Roaming -&gt; the state where the bot moves around searching for items, enemies, etc States -&gt; Roaming or Wandering This example were built by us (analysing the code or Unreal 1).
  • #8: Some of them hard-coded.
  • #9: It is very easy…
  • #10: i  initialization f(x)  evaluation Re  replacing Mu  mutation ?  end condition Cr  cross Se  selection X*  best solution
  • #12: It is very easy…
  • #13: There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  • #14: There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  • #15: The most important ones. In addition there are some other parameters just useful for individuals.
  • #16: It is a generational algorithm. Mutation  add or substract a number in [0,1] Crossover  choose two points and interchange the values between them
  • #18: The teams of bots fight during 20 hours. Each bot with a different chromosome. The experiment has been performed 3 times in each map (and calculate an average). The cr-Bot team is better than the standard teams.
  • #19: The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times in each map (and calculate an average). The cr-Team team is better than the standard teams.
  • #20: The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times the map (and calculate an average). The cr-Team is better than the standard teams.
  • #21: The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times the map (and calculate an average). The cr-Team is better than the cr-Bot.
  • #22: We improved the FSM for one bot