Opponent-based Tactic Selection for a First Person Shooter Game
Thesis DisciplineComputer Science
Degree GrantorUniversity of Canterbury
Degree NameMaster of Science
For better or for worse, video games are becoming a significant part of our society. While once little more than a curiosity, the video game industry has grown rapidly, to the point where it generated about USD$9.5 billion in the US in 2007, and 11.7 billion in 2008 . Modern personal computers (PCs) owe many advancements to the gaming industry: sound cards, graphics cards, 3D acceleration, and CD jDVD drives, among others. Sound cards were developed for adding sound to computer games, and were only later used for music production. Graphics cards were needed for more colors in games, which then allowed for graphical user interfaces (GUls). CD and DVD drives were developed for mass distribution of media, including games. Modern games are some of the most demanding applications in terms of PC resources, and push the speeds of CPUs up, thus reduce the price of commodity CPUs. As well as hardware, video games have contributed to many advances in software. Perhaps most notably, Unix itself was developed partly so the programmers could playa space game . Video games often employ complex Artificial Intelligence (AI) techniques, and can be very useful environments for testing different AI methods. User modeling is a general term used for collecting and processing data about each user . This information could be preferences, habits, or knowledge. The information is usually stored and used at a later date, to tailor the system by selecting material or strategies best suited for a particular user. Sometimes, the purpose of user modeling is simply to display such information back to the user to promote self-reflection . Systems that implement user modeling can adapt to each user and thus provide a more enjoyable or useful experience to different types of users. Difficulties in user modeling arise when deciding what information to record, and how to actually use this information. There is little point in recording information the system cannot use, but it is impossible to use information that cannot be recorded. Systems that employ user modeling techniques range from games, to educational systems (discussed below), and even search engines . A very common form of user modeling is providing recommendations, as seen on the webstore, amazon. com. During previous visits, AMAZON learns about a users interests, and builds a model of products positively valued by the user. The site can then use this model to recommend other products that may interest the user, potentially leading to more sales . A common application of user modeling is found in Intelligent Tutoring Systems (ITSs), called student modeling. ITSs attempt to build a model of the student's knowledge, and use this model to tailor the instruction. Recommending problems of an appropriate difficulty level is a common use of the model, as is recommending certain topics the student should study. Student modeling has been shown to be an effective way to help students learn, and is used by many, if not all Intelligent Tutoring Systems [11, 17, 18]. User modeling has been incorporated into some games, under the term Opponent modeling. Some such games include Poker , Scrabble , RealTime Strategy Games , and Racing Games . Results vary, but generally the authors conclude that opponent modeling has significant potential, but is hard to perfect. Because the possible information to record is different in every game, any opponent modeling implementation is usually very game-specific. These systems are discussed in detail later in this report. As graphics and physics engines approach the limit (e.g. 100% realistic), more emphasis will be placed on the Intelligence of the game. An adaptive game that always challenges the player and can match strategies employed by the player may ultimately decide the success of the game, if this is not already the case. Opponent modeling has the potential to make games more interesting, and to remain interesting for a longer time . This project aims to implement opponent modeling in a similar way to how an ITS models students, to make a game system more proficient at defeating a user, and adapt to strategies a user might employ. Such adaption should motivate the players to continue playing the game, as it will continue to provide a challenge. Motivation is important, whether in an Intelligent Tutoring System, where students need motivation to learn, or in a commercial game, where the game needs to have long lasting appeal to be successful. Our research aims to implement opponent modeling to help motivate players to continue playing, by providing a lasting challenge. Motivation is also a very important factor in educational games, so techniques for improving motivation could be beneficial to a number of fields. We start by describing Student Modeling, some previous applications of Opponent Modeling, and Quake 3, the game which is the context of our work. Section 3 then describes our implementation of opponent modeling in Quake 3. Section 4 gives the results of evaluation, and Section 5 concludes with discussion and future work.