Learning in Video Games

 

Patrick Doherty

Cis 203 Sec: 1

 

            The goal of this project is to create templates for machine learning that can be used in the majority of video games from a specific genre.  The majority of video games currently have no learning capabilities and most often win through brute strength or cheating; cheating being not obeying the same rules that the player does.  Through the use of reinforcement learning I hope to create templates for computer controlled opponents that will adapt to the players own strategies as the game progresses and then alter the computers strategies to match.

            The first thing to do is describe the different genres of video games. 

Role Playing Games or RPGs:  These games typically consist of a one or more characters completing a quest and having to face different challenges along the way, from puzzle solving to monster fighting, and sometimes both at the same time.  (This is personally my favorite type of game.)

Fighting:  The player chooses one of several characters, each with their own strengths, weakness, and special moves, and then must fight the other characters in some form of tournament.  These games originally started out as two dimensional, but have become three dimensional with the advances in technology.

First Person Shooter:  In this style of game the player is controlling a character and watching everything that character does from their perspective.  They are given weapons and other tools with which to fight and solve different puzzles.  I will not try to develop an AI template for this type of game because it would be too difficult and would have little impact on this type of game.

Sports:  This is a little self-explanatory.  The player choose one of several teams or characters to control and then faces of against the other teams or characters they could have chosen in a tournament.  The sports in these games are often times real sports, but can also be fictitious.

Combat:  The player is given resources with which they are to build an army and achieve a certain objective, which is most often destroying the opposing army.  I will not talk about this kind of game because it is the topic of another student’s report, who will be covering it in much further depth.

            The first template is for RPGs.  In this type of game there are often monster battles were the player must fight varying types of monsters.  This is the learning will take place. These types of games also include complex story lines that often relate to these monster battles.  Each monster would be assigned an intelligence level and have matrices listing the results of each attack against and from a particular character the player controls.  The intelligence level would determine if the monster even learns at all, and how quickly.  The first couple moves the monster would make are preprogrammed or randomized, and the results of the attacks and the attacks of the player’s characters will be used to determine what the monster does next.  These results will vary from battle to battle.  What one monster learns in a battle should not carry over to another battle without an explanation provided by the games storyline, it may just be me but I would find it odd for a monster that I have never fought before knowing all my moves.  This is not to say that what one monster learns cannot be carried over to a future battle.  It should just be explained in the storyline and this could also be used as a point of intrigue by game authors.  Most RPG players would notice when learning is unexpectedly carried over from one battle to another and suspect storyline involvement.

            The next template is for fighting games.  The matrices required for these types of games would become complex due to the 3D and the large number of moves available to the different characters.  Another problem would arise if searching the matrices slows down the game playing.  Fighting games are very fast paced and if that were to change the players would become annoyed with the games.

The next template is for sports games.  The matrices required for these types of games would also be complex, but the complexity would vary depending on the type of sport being played.  The main difficulty in programming a sports game to learn is trying to teach it to cheat.  Since most sports games are supposed to be simulating reality it is possible to break the rule of the game for some benefit.  Such a injuring the opposing teams star player.  The only practical solution to this problem is that the computer will only learn to cheat if the human player cheats.  There are other ways to program such behaviors but they would not be learning, which is the main purpose of this paper.

Many of the ideas discussed in my paper are already being implemented in video games today, but will become more wide spread as the memory and processing speed of computers advance even further.  Because up until now the main focus of the programming in a video games was the graphics, but we have already seen the shift to learning games in such example as “Half Life”, “Creature”, and “Black and White”.  With next generation of game consoles emerging we should see a lot more.