Evolving the Cooperative Behaviour in Unreal Bots
Upcoming SlideShare
Loading in...5
×
 

Evolving the Cooperative Behaviour in Unreal Bots

on

  • 1,836 views

This work presents a research of the improvement of the Team AI in Unreal Tournament Bots by means of a Genetic Algorithm, which evolves the set of parameters that determines the behaviour of a bot ...

This work presents a research of the improvement of the Team AI in Unreal Tournament Bots by means of a Genetic Algorithm, which evolves the set of parameters that determines the behaviour of a bot inside a team.

Presented at IEEE Computer Intelligence and Games (CIG 2010). IT University of Copenhagen, Denmark.

--------------------------------------------------

Este trabajo presenta la investigación llevada a cabo para mejorar la IA de los Bots en Unreal Tournament cuando éstos están dentro de un equipo.
Para ello se ha utilizado un Algoritmo Genético que evoluciona el conjunto de parámetros de los que depende el comportamiento de un Bot dentro de un equipo.

Presentada en el IEEE CIG 2010 (ITU, Copenhague, Dinamarca).

Statistics

Views

Total Views
1,836
Views on SlideShare
1,557
Embed Views
279

Actions

Likes
0
Downloads
16
Comments
0

5 Embeds 279

http://geneura.wordpress.com 158
http://geneura.ugr.es 118
http://yok.to 1
http://74.63.64.35 1
https://geneura.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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)
  • 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…
  • 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
  • Roaming -> the state where the bot moves around searching for items, enemies, etc States -> Roaming or Wandering This example were built by us (analysing the code or Unreal 1).
  • Some of them hard-coded.
  • It is very easy…
  • i  initialization f(x)  evaluation Re  replacing Mu  mutation ?  end condition Cr  cross Se  selection X*  best solution
  • It is very easy…
  • There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  • There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  • The most important ones. In addition there are some other parameters just useful for individuals.
  • It is a generational algorithm. Mutation  add or substract a number in [0,1] Crossover  choose two points and interchange the values between them
  • 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.
  • 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.
  • 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.
  • 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.
  • We improved the FSM for one bot

Evolving the Cooperative Behaviour in Unreal Bots Evolving the Cooperative Behaviour in Unreal Bots Presentation Transcript

  • CIG2010A.M. Mora, M.A. Moreno, J.J. Merelo, P.A. Castillo, M.G. Arenas, J.L.J. Laredo Dpto. ATC University of Granada
  • CIG2010Unreal?GAs?Teams?Results?Conclusions?That’s all?
  • CIG2010It is a First Person Shooter (FPS):Very famous since 1998, because ithad an excellent enemies’ AI, so itwas (and is) a very good game for multiplayer battlematchesbetween users and the so-called Bots (authonomous players).
  • CIG2010It offers the Unreal Editor(included with the game):It is easy tocreate Mods:
  • CIG2010There is an own language(UnrealScript).The editor is also an IDE,since it is possible to accessthe whole tree of classes,and write and compile newcode inside it.But it has some flaws such as a limited size for arrays, its isslower than other languages, or the dificulty to debug the code.
  • CIG2010It is based on a Finite State Machine: Example: State Roaming
  • CIG2010A Bot decides what to do (changing between the states andsubstates) in the FSM depending on some parameters orthresholds.For instance:(in Roaming state)IF distance_to_enemy() < MIN_DIST_SHOOT THENgo_to_state(Attacking)In addition, there are some values used to calculate others,such as penalties, multiplication factors, etc.
  • CIG2010Identify the ‘main’ Put them intoset of parameters an array Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • CIG2010 Created by Johann Dréo
  • CIG2010Genetic Algorithm FITNESS EVALUATIONbased bot (GA-Bot) population Std AI Std Std AI AI GA EVOLUTIONARY PROCESS
  • CIG2010Identify the ‘main’ Put them intoset of parameters an array (for a Team) Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • CIG2010Genetic Algorithm FITNESS EVALUATIONbased team of bots(GT-Bot) Std Std AI AI Std AI population vs GA EVOLUTIONARY PROCESS OR
  • CIG2010cr-TeamAll the bots in the team have thesame chromosome.cr-BotEvery bot in the team has a differentchromosome.A shape of co-evolution.
  • CIG2010The set of thresholds and parameters to consider in a Teamevolution is:
  • CIG2010The 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
  • CIG2010And 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
  • CIG20101 cr-Bot based Team (2 Bots) vs 3 standard 2-bots teams
  • CIG20101 cr-Team based Team (2 Bots) vs 3 standard 2-bots teams
  • CIG20101 cr-Team based Team (4 Bots) vs 3 standard 4-bots teams
  • CIG20101 cr-Bot based Team (2 Bots) vs 1 cr-Team based Team (2 bots)vs 2 standard 2-bots teams vs
  • CIG2010We have improved the AI of Unreal Bots using a GeneticAlgorithm, 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-TeamThe results show that both approaches performs better thanthe 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)
  • CIG2010Questions?Contact: amorag@geneura.ugr.es