Designing and Evolving an Unreal Tournament 2004 Expert Bot

  • 2,066 views
Uploaded on

This presentation describes the design of a bot for the first person shooter Unreal Tournament— 2004, which behaves as a human expert player in 1 vs. 1 death matches. This has been implemented …

This presentation describes the design of a bot for the first person shooter Unreal Tournament— 2004, which behaves as a human expert player in 1 vs. 1 death matches. This has been implemented modelling the actions (and tricks) of this player, using a state-based AI, and supplemented by a database for ‘learning’ the arena. The expert bot yields excellent results, beating the game default bots in the hardest difficulty, and even being a very hard opponent for the human players (including our expert). The AI of this bot is then improved by means of three different approaches of evolutionary algorithms, optimizing a wide set of parameters (weights and probabilities) which the expert bot considers when playing. The result of this process yields an even better rival; however the noisy nature of the fitness function (due to the pseudostochasticity of the battles) makes the evolution slower than usual.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,066
On Slideshare
0
From Embeds
0
Number of Embeds
14

Actions

Shares
Downloads
10
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Designing and Evolving anUnreal Tournament 2004Expert BotA.M. Mora, F. Aisa, R. Caballero, P. García-Sánchez, J.J. Merelo, P.A. Castillo, R. Lara-CabreraInternational 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 descriptionUNREALUnreal is a first person shooter (FPS).Famous due to the excelent AI of the enemies (bots), which makes it anamazing multiplayer game. Unreal Tournament series is widely extended.It offers an editor (UnrealEd) which lets us change almost anything inthe game even the behaviour of the bots. It uses the languageUnrealScript.
  • 4. General descriptionPOGAMUTA java middleware for Unreal Tournament series games andDefcon 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 andworkflows defined in the Unreal engine, cannot be accessed, norused.
  • 5. ObjectivesUNREAL EXPERT BOT• Create an autonomous agent for playing UnrealTournament 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 anddisadvantages- Deep knowledge about items
  • 6. FeaturesUNREAL EXPERT BOT• Defined by means of a Finite State Machine based AI with twostate levels.• Translated into a set of rules which determine its behaviour.• Database which models the bot’s memory, since it is uploadedwith data about locations of items and weapons in the map.
  • 7. FeaturesUNREAL EXPERT BOT• Defined by means of a Finite State Machine based AI with twostate levels.• Translated into a set of rules which determine its behaviour.• Database which models the bot’s memory, since it is uploadedwith data about locations of items and weapons in the map.
  • 8. Bot performanceUNREAL EXPERT BOT• Expert Bot (E-Bot) outperformed the standard bots in the game(considering the number of frags), even in the maximumdifficulty level.• This difficulty level is quite hard for a medium levelplayer.• E-Bot is hard to beat for humans, even for the expert.• Medium level players usually lose against it.
  • 9. Evolutionary AlgorithmsEXPERT BOT EVOLUTIONby Johann Dréoi -> initialpopulationf -> evaluationfunction (fitness)? -> stop conditionSe -> selectionCr -> crossoverMu -> mutationRe -> replacement
  • 10. Evolutionary Process in Unreal gameEXPERT BOT EVOLUTIONGE-BOTExpert Bot based in aGenetic AlgorithmEvolutionaryprocesspopulationFITNESS EVALUATION• Analyze Expert bot’s FSM• Identify parameters• Optimize themExpertBot’sAI
  • 11. ApproachesEXPERT BOT EVOLUTION• Generic FitnessJust considers frags/deadsand damage produced/received• Generational scheme• 4-elitism• Complex Fitness- considers frags/deads- damage produced/received- time using the best or moreversatile weapons: LightningGun and Shock Rifle- getting the best items: Shieldand Super Shield• Stationary scheme• Chromosome 143• Uniform Crossover• Random mutation• 4 Random individuals• Chromosome 26
  • 12. Approach 1: Chromosome 143 - Generic FitnessEXPERT BOT EVOLUTION• Generic FitnessJust considers frags/deadsand damage produced/received• Generational scheme• 4-elitism• Chromosome 143• Uniform Crossover• Random mutation• 4 Random individuals
  • 13. Approach 1. ResultsEXPERT BOT EVOLUTION• 30 generations• 30 individuals• 1 evaluation (left)• 3 evaluations (right)in order to avoid thenoisy nature of thefitness function• 15 minutes perevaluation• 10 days per run (left)• One month (right)• Lightly improvementtendency• Too many oscillations,i.e. noise• 143 genes are too much
  • 14. EXPERT BOT EVOLUTION• Generic FitnessJust considers frags/deadsand damage produced/received• Generational scheme• 4-elitism• Uniform Crossover• Random mutation• 4 Random individuals• Chromosome 26Approach 2: Chromosome 26 - Generic Fitness
  • 15. Approach 2. ResultsEXPERT BOT EVOLUTION• 50 generations• 30 individuals• 5 minutes perevaluation• Results of 2 differentruns• 5 days per run• Again lightlyimprovement tendency• Too much noise• Too much diversity
  • 16. EXPERT BOT EVOLUTION• Complex Fitness- considers frags/deads- damage produced/received- time using the best or moreversatile weapons: LightningGun and Shock Rifle- getting the best items: Shieldand Super Shield• Stationary scheme• Uniform Crossover• Random mutation• 4 Random individuals• Chromosome 26Approach 3: Chromosome 26 - Complex Fitness
  • 17. Approach 3. ResultsEXPERT BOT EVOLUTION• 40 generations• 30 individuals• 5 minutes perevaluation• Stationary scheme toincrease theexploitation factor• Results of 2 differentruns• 5 days per run• Quite good fitnesstendency• Noise still remains,but in a lower factor
  • 18. Numerical resultsE-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 bestresults. Due to its lower noisy factor, and the higherexploitation component.
  • 19. DEMOE-BOT vs GE-BOThttp://www.youtube.com/watch?v=ktcXHZ-nAfw
  • 20. CONCLUSIONS• We have designed a human-like Expert Bot (E-Bot) whichoutperforms the standard Unreal Tournament 2K4 bots in thehardest difficulty.• It is also a hard rival against human players.• We have tested three different approaches for improving thisbot by means of Genetic Algorithms.• Too long chromosomes population performs worse than smalllength one.• These algorithms are affected by a high noisy factorregarding the generic (and easier) fitness function.• We have defined a complex fitness function which performsbetter, with a softer noisy effect.• The bots obtained after evolution outperform the E-Bot.
  • 21. ENDTHEQuestions?!?!Contact: amorag@geneura.ugr.esSource Code: https://github.com/franaisa/ExpertAgent