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.
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
Alexander T (2002b) GoCap: game observation capture. AI Game Programming Wisdom. Charles River Media Press, USA, pp 579–585
Blizzard Entertainment (2010) World of Warcraft. http://www.worldofwarcraft.com/
Bourg DM, Seeman G (2002) AI for game developers. O’Reilly Media, Inc, USA
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
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
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
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
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
Messerschmidt L, Engelbrecht AP (2004) Learning to play games using a PSO-based competitive learning approach. IEEE Trans Evol Comput 8(3):280–288
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
Nareyek A (2004) AI in computer games. Game Dev 1(10):58–65
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by P-C. Chung.
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-013-0982-1