Skip to main content

Advertisement

Log in

Learning to win in a first-person shooter game

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Designing a character’s behavior in a first-person shooter (FPS) game typically requires a considerable amount of effort due to a complex in-game environment. This paper proposes an efficient strategy of training a character in the Quake III Arena, a FPS game, to be more adaptive and also to have human-like learning capabilities and behaviors. Specifically, a particle swarm optimization (PSO) algorithm is introduced to provide a character with self-learning abilities. Like many computer games, the Quake III Arena utilizes a rule-based system which is constrained by several weights in the software. The effectiveness of these constrained weights is dependent upon the programmer’s knowledge about the game. In order to increase a character’s learning ability, an efficient method using the PSO algorithm is developed to determine the constrained weights for the behavior control. In the conducted experiments, the PSO algorithm is implemented to design a non-player character which is shown to be superior to the other characters originally created in the Quake III game. This efficient training strategy decreases the amount of effort required by game designers to design an intelligent character’s behavior.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Activision (2010) Call of Duty 4. http://www.callofduty.com/

  • Alexander T (2002a) An optimized fuzzy logic architecture for decision-making. AI Game Programming Wisdom. Charles River Media Press, USA, pp 367–374

    Google Scholar 

  • Alexander T (2002b) GoCap: game observation capture. AI Game Programming Wisdom. Charles River Media Press, USA, pp 579–585

    Google Scholar 

  • Blizzard Entertainment (2010) World of Warcraft. http://www.worldofwarcraft.com/

  • Bourg DM, Seeman G (2002) AI for game developers. O’Reilly Media, Inc, USA

    Google Scholar 

  • Cass S (2002) Mind games: to beat the competition, video games are getting smarter. In: IEEE spectrum, pp 40–44

  • Clerc M, Kennedy J (2002) The particle swarm—explosion, stability, and convergence in a multidimensional complex space. IEEE Trans Evol Comput 6:58–73

    Article  Google Scholar 

  • Darken CJ, Anderegg BG, McDowell PL (2007) Game Al in Delta3D. In: Proceedings of the 2007 IEEE symposium on computational intelligence and games, pp 312–319

  • Duro JA, de Oliveira JV (2008) Particle swarm optimization applied to the chess game. In: IEEE congress on evolutionary computation, pp 3702–3709

  • Dybsand E (2001) A generic fuzzy state machine in C++. Game Programming Gems 2. Charles River Media Press, USA, pp 337–341

    Google Scholar 

  • El-Abd M, Kamel MS (2008) A taxonomy of cooperative particle swarm optimizers. Int J Comput Intell Res 4(2):137–144. http://www.ripublication.com/ijcirv4/ijcirv4n2_7.pdf

    Google Scholar 

  • Electronic Arts (2010) Ultima Online. http://www.uoherald.com/

  • Fairclough C, Fagan M, Mac Namee B, Cunningham P (2001) Research directions for AI in computer games. In: Proceedings of the twelfth Irish conference on artificial intelligence and cognitive science

  • File Transit Inc. (2009) http://www.filetransit.com/files.php?name=Particle_Swarm_Optimization

  • Kennedy J, Eberhart RC (1995) Particle swarm optimization. In: Proceedings IEEE international conference on neural networks IV, pp 1942–1948

  • Laird J (2001) It knows what you’re going to do: adding anticipation to a Quake bot. In: Proceedings of the fifth international conference on autonomous agents. ACM Press, New York, pp 385–392

  • Laird J, van Lent M (1999) Developing an artificial intelligence engine. In: Proceedings of the game developers’ conference, pp 577–588

  • Laramee FD (2002) Using N-Gram statistical models to predict player behavior. AI Game Programming Wisdom. Charles River Media Press, USA, pp 596–601

    Google Scholar 

  • Liaw C, Tsai CT, Lin CC, Wu JL (2012) Evolving a character in a first-person shooter. In: Proceedings of the forth international joint conference on a computational intelligence, Spain, pp 265–267

  • McCuskey M (2000) Fuzzy logic for video games. Game Programming Gems. Charles River Media Press, USA, pp 319–329

    Google Scholar 

  • Messerschmidt L, Engelbrecht AP (2004) Learning to play games using a PSO-based competitive learning approach. IEEE Trans Evol Comput 8(3):280–288

    Article  Google Scholar 

  • Microsoft Game Studios (2010) Halo. http://www.halo.xbox.com

  • Mommersteeg F (2002) Pattern recognition with sequential prediction. AI Game Programming Wisdom. Charles River Media Press, USA, pp 586–595

    Google Scholar 

  • Nareyek A (2004) AI in computer games. Game Dev 1(10):58–65

    Google Scholar 

  • Ponsen M (2004) Improving adaptive game AI with evolutionary learning. Delft University of Technology

  • Ponsen M, Spronck P, Muñoz-Avila H, Aha DW (2007) Knowledge acquisition for adaptive game AI. Sci Comput Program 67:59–75

    Article  MATH  Google Scholar 

  • Rabin S (2002) AI Game Programming Wisdom. Charles River Media Press, USA, pp xi–xiv

  • Revello TE (2002) Generating war game strategies using a genetic algorithm. In: Proceedings of IEEE evolutionary computation ’02, pp 1086–1091

  • Smith M, Lee-Urban S, Muñoz-Avila H (2007) RETALIATE: learning winning policies in first-person shooter games. American Association for Artificial Intelligence. http://www.aaai.org

  • Tatar N, Holban S (2011) Introducing bee colony algorithm for hexxagon game. In: Sixth IEEE international symposium on applied computational intelligence and informatics, Romania, pp 117–121

  • Thurau C, Bauckhage C, Sagerer G (2003) Combining self organizing maps and multilayer perceptions to learn bot-behavior for a commercial game. In: Proceedings of GAME-ON ’03, UK, pp 119–123

  • Tong CK, On CK, Teo J, Kiring A (2011) Evolving neural controllers using GA for Warcraft 3-real time strategy game. In: Sixth international conference on bio-inspired computing: theories and applications, Malaysia, pp 15–20

  • van den Bergh F (2002) An analysis of particle swarm optimizers. Department of Computer Science, University of Pretoria, South Africa

  • Woodcock S (2005) The game AI page: building artificial intelligence into games. http://www.gameai.com

  • Zanetti S, El Rhalibi A (2004) Machine learning techniques for FPS in Q3. In: ACM ’04, Singapore

  • Zarozinski M (2001) Imploding combinatorial explosion in a fuzzy system. Game Programming Gems 2. Charles River Media Press, USA, pp 342–350

  • Zarozinski M (2002) An open source fuzzy logic library. AI Game Programming Wisdom. Charles River Media Press, USA, pp 90–101

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chishyan Liaw.

Additional information

Communicated by P-C. Chung.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Liaw, C., Andrew Wang, WH., Lin, CC. et al. Learning to win in a first-person shooter game. Soft Comput 17, 1733–1744 (2013). https://doi.org/10.1007/s00500-013-0982-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-013-0982-1

Keywords

Navigation