SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Evolving the Cooperative Behaviour in Unreal Bots

INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
butest
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
butest
 

Similaire à Evolving the Cooperative Behaviour in Unreal Bots (7)

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
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
 
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...
 
2018 Fighting Game AI Competition
2018 Fighting Game AI Competition 2018 Fighting Game AI Competition
2018 Fighting Game AI Competition
 
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...
 
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
 

Plus 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
 

Plus de Antonio Mora (20)

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

Dernier

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

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)

Notes de l'éditeur

  1. 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)
  2. 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…
  3. 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
  4. 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).
  5. Some of them hard-coded.
  6. It is very easy…
  7. i  initialization f(x)  evaluation Re  replacing Mu  mutation ?  end condition Cr  cross Se  selection X*  best solution
  8. It is very easy…
  9. There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  10. There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  11. The most important ones. In addition there are some other parameters just useful for individuals.
  12. It is a generational algorithm. Mutation  add or substract a number in [0,1] Crossover  choose two points and interchange the values between them
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. We improved the FSM for one bot