Video Games: The Most Complicated Waste of Time...Ever! KYLE HWANG JACOB KING and CRYSTAL SHAW California State University, Northridge

Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 20YY ACM 0000-0000/20YY/0000-0001 $5.00

ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1–0??.

2

·

Kyle Hwang et. al.

Over the years, video games have become increasingly popular as a recreational activity in our society. Whether it is through the medium of arcade machines, computers, or game consoles, video gaming has developed into a multi-billion dollar industry with sales of over $20 billion in 2009. In this paper, we will focus on three areas of video game design and development which are important to the continued success of the industry. These areas are databases, machine learning, and game security. First, we will discuss the history of video games from Pong to WoW (World of Warcraft). In this section we will focus on different types and specific platforms of video games. We will emphasize the technological developments of each platform and how those developments have affected gaming as we know it. Next, we will examine the idea of a video game as a database. We will define databases and give examples of different types. Using the example of computer games, we will show that a video game has many necessary parts for the game to operate. Databases are the method for linking these essential components. We will next examine the role of machine learning in gaming. We will look at the definition and examples of machine learning, specifically, the area of how the video game can change play based on the users’ performance. We will look at specific examples in different genres of gaming in order to understand the different ways the machine can learn. We will relate a games database structure to how the game can potentially learn. Next, we will mention the enormous investment that developers, companies, and society have in video games by showing how integral video gaming has become in pop culture and entertainment. In addition, we will investigate the revenue generated by video game sales. As a result, we will demonstrate the increasing importance and difficulty of security. We will again journey through each of the eras of video gaming to specifically look at the challenges faced in ensuring security and how these challenges were tackled. We will conclude by looking at how databases, machine learning, and computer security will play important roles in the video games of the future.

Categories and Subject Descriptors: []: General Terms: Video Games Additional Key Words and Phrases: computer security, machine learning, databases

ACM Journal Name, Vol. V, No. N, Month 20YY.

·

3

Introduction

What Are Video Games?

”Video games” has become a common phrase generally used to describe an electronic game in which a user interacts with the game using an input device and receives audiovisual feedback on some type of video device. While the term ”video game” was originally meant specifically for games with output displayed on a ”raster” device - a monitor that displays images using pixels - we now consider PC games, console games, arcade games, handheld games and online games to all be under the category of video games [Ford, 2010].

The physical aspect of video games, components of the game that the user can physically see, is made up of three different parts: the output device, the output itself and the input device. As mentioned above, there are many choices in mode of game play for a user. The user has a choice of what platform (output device) they would like to use to access the game. The platform of a game is the electronic system used to play the video game such as an arcade station, a computer, a game console or a handheld gaming device. The output of the video game depends on the platform that the user chooses to access the game. Depending on the platform, game graphics and sounds can vary greatly. The user also has a choice as to what input device to use in game play. For the most part, the input device used to access a game is flexible and can be chosen to suit the needs of the user. Arcade games and handheld devices are the exception as their input devices are attached to the machines themselves. For PC and console games, however, the user has many options. When playing on a PC platform, the user can choose to use the traditional mouse and keyboard or can attach joysticks or game controllers. On console games, the user can choose to implement the game controllers included with the console or can choose joysticks or other specialized attachments to better suit their gaming needs. ACM Journal Name, Vol. V, No. N, Month 20YY.

4

·

Kyle Hwang et. al.

History of Video Games When video games were first introduced, they were not only a source of entertainment, but a product of research and development by companies trying to make technological advances. Eventually, these developers realized that there was a niche to be carved out in creating video games. Although not one of the first video games to be developed, but perhaps the most famous, Pong became an instant success as soon as it came out. Pong was first developed as an arcade game, then a console game. Its design was simple. It basically was a primitive version of table tennis. The instructions were simple as well: ”Avoid missing [the] ball for high score”. The release of Pong marked the start of the video game industry unofficially [Kent, 2001]. The first video games were arcade games, found in shopping malls, restaurants and convenient stores. They were primitive devices, usually consisting of a simple processor and terminal, and were coin-operated machines. They became very popular in a short time span. But the popularity of the home game console brought about the demise of the arcade game. Some popular arcade game titles, later produced as console games, were Space Invaders, Asteroids and Pac Man [Kent, 2001]. The first home game console was the Magnavox Odyssey, created by Ralph Baer in the late 1960s and released in the early 1970s. The first game created for the Odyssey and sold with the console was a patented table tennis game that actually predated Pong. The Odyssey was not a bigger success because of the popularity of other table tennis games produced by other game manufacturers such as Pong from Atari. In fact, Magnavox, who took out a patent on the Odyssey and its table tennis game, bitterly fought these other game manufacturers in court to impose licensing fees on them. All told, Magnavox sold about 2 million Odyssey units, but it could have sold more if there had been more games developed for the console [Kent, 2001]. Atari dominated the next generation of game consoles. These game consoles were ACM Journal Name, Vol. V, No. N, Month 20YY.

·

5

much more intricate than the Magnavox Odyssey because the game cartridges were much more complex. Early game cartridges consisted of hardcoded microchips. These new game cartridges contained ROM chips that were encased in plastic cartridges that were plugged into the console. Processors read the code on the memory chips. The creation of cartridges allowed the gamer to accumulate a collection of games [Kent, 2001] The Japanese entered the video game market with the Nintendo game console in the 1980s. Donkey Kong and its trademark character, Mario, put Nintendo on the map. With their superior technology, Nintendo began its era of dominance in the video game industry. Nintendo revolutionized the video game industry technologically, from games to game consoles. Not until the late 1990s and 2000s did Nintendo face credible challenge from other game console manufactures, namely, Sega, Sony and Microsoft [Kent, 2001]. The first PC games were on mainframe computers in universities. Not much is known of these games because they were just for hardcore gamers. PC games competed with console games in providing the gamer with the latest technology in gaming. Eventually, with the advent of the personal computer and its accessibility, the popularity of PC games blossomed to their current level of popularity [Kent, 2001]. Few people know that online gaming has been developing since 1972. Since personal computers with Internet access were not widely available to the public until the 1990s, the online games of the 1970s and 1980s are foreign to the majority of our society. The first online games were developed for PLATO, a system of computer networks developed for educational purposes. The games developed in the early 1990s such as Neverwinter Nights, the first Massive Multiplayer Online Role-Playing Game (MMORPG), paved the way for what we now think of as online games such as the widely popular MMO World of Warcraft (WoW) [?]. Handheld games were first released to the public in the late 1970s by companies such as Mattel and Milton Bradley. These handheld games consisted mostly of ACM Journal Name, Vol. V, No. N, Month 20YY.

6

·

Kyle Hwang et. al.

sports themes with a few other titles such as Missile Attack and Armor Battle. Handheld games were not widely popular, however, until the release of the Gameboy by Nintendo in 1989. With the reasonable price of $109 upon release and a package bundle with Tetris, the Gameboy launched the beginning of a new trend in gaming. Handheld devices have since developed to work with exchangeable cartridges, but the hardware of handheld devices is continually behind those of console games. The portability and convenience of these systems, however, have overcome this disadvantage and won over most gamers [Melanson, 2006]. Databases Databases and Video Games. Video games have been and are used as a source of entertainment by those young and old, technologically savvy and not. The accessibility of a video game and apparent ease of use, however, is by no means a reason for us to believe that video game development is a simple process. The design of a single video game can involve an entire team of people with specialized talents including the game designer, music composers, people skilled in working with sound, programmers, game testers, artists, and graphic designers. The video game database is the means of organizing all of the products of these collaborative efforts [Wikibook, 2010]. Without the database, the task of putting all of the components of a video game together and making them work would be nearly impossible. What’s a Database? In its simplest sense, a database is a collection of related information, usually stored digitally, to be used for one or more purposes. A database is most useful for storing and organizing large amounts of information in a central location for easy access and use [Ferguson, 2009]. In the majority of structure and management systems of the database, data is stored in the form of a table with columns and rows much like we are used to in Excel. Each row contains information for a single record while each column contains a different piece of information for each record. There are many models for structures and management systems of databases. The flat model, ACM Journal Name, Vol. V, No. N, Month 20YY.

·

7

the relational model, the hierarchical model, the network model, and the objects database model are the most common [Wikipedia 1, 2010]. The Flat-File Model. This model is the simplest form for database organization. Data stored in a Flat-File Model consists of a two-dimensional table much like an Excel spreadsheet with no tables branching off or connections made among tables. Using the Flat-File model, the data would typically be stored in a single file [Loshin, 2001]. A prime example for data stored in this way would be a simple telephone directory where each row contains information for one contact and each column represents pieces of information related to the contact such as their address, phone number, and birthday for instance. The Flat-File model, although simple, has its downsides. Every time a database using a flat-file model needs a new column element added, the entire database must be restructured and redesigned [Loshin, 2001]. For example, take a telephone company that used a Flat-File model for their directory of clients and included information about services subscribed to. When the company added services and clients subscribed to those services, the entire database for the clients would have to be restructured and redesigned to include the new information. This process would be time consuming and inefficient on the part of the company. The Relational Model. The Relational Model for databases, introduced in 1970, is a structure developed and designed by E. F. Codd, a researcher at IBM’s San Jose research laboratory. According to this model which dominates 21st century databases, the architecture of a database consists of three levels: external, conceptual, and internal. The relational database model clearly separates and defines these three levels. The external level of a database defines how the user understands the organization of the data - there can be many external views of the database. The internal level defines how the data is physically stored and processed by the system. The conceptual level is an uncomplicated overview of the database which unifies the various external views into a coherent whole and does not include complicated details about data storage and management [Wikipedia 2, 2010]. ACM Journal Name, Vol. V, No. N, Month 20YY.

8

·

Kyle Hwang et. al.

The Relational Database Model is an alternative to the downfall of the flatfile model. By allowing designers to create separate but related flat-file tables for their data, the Relational Database Model makes it possible for users to input new data about records without restructuring the entire database. The addition of new information into the database is made easy by the model’s use of ”keys” to link the various Flat-File tables together. The ”keys” referred to in this model would be a piece of information about a record that appears in every Flat-File table, linking all of the components of the database together. This linking system allows a user to call for all the information related to a record by calling the ”key” for the record. An example of implementing the Relational Model would be the telephone company above using their clients’ telephone numbers as ”keys” to link all the data for a record together. In this way, when the telephone company adds a service or extra users to the line, they would just add another Flat-File table making sure to include the client’s telephone number as part of the table’s information. Thus, the company could have a separate table for general information about the client, billing statements for the client, and services subscribed to. The beauty of the relational model is that the appearance of the data for the user is unchanged. As long as the user knows what information they want from what ”key”, they will be able to obtain the information all at once on their screen [Whitehorn, 2008]. The Hierarchical Model. The Hierarchical Database Model is credited with being the first database model introduced by IBM in the 1960s. When E. F. Codd introduced his Relational Model in 1970, the Hierarchical Model phased out. This data model resurfaced, however, with the introduction of XML as a programming language in the late 1990s [Kamfonas, 1992]. In the Hierarchical Database Model, attributes of a record are related to the record in a tree-like fashion or hierarchy. This is also called a ”parent/child” relationship of the data. In this model, the data has a ”1:N”, also known as a 1:many, mapping which means that for every record, there can be many attributes, but those attributes are unique to that one record. The attributes (”children”) can ACM Journal Name, Vol. V, No. N, Month 20YY.

·

9

only have one ”parent”, but each parent can have many children [Kamfonas, 1992]. Again using the example of a telephone company, a parent flat-file table would be the general information about a client. A child table could be the listing of services that the client subscribes to while another could be their record of payment. The unique combinations of services subscribed to and the billing statements could only belong to one client. The Network Model. Charles Bachman is credited as the original inventor of the Network Model in 1969. In contrast to the Hierarchical Database Model which structured data in a tree and only allowed each child table to have one parent table, the Network Model allowed for a more fluid and natural organization of data and relationships. By allowing tables to have multiple parent and child tables connected to them, the network model seemed to be a more natural way of connecting data. Although this model of data organization was widely used, it failed to override the use of the Hierarchical Model and also phased out with the introduction of the Relational Model which turned out to be more flexible and convenient for companies to use [Bachman, 1973]. An example for the use of a network model, again in the context of a telephone company, would be the telephone company using a flat-file model for the clients’ general information as in the example above, but linking all of these client flat-file models to different service databases. The company might have a database for three-way calling. The three-way calling database would be a ”child” table to all of the ”parent” tables belonging to the clients subscribing to that service. The Object-Oriented Model. The most current model compared to those previously discussed is the Object-Oriented Database Model. This database structure combines the capabilities of a database and those of an object-oriented programming language capabilities. Considered for use in mainstream commercial data processing since the 1980s and 1990s but having little impact except in specialized areas in the Object-Oriented Model, data is represented in the form of objects as used in object-oriented programming rather than in rows and columns as in other ACM Journal Name, Vol. V, No. N, Month 20YY.

10

·

Kyle Hwang et. al.

management system models [Kim, 1990]. There are many advantages to this database model given the trends of our society. Technology and programming have become what drives our population, especially in this past decade. A trend in programming for the use of technology has been the increased use of object- oriented programming (OO programming). Because OO programmers prefer the objects approach to programming, using an object-oriented database is ideal for their line of work. In an object-oriented database, programmers are able to develop their product, store it as an object, and easily replicate or modify an object within the database. Because OO programmers highly prefer this type of database, most object- oriented databases are actually designed with programmers in mind and are easily compatible with such programming languages as Ruby, Python, Perl, Java, C#, Visual Basic .NET, C++, Objective-C, and Smalltalk. There are object-oriented databases, however, that use their own programming languages. These languages use exactly the same model as the previously mentioned OO programming languages. The fact that the objects-oriented database model is so intertwined with OO programming languages is ideal for programmers because they can maintain consistency in one environment rather than separating their programming and data environments [Bancilhon et. al., 1992]. Which Database Do Video Games Use?. As can be seen from the previous discussion, there are a wide variety of choices when it comes to someone choosing a database for their project. It can also be seen from the previous discussion, however, that video game programmers really only have one choice when it comes to a database for video games. Video games are largely developed through programming languages. Video games are known to be highly reliant on video, audio, and graphics. Looking at the database management systems above, the flat-file model, the relational model, the hierarchical model, and the network model were developed during a time when data consisted primarily of text. In modern-day society, it is widely understood that current data no longer only consists of text but also video, audio, graphics, ACM Journal Name, Vol. V, No. N, Month 20YY.

·

11

and photos. Out of all of the database management systems above, there is only one that was designed to handle all of the management of these types of ”complicated” files. The object- oriented management system was designed specifically to address the new trends in data and is definitely the choice among video game developers [Radding, 1995]. Reiterating the benefits of the object-oriented model, this model allows the team of game developers to develop their product, whether they are characters or objects in the game, store them as objects (in the data sense of the word), and easily replicate or modify existing objects to make new objects within the management system. The close correlation in models of representation between the Object-Oriented data system and the Object-Oriented coding used by game developers allows for more consistency in the environments that the game developers are working in. Without using this management system, game developers would be forced to keep the processes of coding and storing data separate which could cause inconsistencies between the environments [Burleson, 1994]. The Importance of Databases in Game Design and Game Play. In order to understand the role of databases in game design and play, we must first understand the various architectures and types of modern games. For the purposes of this discussion, we can categorize games based on their level of connection over a network. Using this classification, there are three categories of games. The first is the nonnetworked game which is played locally and has no interaction with other players over a network. For the purposes of this section, a network is defined to be an Internet connection. In order to add players to this environment, the other players must be local and connect to the console. The second is the non-persistent game which is connected over a network but has a game state that only exists for a single session. In this gaming environment, all progress in a game is lost when a player terminates play. The third is the persistent game which is connected over a network. This category could also be called the massively multiplayer online (MMO) games. In these games, the game states and game worlds often exist and change ACM Journal Name, Vol. V, No. N, Month 20YY.

12

·

Kyle Hwang et. al.

even when the player is not playing. A popular example of this type of game would be World of Warcraft (WoW). All of these categories of game play implement the use of database, but based on their differences, incorporate databases into their structure differently [White et. al., 2007]. Non-Networked Games. Although modern games designed without networking capability are rare, they still exist. In non-networked gaming, a key to longevity of the game is that it is ”data driven”. ”Data driven” refers to the characteristic that the game’s content is separated from the game’s code. This design style has several advantages both in the design phase and in the gaming market [White et. al., 2007]. In a data driven design process, the game studio is able to separate the game development between the programmers and game designers. Although both of these groups play an essential role in the game development, their skills are not necessarily over-lapping. The separation between the design and programming phases has three primary advantages. First, this allows the game studio to reuse the code or ”game engine”. The game studio can also license the code to other game studios. Third, this allows ”modders”, users who modify game data, to replace the old content of the game with new content to keep the game fresh. This characteristic of a game is often most appealing to gamers and can increase the life-span of a game [White et. al., 2007]. There are complex varieties of game content in non-networked games. ”Game content” is a vague term that is meant to include such things as the media of the game-character models, textures, and sounds and the data of the game which defines the story line of the game, the initial starting state of the game, and the scripting languages that define character behavior. With all of these components of the game needing to come together, it is obvious that these games require a complicated data management system [White et. al., 2007]. Non-Persistent Games. Non-Persistent games are games connected over a network but which do not allow a user to continue with a story line after the user ACM Journal Name, Vol. V, No. N, Month 20YY.

·

13

has terminated play. These games are similar in architecture to a non-networked game but with the added component of a network connection. With this added component, databases become increasingly helpful for game companies to gather data on the success of their games. Once a game is network connected, there are huge opportunities for game companies to incorporate the use of databases to monitor their games. When game monitoring, companies are interested in gathering demographic information and play-behavior from their users. Companies use this information to figure out what attributes of their games should continue to be implemented in future game design and what components need more work. Game companies also use this data to work on marketing strategies for future games. To gather and organize all of this data requires the more traditional use of tabular databases [White et. al., 2007]. Persistent Games. The category of gaming that uses databases to their fullest capabilities is persistent games, more specifically massively multiplayer online (MMO) games. In MMO game management, we see more of the traditional model of databases. Persistent games must always keep a log of the game state of all of their users because these games allow users to return the game state that they left at the termination of their last session. Databases must also be kept on client accounts and game actions. The game studios have to do so much data management in a data center for their clients that these games are actually sold as a service [White et. al., 2007]. Persistent gaming has the added complication of managing security. Hacking of clients and modifying them to cheat at a game is always a concern in networked gaming. In non-persistent gaming, once this behavior is recognized, the server can easily terminate the game session, reset, and override the issue. In persistent gaming, however, the game server cannot just terminate the session. The management of the world state of the game is handled entirely within the database so the game server must revert back to before the client was hacked and restore the session to that game state, again an application of managing data [White et. al., 2007]. ACM Journal Name, Vol. V, No. N, Month 20YY.

14

·

Kyle Hwang et. al.

Machine Learning Having a finished product that looks and sounds nice is wonderful but no one will buy it if the game itself is sub-par. To this end, the developers must devote a large amount of resources into ensuring that the game is interesting. When the game is the first of its kind, it may be able to overcome flaws in the game play, but for most games, keeping the interest of the player is a matter of providing a consistent level of satisfactory challenge. Video games can provide this challenge by offering the player a choice of competing against the computer or against other humans in a multi-player mode. While some games are entirely multi-player, almost all video games have a single player mode, in which the player competes against the pre-programmed artificial intelligence of the game. Artificial intelligence (AI) in a video game is designed to give the illusion that the computer is thinking and acting in a human like manner. This includes adopting various strategies and utilizing tactics to make the game competitive. The degree to which artificial intelligence works varies from game to game, with some games having poor, shoddy AI where the player can capitalize on errors made by the computer. On the other extreme, some games have AI that is so well thought out that the player feels as though he/she is playing another human. The problem facing the game developers when developing a game with a mass audience is how to provide a challenging experience that is rewarding for most gamers. However, many times gamers who play the single player mode of a game complain that the game is either too easy or too hard [Rosebaugh-Nordan, 2010]. If this difference in skill level between the player and computer opponent continues to be large, it is possible for the player to lose interest in the game. When a player loses interest in a game, not only do they stop playing the game, but they also could review the game negatively, and also not buy titles from the same developer in the future. It is thus in the game maker’s best interest to try to keep these games as competitive as possible. The easiest way to keep the games competitive ACM Journal Name, Vol. V, No. N, Month 20YY.

·

15

is through careful programming of the difficulty level of the AI. To this end, the standard solution has been two-fold: use multiple difficulty settings with differing parameters for game play in each difficulty, and ramp up the difficulty from the opening level to the final level. Ramping up the difficulty level is usually inherent in all games, as the player is expected to improve their skills as they become more experienced with the game, both by being more comfortable with the controls and by finding nuances and strategies that provide an edge to the player. As a player progresses through the single player campaign or storyline, with each level, the computer usually makes better decisions, exhibits faster ”reflexes” and game play, and behaves in a more player-like and strategically sophisticated way. Sometimes other aspects of the computer’s play are improved, such as units or equipment available attributes of these units, and starting position with respect to number of units or resources. On occasion, the computer displays completely new tactics and changes the basic types of units present, resulting in the player needing to come up with completely new strategies. This is accepted by many players as a necessary way to make the game fair and to provide a continued challenge. Sometimes, however, the player may find that the difficulty ramps too much for their skills, and gets frustrated after trying to beat a level hundreds of times. Overall, however, this practice is accepted by most of the players. Across genres, the applications of difficulty ramping vary. Racing games usually make the tracks harder, and sometimes have the opponents steer better. They also can equip the opponents with better parts, if the game allows for that. Sports games usually have no change in difficulty as the campaign (season) unfolds, the difficulty changes come from game play settings and the set attributes of the various teams or characters. Shooters generally increase the number of enemies as the game goes on, as well as their attributes, such as health and damage. In addition, they may introduce new, tougher enemies. Fighting games generally have the opponents react quicker, perform stronger moves, stand around less, and behave ACM Journal Name, Vol. V, No. N, Month 20YY.

16

·

Kyle Hwang et. al.

strategically as the player passes each stage. Adventure and platform games usually add more complex puzzles and obstacles each level, as well as increasing any potential enemies’ attributes. Puzzle games sometimes change the layout of the puzzle to provide a more difficult challenge, and can also add new elements to slow down the player, such as locked tiles or reduced time limits. Trivia games usually ask harder questions when the player gets the questions right [Wikipedia 3, 2010]. The difficulty ramping of role-playing games can take many forms, but by far the most common method is a combination of increased attributes of enemies and new, stronger enemies. Strategy games increase difficulty over time in a variety of ways. The real-time strategy games (RTS) make the computer faster, give the computer better starting positions and increase the difficulty of objectives. Turnbased strategy games (TBS) on the other hand increase the number of enemy units and increase the amount of resources available to the computer. These modifications seem to be effective for the average gamer. When it comes to different difficulties, the changes made vary widely from game to game. Many games have five difficulty levels, while others have three. These usually include an easier mode, a standard mode on which the game is designed to be played, and one or more harder modes, which are intended to give the seasoned veteran a challenge [Wikipedia 3, 2010]. The changes in game play between difficulty levels take on many forms across genres, all of which are designed to keep the game more competitive and interesting. One of these modifiers is a ”rubber band” model common in racing games. In this model, the player and computer vehicles act as if they were attached by a rubber band. When the player gets too far ahead, the computer- controlled vehicles receive a speed boost, and when the player falls too far behind, the computercontrolled vehicles slow down to allow the player a chance to get back in the race. On higher difficulty levels, the computer-controlled vehicles might move faster, crash less, and/or be on a tightened rubber band, that is there is a smaller trailing distance that triggers the speed boost when behind. This works to varying degrees ACM Journal Name, Vol. V, No. N, Month 20YY.

·

17

of effectiveness. For instance, when a player is performing well, they might get frustrated that they never can shake their pursuers, but when they are performing poorly, they might welcome the fact that they are not too far out of the race [Wikipedia 3, 2010]. Arcade racing games that operate on a time limit between checkpoints are programmed differently than console games without a time limit with regards to distinguishing between the difficulty levels. In most cases, the time limit is reduced on higher levels, and there is the potentiality for the computer drivers to race better [Wikipedia 3, 2010]. In sports games, when the difficulty level is increased, the opponents play much better. They are more aware, more accurate, and capitalize on human errors. RPGs, on the other hand, usually increase enemy attributes with each difficulty level. Increasing the difficulty level sometimes has other effects; for instance, the player’s characters could receive penalties or the computer could gain added abilities [Wikipedia 3, 2010]. In fighting games, the computer tends to react quicker, is more active and generally may have other bonuses on higher difficulty levels. Puzzle games usually get much trickier and more complicated, and those with a time limit usually see their time limit reduced. In addition, more obstacles may be encountered. Music and rhythm games often have many more actions that have to be performed and they are usually much closer together. Sometimes, these are even more complicated than their lower difficulty counterparts [Wikipedia 3, 2010]. Higher difficulties in strategy games bring a smorgasbord of changes. The types of changes depend on what particular type of strategy game it is. For TBS games, the player starts with fewer resources while the computer starts with more. The computer is more aggressive and often plays in a tactically superior manner. This means that the computer is often willing to follow strategies that require more gambling. For RTS games, higher difficulties bring about a more aggressive and faster computer that exhibits superior tactical prowess and ability to command ACM Journal Name, Vol. V, No. N, Month 20YY.

18

·

Kyle Hwang et. al.

multiple squads. Sometimes the amount of initial resources and units the computer starts with is increased along with the attributes of those units [Wikipedia 3, 2010]. Shooters can exhibit some of the most varied difficulty levels for video games. The major changes upon increasing difficulty level involve health, accuracy, and damage of enemies. Also, sometimes there are additional enemies or objectives to complete. Power-ups may disappear as well or may not be as effective [Wikipedia 3, 2010]. These changes are designed to provide a good balance of challenges across many different gaming skill levels, and many times they are satisfactory. However, the difficulty levels are pre-programmed into the game leaving little room for adjustment. Also, the difficulty levels are not normalized across games, that is, one game can have a normal mode that a particular person finds easy, whereas they cannot beat the easy mode on a similar game. This has led to complaints about the difficulty in some games being too hard and too easy [Eckrich, 2010]. Because it is in the developer’s best interest to provide a consistently stimulating game environment to the player, especially with games that can be played over and over, the importance of having appropriate difficulty levels cannot be understated. If the difficulty level is too hard, the developer risks alienating the casual gamer, whereas if the game is too easy, the developer could disappoint the hardcore gamer and reviewer. Finding a balance between these two types of gamers is crucial for the success of the video game, and that means finding an appropriate level of challenge for the most people possible [Rosebaugh-Nordan, 2010]. One possible idea is to allow for fine tuning of difficulty settings. To that end, some games have started using sliders and other bars. This is most evident in sports games. This method allows for a wide variety of options with regard to many aspects of the game. For instance, in a baseball game, if the player has trouble hitting but can pitch well they can adjust the difficulty of each particular part so that the computer can hit better but pitch worse. As these sliders usually have multiple values, they can be adjusted accordingly as the player improves. Effectively, this ACM Journal Name, Vol. V, No. N, Month 20YY.

·

19

adds a large amount of new semi-customized difficulty settings. These allow for a more challenging environment for the individual based on their own strengths and weaknesses. However, sliders are not a universal cure for the difficulty problem faced by developers. In some games (RPGs, puzzlers, platformers, etc.) it is almost impossible to implement them. In others, adjusting the sliders is difficult and cumbersome especially when combined with difficulty ramping. Another more subtle problem with sliders, is that they are still discrete settings. A player may find themselves wanting to play an opponent with a skill level between those allowed by the sliders. Additionally the developers have to set limits as to what the easiest and most difficult settings would be. This is especially important if the sliders replace actual set difficulty levels. Skilled gamers may still find that the game does not provide enough of a challenge. One theory is that to get the most realistic and most consistent challenge available from a video game, the computer should think and act as human-like as possible to emulate the act of playing another person. Sliders are an improvement on a few static difficulty levels but they fail to improve on the computer’s patterns of behavior with regard to acting in a human way. Humans can acquire behaviors and patterns through conditioning, a process in which behaviors are reinforced through rewards and repetition. Recently, computer scientists have found a way to ”condition” a computer’s response. This process is called machine learning. When a program learns, it improves its performance in a particular task with experience. This can be applied to video games with respect to the level of challenge the game provides the player. Ideally, the computer provides the player a challenge that is on par with the player’s skill levels and adapt to the player’s tactics when the player desires [Wikipedia 3, 2010]. These adaptations can be implemented in various ways. One way is to collect data from each game and use it to formulate new, more effective strategies to counteract the player’s tactics. These strategies might be taken from a list of tactical ploys ACM Journal Name, Vol. V, No. N, Month 20YY.

20

·

Kyle Hwang et. al.

stored in the game. One of the advantages of this method is that it is not draining on the computer’s resources, as the game performs its analysis while it is not actively running. This also has the advantage that the player can refine a new strategy before the computer implements an effective counterstrategy, as it takes the computer at least a few trials (games) to come up with the counterstrategy. The major downside of this method is that it is slow to adapt to new player strategies. This approach is effective in video games based on customizable card games (CCGs), as it takes a while to analyze the player’s deck, which may be in constant flux. It can also be effective in RPGs, as the computer can change the frequency that it uses special abilities based on the equipment the player’s characters are using and the style of play of the player. Fighting games could also utilize this technique to make the game more challenging, as cheap strategies by the player could be countered. This would force the player into thinking more and picking their spots. The other type of learning that can be implemented is one that takes place in real-time. This requires the computer to analyze the player’s strategy as the game is progressing, and modify its tactics in the same game when it recognizes a player’s strategy. The advantages of this method are that the computer can quickly modify its strategies to make the game instantly more challenging and that the computer behaves more like a human would, able to change strategies mid-game if it realizes the need to. The major disadvantage is that the game would be utilizing more resources, and thus potentially be running slower. A more subtle disadvantage is that the multitasking capabilities of the computer could become more evident as the computer shifts strategies in multiple areas at once. This type of learning is particularly suited to strategy games, especially those of the real-time variety. Shooters can use this type of learning as well as action RPGs. The main advantage of using either method of learning is that the computer can provide a suitable challenge for each player by dynamically adjusting its level of play either up or down, depending on whether the player is strong or weak. The computer is able to play more like a human, which gives the player more appropriate ACM Journal Name, Vol. V, No. N, Month 20YY.

·

21

practice for multiplayer modes. Though the second method is more dynamic and allows for more experimentation, it is also harder to program than the first method, which is already difficult to implement. The ways that the player would observe the learning differ from genre to genre. In RTS games, the computer changes its strategy to make the player play to the best of their ability. Puzzle games alter the amount of time and challenge of the puzzles based on the performance of the player, while CCGs modify the composition of the computer decks and the way the computer plays the cards. Shooters change the aim, damage, and health of the enemies based on how much damage the player takes and other variables. Fighting games modify the opponent’s combat style to more effectively deal with the player’s tactics. These dynamic adjustments allow for a more competitive and immersing game, holding the player’s interest for longer. However, sometimes the player does not want to have a challenge, or wants to see if they have improved, so it is still advisable to have some way to cater to these players. Computer Security Place in Society. According to a leading market research company, The NPD Group, the video game industry grossed $20 billion in revenue on sales of hardware, software and accessories for the year 2009 just in the United States alone. In that same time, domestic box office sales only made $10.6 billion according to Box Office Mojo, a movie industry website. This disparity in revenue shows the extent to how prevalent video games have become in our society. Most people consider video games to be a source of entertainment. And indeed it is. For many people, video games are a social pleasure. They are a distraction from the daily grind of work or school, often times too much of one [Poole, 2000]. Video games have become such a presence in our society that it has become a part of pop culture. Video games like Mortal Kombat and Tomb Raider have inspired movies, and to a lesser extent, television shows, and vice versa. American and Japanese cultural concepts have crossed the divide of the Pacific Ocean [Yan ACM Journal Name, Vol. V, No. N, Month 20YY.

22

·

Kyle Hwang et. al.

and Randell, 2005]. Video games have not only become a source of entertainment for people, but a force to be considered in driving revenue and research and development in other industries. Because consoles are a collection of electronic parts, the semiconductor industry has benefited from the video game industry. Early games and consoles used extensive memory chips and require large monitors, making them cheaper to produce. The IT industry has also made significant progress as video games have become more complex [Yan and Randell, 2005]. Again, the evolution of the console has fueled the growth of the personal computer, Internet and computer networks. The research and development of video games has led to the advancements in the production of televisions and recordable media. In whole, video games are at the forefront of the development of consumer graphics hardware and software. Last but not least, the gaming industry has spawned whole new fields in the computer industry such as [computer] security.

An Overview. According to Wikipedia, computer security is a branch of computer technology know as information security as applied to computers and networks. Objectives include protecting information and property from theft while allowing access to them to intended users. Computer security as it relates to computer games such as console, PC and online games is a growing field as game makers try to crack down on the hacking and cracking of their games by using digital rights management techniques and other methods. This section will examine the field of computer security and video games. We will discuss how computer security has evolved from the first games to the popular online games nowadays. The paper will talk about how game creators protect their products and prevent players from cheating. In conclusion, we will discuss what other security efforts have been undertaken by those involved other than game designers to secure the rights of those that produce video games. ACM Journal Name, Vol. V, No. N, Month 20YY.

·

23

The Evolution of Computer Security in Video Games As mentioned earlier, the earliest games were played on mainframe computers. There were not many security worries at that time. Even if there were, they were largely ignored. Programmers had more important concerns to deal with. The only known instance of a concern for security was a unique access control feature implemented on a Cambridge University computer. This feature restricted access to data to only authorized users and programs [Yan and Randell, 2005]. Arcade Games. Arcade games, which became popular in the late 1970s and early 1980s, also had very few security worries. They were located in shopping malls, restaurants and convenience stores usually. The only security concern for arcade games was the coin boxes that stored the quarters that it cost to play the games. The solution was to put the games in safer locations and to use more secure coin boxes [Yan and Randell, 2005]. PC Games. Security concerns for PC games have always been an issue. Since they come on transferable, removable storage media such as diskettes and CDs, unauthorized duplication or usage of PC games has always been very easy to carry out. There have been efforts to thwart unauthorized duplication of CDs by game manufacturers such as data encryption, registration keys and copy protection systems. More recently, PC game developers have used digital rights management techniques to overcome security issues. Some games limit the number of computers the game can be installed on by requiring authentication with an online server. Other games can only be downloaded online through a third-party digital distribution platform such as Steam. Then there are games that require an Internet connection because installation only installs parts of the game with the other parts being downloaded as the game progress; however, this management technique has been overcome by illegal server emulation techniques. So the general public has been able to mostly overcome these restrictions. Thus game developers have been phasing out production of PC games requiring in favor of console games since copyACM Journal Name, Vol. V, No. N, Month 20YY.

24

·

Kyle Hwang et. al.

right protection and digital rights management techniques have proved to be mostly futile for computer game makers[Wikipedia 4, 2010]. The Entertainment Software Association estimates that in 2007, global piracy cost the U.S. entertainment software industry more than $3 billion [Chang, 2010]. Console Games. Console games manufacturers have been more successful at implementing copy protection mechanisms. The majority of security efforts in console games early on were aimed towards locking in customers to their hardware. Nintendo was the first to employ these security measures and they are still used today to some extent. What Nintendo did was to develop a lock-and-key-like system. They incorporated security chips in their consoles and game cartridges which communicated with each other via a shared secret key. The games would only work if the chips in the console and cartridge were communicating with each other. If Nintendo cartridges were to be used on non-Nintendo consoles or non-Nintendo cartridges were to be used on Nintendo consoles, the games would not run at all. No one could manufacture their own games or consoles without Nintendo approval [Yan and Randell, 2005]. Not only did Nintendo protect their products through technology, they also protected themselves through legal action. Nintendo filed patents and copyrights on their security practices. They would actively take on competitors who breached their patents and copyrights. The company took advantage of their patents and copyrights to restrict production of cartridges and consoles. These actions served to deter counterfeiters and much more. However, there were still some security problems for Nintendo. Counterfeit game cartridges and game consoles produced and sold by rivals tried to duplicate what Nintendo had created for themselves. Nintendo spent much time in the courts to protect their investment from imitators and competitors alike [Yan and Randell, 2005]. The technology for consoles and cartridges has progressed rapidly, both with consoles and storage media for games becoming more advanced. In addition, the computer security that is involved with protecting the product of these video game ACM Journal Name, Vol. V, No. N, Month 20YY.

·

25

developers has become more advanced. Cartridges have become CDs, Blu-Rays, DVDs and Mini Discs while consoles have become more and more complex and intricate. These discs face some of the problems that PC games discs face, but the issue of computer security has not been as prevalent. Again, digital rights management techniques have been used to prevent piracy, but with more success than before. Advancements in the lock-and-key-like system that had been incorporated into the earlier console game have proved to be a successful deterrent. Over the years, other companies such as Sony and Microsoft have gotten into the business of making consoles and games. They have followed Nintendo’s lead to protect their products through technology and legal action. For example, DVDs for the Xbox by Microsoft cannot be duplicated by conventional DVD-Rs. The DVD drive on an Xbox computes the angular distance between data sectors on a disc. An original Xbox DVD returns different values than a counterfeit one. The Sony PlayStation Blu-Ray has a mark that cannot be duplicated by DVD-Rs [Wikipedia 5, 2010]. Nonetheless, there is still concern that hackers can break through the technology and security techniques behind console games again [Yan and Randell, 2005]. Online Games. With the advent of online games, a revolution in the way video games is played has taken place. This revolution has also essentially changed computer security as it pertains to video games. Online games such as World of Warcraft typically provide the software to play their games either as free or with a nominal fee. They usually charge a monthly fee for a user to play. The user has to log onto servers to play the game. As a result, some security issues like piracy are a thing of the past. Nevertheless, there are still issues related to computer security, some problems whose complexity are greater than the problems traditional video games have faced in the past and present [Yan and Randell, 2005]. Some new issues that online games have encountered are privacy and access control. Since these games are online, networks have to be safe to host games. The introduction of monthly fees requires that payments have to be made over a ACM Journal Name, Vol. V, No. N, Month 20YY.

26

·

Kyle Hwang et. al.

secure server in which payment information is stored. Player information has to be protected from hackers. One of the most interesting things about online game security is the very design of the servers [Biancuzzi, 2007]. The network has many users simultaneously accessing it through the Internet. The virtual world housed on the servers that the users live and play in is enormous. Online gaming sites have to maintain stability in this virtual world. It is impossible for gaming site operators such as Activision and Blizzard Entertainment (the makers of World of Warcraft) to do this alone. In order to maintain stability, part of the world has to live on the user’s computer for efficiency. This is the part of the software that the user buys or downloads, and which synchronizes with the game servers frequently. There is no guarantee of security on the user’s computer. Hackers and cheaters can now upset the balance of the virtual world through the user’s computer. With maybe hundreds of thousands of users at one time, the virtual world is indeed unsafe. One solution is to emphasize security on the server-side (site operator) rather than client-side (user). An anomaly detection system on the server is one way to go. Other ways to promote computer security is to remove bugs and flaws and have attacker-perspective based testing. Then again, some of these problems are not new. These concerns are shared with other Internet applications and there has been rapid growth in their respective fields. But there are differences between businesses doing business online and gamers playing a game online [Hoglund and McGraw, 2008]. Recent research has suggested that cheating is [in fact] a major new security concern for online computer games [Yan and Randell, 2005]. There has not been much studying done on cheating because online computer games are relatively new. However, cheating is definitely prominent. There currently is no universally accepted definition for cheating in online games or laws prohibiting it. We will define cheating in online games as behaviors that modify the game experience to give one player an unfair advantage over others without the approval of the game service provider or developer of the game. It would be wise for online game developers to study cheatACM Journal Name, Vol. V, No. N, Month 20YY.

·

27

ing for the purpose of implementing more effective security measures to prevent it and to contribute to the study of computer security as a whole. There are several types of cheating common to online games such as World of Warcraft. One common method is the selling of virtual characters and items in a real world market. Players of such games can make a lot of money or gain unfair advantages over other players doing so. Another type of cheating is unauthorized access to players’ accounts. Often, the only protection players have to protect their information and online accounts are usernames and passwords. Hackers write Trojan horses to collect usernames and passwords so they can loot players’ characters and accounts. Yet another way to cheat is to modify game code or data. Hackers edit the game code in programs separate from the game itself, circumventing security measures taken by game developers. This is a process known as reverse engineering of software. Online gamers can cheat by exploiting a bug or loophole as well. When a bug or loophole is discovered, it can give gamers’ a major, unfair advantage. For example, in the game Habitat by Lucasfilm, characters in the game sold virtual items to a pawn shop at a higher price than what they paid to get them and padded their virtual bank accounts. Other ways of cheating include finding cheat codes to gain an advantage over one’s opponent, slowing down streams of data and connections of players, altering game settings and uncovering sensitive information about opponents that is otherwise unavailable to other users [?] There are no laws governing these types of behaviors so it is not illegal per se [Hoglund and McGraw, 2008]. So what can be done about cheating in online games? There is anti-cheat software, technology whose aim is to prevent cheating. But this software is limited in what it can do. Bugs and loopholes can be combated by game developers by releasing patches, but most patches are only installed at the gamers’ discretion, not the developers. Some online game companies ban players who cheat, disabling their accounts. But these players just create other accounts. These techniques are not very successful, to say the least [Wikipedia 6, 2010]. ACM Journal Name, Vol. V, No. N, Month 20YY.

28

·

Kyle Hwang et. al.

More successful methods used to prevent game cheating include client data file checksums and non-standard data file storage. Checksums are numerical values assigned to digital data files. For online games, game data files on clients’ computers are checked against game files on the servers’ computers via checksums before clients can log onto game servers. If game code or data has been altered in any way, log in to game servers are denied. After files are checked, they cannot be altered in any way until the game is no longer in progress. This provides double protection against cheaters who modify files; they cannot log in or modify files during game play. With non-standard data file storage, files are stored without names and directory structures in databases. There are files that store game data and files that know how and where to access the files that store game data. The game is programmed in a way such that the files that know how to access the game data are accessed first by the game and directed in the right direction [Wikipedia 6, 2010] Government Action. There is action being taken that relates closely to computer security in the gaming industry [Hoglund and McGraw, 2008]. Most of the laws in existence govern copyright infringement. Copyright has only recently been expanded to include software programs. The Digital Millennium Copyright Act (DCMA) makes the circumvention of digital rights management techniques a crime. Software manufacturers have been granted permission to clamp down on pirates without court intervention. Entities that circumvent computer security measures can be prosecuted to the fullest extent [Wikipedia 7, 2010].

The Future While gaming incorporates database technology in aspects of design and management, not all categories of gaming use databases to their fullest capability. New avenues in data research will make it possible for commands during game play and the inner workings of the game engine to run smoothly and cause less lag time. As the technology and research into machine learning improves, the quality of these adjustments will continue to be refined and improve. While some games alACM Journal Name, Vol. V, No. N, Month 20YY.

·

29

ready implement the principle of learning, many do not. In the future, learning will become more widespread among video games, and the AI will seem more and more human. This will lead to increased quality of video games, and a more challenging environment that is relatively stable with respect to difficulty for the player. Eventually it is possible for the distinction between human reactions and AI play to become blurred and perhaps disappear entirely. What does the future hold for computer security? No one knows for sure. The technology to prevent piracy and cheating will continue to improve, but unfortunately, so will the technology that is used to sustain piracy and cheating. Laws will be passed that address these issues and penalties made stiffer for those who break those laws. But human beings will be human. So will this stalemate continue? Or will one side defeat the other? The former is more likely. REFERENCES Bachman, C. ”The Programmer as Navigator”. Communications of the ACM. 1973. Bancilhon, F., et. al. Building an Object-Oriented Database System: The Story of O2 . Morgan Kaufmann Publishers. 1992. Biancuzzi, F. ”Real Flaws in Virtual Worlds”. Security Focus. 20 December 2007. Burleson, D. ”OODBMs Gaining MIS Ground but RDBMSs Still Own the Road”. Software Magazine. 1994. Chang, O. ”The Cost of Privacy”. GamePro. 29 July 2010. Eckrich, J. ”Too Easy? Change the Difficulty Setting”. The Examiner. 2010. Ferguson, K. ”Most Common Types of Databases”. 2009. Ford, D. ”Entertainment and the Source of Video Games: Still Alive and Thriving”. The Examiner. 2010. Hoglund, G., McGraw, G. Exploiting Online Games. Addison-Wesley, Upper Saddle River, NJ. 2008. Kamfonas, M. ”Recursive Hierarchies: The Relational Taboo!” The Relational Journal. October/November 1992. Kent, S. The Ultimate History of Video Games. Prima, Roseville, CA, 2001. Kim, W. Introduction to Object-Oriented Databases. The MIT Press. 1990. Loshin, P. ”Relational Databases”. Computer World. 2001. ACM Journal Name, Vol. V, No. N, Month 20YY.

30

·

Kyle Hwang et. al.

Melanson, D. ”A Brief History of Handheld Video Games”. Engadget. 2006. Poole, S. Trigger Happy: Video Games and the Entertainment Industry. Arcade Pub, New York. Radding, A. ”So What the Hell is ODBMS?” Computer World. 1995. Rosenbaugh-Nordan, S. ”Difficulty in Video Games: Overcoming Challenges and Wasted Time”. 2010 White, W., et. al. Database Research Opportunities in Computer Games. Cornell University, Ithaca, NY. 2007 Whitehorn, M. Inside Relational Databases. Springer, London. 2008. Wikibook. Video Game Design/Introduction/Components. 2010. Wikipedia 1. Database Models. 2010. Wikipedia 2. Databases. 2010. Wikipedia 3. Difficulty Level. 2010. Wikipedia 4. Digital Rights Management. 2010. Wikipedia 5. Copy Protection. 2010. Wikipedia 6. Cheating in Online Games. 2010. Wikipedia 7. Copyright Infringement of Software. 2010. Yan, J, Randell, B. Security in Computer Games: From Pong to Online Games. University of Newcastle upon Tyne Press, Newcastle upon Tyne. 2005.

ACM Journal Name, Vol. V, No. N, Month 20YY.