NOTE TO USERS

This reproduction is the best copy available.

UMI®

AN AGENT-BASED NOVEL INTERACTIVE FRAMEWORK FOR UBIQUITOUS

ELECTRONIC ENTERTAINMENT

A Thesis

Submitted to the Faculty of Graduate Studies and Research

In Partial Fulfillment of the Requirements

for the Degree of

Doctor of Philosophy

in Electronic Systems Engineering

University of Regina

by

Witcha Feungchan

Regina, Saskatchewan

May, 2009

Copyright 2009: W. Feungchan Library and Archives Bibliotheque et 1*1 Canada Archives Canada Published Heritage Direction du Branch Patrimoine de I'edition

395 Wellington Street 395, rue Wellington OttawaONK1A0N4 Ottawa ON K1A 0N4 Canada Canada

Your file Vote reference ISBN: 978-0-494-55141-7 Our We Notre reference ISBN: 978-0-494-55141-7

NOTICE: AVIS:

The author has granted a non­ L'auteur a accorde une licence non exclusive exclusive license allowing Library and permettant a la Bibliotheque et Archives Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par I'lnternet, preter, telecommunication or on the Internet, distribuer et vendre des theses partout dans le loan, distribute and sell theses monde, a des ftns commerciales ou autres, sur worldwide, for commercial or non­ support microforme, papier, electronique et/ou commercial purposes, in microform, autres formats. paper, electronic and/or any other formats.

The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in this et des droits moraux qui protege cette these. Ni thesis. Neither the thesis nor la these ni des extraits substantiels de celle-ci substantial extracts from it may be ne doivent etre imprimes ou autrement printed or otherwise reproduced reproduits sans son autorisation. without the author's permission.

In compliance with the Canadian Conformement a la loi canadienne sur la Privacy Act some supporting forms protection de la vie privee, quelques may have been removed from this formulaires secondaires ont ete enleves de thesis. cette these.

While these forms may be included Bien que ces formulaires aient inclus dans in the document page count, their la pagination, il n'y aura aucun contenu removal does not represent any loss manquant. of content from the thesis.

1*1 Canada UNIVERSITY OF REGINA

FACULTY OF GRADUATE STUDIES AND RESEARCH

SUPERVISORY AND EXAMINING COMMITTEE

Witcha Feungchan, candidate for the degree of Doctor of Philosophy in Electronic Systems Engineering, has presented a thesis titled, An Agent-Based Novel Interactive Framework for ubiquitous Electronic Entertainment, in an oral examination held on May 4, 2009. The following committee members have found the thesis acceptable in form and content, and that the candidate demonstrated satisfactory knowledge of the subject material.

External Examiner: Dr. Pierre Boulanger, University of Alberta

Supervisor: Dr. Luigi Benedicenti, Software Systems Engineering

Committee Member: *Dr. Christine Chan, Software Systems Engineering

Committee Member: Dr. Raman Paranjape, Electronic Systems Engineering

Committee Member: Dr. Daryl Hepting, Department of Computer Science

Chair of Defense: Dr. Tanya Dahms, Department of Chemistry and Biochemistry

*Not present at defense ABSTRACT

Nowadays, computer and video games are growing fast and are becoming more and more sophisticated in terms of the quality of graphics and Artificial Intelligence (AI).

Both of these elements increase the level of immersion and believability, and therefore enjoyment, of a game. However, most users remain in front of their computer or television playing games for a long time, which is unhealthy both physically, due to lack of exercise, and mentally, due to the fact that certain games cause users to be isolated from society and even their family.

A solution to these problems is to create games that take advantage of the high level of immersion of current games while turning users away from their computers or televisions in order to let them experience social interaction and physical activities in the real world, thus expanding the games interactivity model. The hypothesis of this thesis is that adding ubiquity, an expanded interactivity model, and believable in-game characters to current games can bring new experience, engagement, enjoyment, and immersion for users, while simultaneously promoting both exercise and socialization.

This thesis presents a thorough literature review on the state of the art on electronic entertainment, with particular regard to computer and video games. A new type of gameplay is proposed for solving the above-detailed issues that includes the characteristics of ubiquity, interactivity, and believability. The thesis contains a proposal for a framework implementing a new type of gaming concept, and a prototype to demonstrate the concept. The thesis also proposes a new game evaluation model that can be used to estimate the entertainment value of a computer game from the design stage to the final product.

i This thesis proposes a new type of gameplay, one which allows users to play a

Massively Multiplayer Online Role Playing Game (MMORPG) regardless of the player's location or connection to the Internet. In addition, the gameplay is integrated with the concept of rich social interaction which allows many users to participate simultaneously with the game and with each other in both the game and physical worlds.

This research also proposes a general framework for the new gameplay using mobile agent technologies as the main architectural element of the framework, which is generic enough to be able to be adapted and extended into future applications. To demonstrate the soundness of the concepts at the basis of the general framework, a prototype is developed: "Ramakian Online Game (ROG)."

ii ACKNOWLEDGEMENTS

This thesis would not have been completed without the encouragement, guidance, and patience of the following people:

• Dr. Luigi Benedicenti, my supervisor, who helped me with encouragement and

patience in all the studying, research, and writing of this thesis. I am grateful to

him for giving me opportunities to have meaningful learning experiences.

• Koragod Saenchai who motivated and assisted me to come to study in Canada. I

really appreciate all of your help.

• The Government of Thailand who provided a full scholarship for my study in

Canada.

• The Faculty of Graduate Studies and Research who provided financial support

through Graduate Scholarships and Graduate Teaching Assistantships from 2005

to 2007.

• The Faculty of Engineering who provided financial support through a Ph. D.

Student Award and Teaching Assistant positions.

• TRLabs Regina who provided the essential technologies for this work. Also, all

members in the agent meeting group for sharing their knowledge and providing

many helpful suggestions.

• Songsiri Srisawangrat, my wife, without whom it would have been impossible for

me to finish this work. I deeply appreciate your love, support, and understanding.

• Sumrit-Jiraporn Feungchan, my parents, who encouraged me to pursue a Ph.D.

degree in Canada.

• Parinya Feungchan and Kasemsak Phoosri for their art work.

111 POST DEFENSE ACKNOWLEDGEMENTS

I would like to gratefully acknowledge the external examiner Dr. Pierre Boulanger and all committee members Dr. Daryl Hepting, Dr. Christine Chan, and Dr. Raman Paranjape for their precious time and comments on this thesis. I am also thankful to my supervisor Dr.

Luigi Benedicenti for his supervision and guidance during these five years.

IV TABLE OF CONTENTS

ABSTRACT i LIST OF FIGURES ix 1 INTRODUCTION 1 1.1 Motivation 1 1.2 Original contribution 3 1.3 Objectives 5 1.4 Document overview 6 1.5 Sample scenarios 7 2 BACKGROUND & LITERATURE REVIEW 10 2.1 Computer and video games 10 2.1.1 Definition and classification 10 2.1.2 Gaming devices 14 2.2 Interactivity 22 2.2.1 Game interactivity 23 2.2.2 Social interaction in games 24 2.2.3 Considerations for interactivity 25 2.3 Massively multiplayer online role-playing games (MMORPGs) 26 2.3.1 MMORPGs characteristics 27 2.3.2 MMORPGs classification 29 2.3.3 Advantages and disadvantages of MMORPGs 29 2.4 Ubiquitous and pervasive games 31 2.4.1 Definition 32 2.4.2 Classification 32 2.5 Supporting technologies 39 2.5.1 Mobile agent technology 40 2.5.2 Virtual reality 48 2.6 Believability and AI in games 53 2.6.1 Non player characters (NPCs) 54 2.6.2 AI techniques in Games 60 2.6.3 Turing test 63 2.7 Introduction to game evaluation 64 2.7.1 Academic game evaluation 65 2.7.2 Industrial game evaluation 67 2.8 Conclusions 68 3 GAME EVALUATION 72 3.1 Evaluation criteria 74 3.2 Evaluation analysis 76 3.3 Evaluation model 79 3.4 Case study 82 3.5 Conclusions 84 4 SOLUTION DESIGN 85

v 4.1 Scope of work 86 4.2 Game design criteria 87 4.3 Game development framework 88 4.4 Game architecture 89 4.5 Game client 91 4.5.1 agent 92 4.5.2 User interface agent 93 4.5.3 Interaction agent 94 4.5.4 Hardware interface driver agent 94 4.5.5 NPC agents 95 4.5.6 Assistant agent 96 4.6 Game server 97 4.6.1 Game world agent 98 4.6.2 Game server data store components 100 4.6.3 Creator agent 101 4.6.4 Registry agent 102 4.6.5 Communicator agent 102 4.6.6 Monitor agent 102 4.6.7 Backup agent 103 4.6.8 Server tools 103 4.7 Interactive environment 104 4.7.1 Interactivity model 105 4.7.2 Game sub-server 108 4.8 Believable NPCs 109 4.9 Evaluation of game development framework 110 4.10 Risk issues 111 4.11 Conclusions 114 5 PROTOTYPE DESIGN AND IMPLEMENTATION 115 5.1 Game design 116 5.1.1 Introduction 117 5.1.2 Concepts 117 5.1.3 Specification 119 5.1.4 Game world 120 5.1.5 Goals, gameplay and rules 121 5.1.6 Quests 123 5.1.7 User interface and control 129 5.1.8 Visual 133 5.1.9 Sound 136 5.1.10 Believable NPCs 137 5.1.11 Game architecture 151 5.1.12 Game editor tools 151 5.2 Implementation 152 5.2.1 Game server 152 5.2.2 Game client 155 5.3 Verification and validation 160 5.3.1 Unit testing 160

VI 5.3.2 Integration testing 168 5.3.3 Validation 176 6 TESTING AND RESULTS 178 6.1 Purpose 178 6.2 Methods 179 6.3 Procedure 180 6.4 Analysis 180 6.5 Results 181 6.5.1 Participant demographics 181 6.5.2 Quest one: "Ask 'Guru' how to find the 'Orchid'" 182 6.5.3 Quest two: "Collect the'Orchid'" 182 6.5.4 Quest three "Capture 15 invisible birds" 184 6.5.5 Quest four "Find a 'magic element'" 185 6.5.6 Quest five "Reach level 13" 186 6.5.7 Social interaction results 187 6.5.8 Believability results 187 6.5.9 Level design results 189 6.5.10 Game evaluation results 190 6.6 Discussion 192 6.7 Ramakian online game postmortem 194 7 CONCLUSIONS AND FUTURE WORK 195 7.1 Summary of research 195 7.2 Contribution of research 196 7.3 Future work 198 Appendix A User Study 200 Appendix B Evaluation factors 213 Bibliography 217

vii LIST OF TABLES

Table 2.1 MMORPGs classification by genre of highly rated games on www.MMORPG.com 29 Table 3.1 Evaluation criteria 80 Table 3.2 Test case of evaluation model 82 Table 4.1 Game design criteria 88 Table 4.2 Platform configurations list 93 Table 4.3 Interaction agent's features 94 Table 4.4 Evaluation of game development framework 110 Table 5.1 The ROG specification 120 Table 5.2 Basic rules 122 Table 5.3 User interface and control design criteria 129 Table 5.4 Path finding algorithms comparison 142 Table 5.5 Chase chance input range 146 Table 5.6 NPC's behavior input range 147 Table 5.7 Decision rule matrix 148 Table 5.8 Conditional probability table for defensive strategy 149 Table 5.9 Conditional probability table for attack prediction 150 Table 5.10 Game server components 154 Table 5.11 Interactions service feature 158 Table 5.12 Game server command messages 171 Table 5.13 Game server messages and its response 171 Table 5.14 Game client testing results 172 Table 5.15 ROG testing results 173 Table 6.1 Participant demographics 181 Table 6.2 Quest two results 183 Table 6.3 Quest three results 184 Table 6.4 Quest four results 186 Table 6.5 Socail interaction results 187 Table 6.6 Believability results 188 Table 6.7 Overall game evaluation results 190 Table 6.8 ROG's game evaluation score 191

viii LIST OF FIGURES

Figure 3.1 Histogram of regression standardized residual 81 Figure 3.2 Normal P-P Plot of regression standardized residual 82 Figure 4.1 Game architecture 90 Figure 4.2 Game client architecture 91 Figure 4.3 Game server architecture 98 Figure 4.4 Game server agents collaboration 99 Figure 5.1 Overview of ROG 118 Figure 5.2 Game world map 121 Figure 5.3 Video interactive environment design 126 Figure 5.4 Template matching 127 Figure 5.5 ROG interface design 130 Figure 5.6 ROG interface design pop-up menus 130 Figure 5.7 ROG help page 132 Figure 5.8 Character artwork 134 Figure 5.9 Sprite sheet 135 Figure 5.10 Game map editor 136 Figure 5.11 Believable NPCs conceptual design 138 Figure 5.12 State machine of believable NPCs 140 Figure 5.13 Chase or evade decision 145 Figure 5.14 Membership sets for chase chance and NPCs behaviour 147 Figure 5.15 Defensive strategy network 148 Figure 5.16 Attack prediction network 150 Figure 5.17 ROG's game server architecture 153 Figure 5.18 ROG's game server console 155 Figure 5.19 ROG's game client architecture 156 Figure 5.20 ROG interoperability 175

IX LIST OF ABBREVIATIONS

ACL Agent Communication Language

AI Artificial Intelligence

API Application Programming Interface

ARPA Advanced Research Projects Agency

CAD Computer Aid Design

CDMA Code Division Multiple Access

CLIMATE Cluster for Intelligent Mobile Agents for Telecommunication

Environments

CORBA Common Object Request Broker Architecture

CPU Central Processing Unit

DCOM Distributed Component Object Model

DOF Degrees Of Freedom

FIPA Foundation for Intelligent Physical Agents

FPS First-Person Shooter

GPRS General Packet Radio Service

GPS Global Positioning System

GSM Global System for Mobile Communications

GUI Graphic User Interface

HDTV High-Definition Television

HMD Head-Mounted Display

IBM International Business Machines

IDE Integrated Development Environment IPerG Integrated Project on Pervasive Gaming

J2ME Java 2 Platform, Micro Edition

J2SE Java 2 Platform Standard Edition

JAR Java Archive file format

JVM Java Virtual Machine

KIF Knowledge Interchange Format

KQML Knowledge Query Manipulation Language

LAN Local Area Network

LARP Live Action Role-Playing

MA Mobile Agent

Mac Macintosh

MASIF Mobile Agent System Interoperability Facility

MMOG Massively Multiplayer Online Game

MMORPG Massively Multiplayer Online Role-Playing Game

MUD Multi-User Dungeon

NASA National Aeronautics and Space Administration

NES Nintendo Entertainment System

NPC Non-Player Character

NP-hard Nondeterministic Polynomial-time hard

OMG Object Management Group

PCMCIA Personal Computer Memory Card International Association

PDA Personal Digital Assistant

PSP PlayStation Portable RF Radio Frequency

RFID Radio Frequency Identification

RMI Remote Method Invocation

RPG Role-Playing Game

RTS Real-Time Strategy

SDIO Secure Digital Input/Output

SNES Super Nintendo Entertainment System

SSL Secure Socket Layer

TEEMA TRLabs Execution Environment for Mobile Agents

USB Universal Serial Bus

VE Virtual Environment

VR Virtual Reality

WLAN Wireless Local Area Network

XML Extensible Markup Language

xii 1 INTRODUCTION

This chapter introduces the overall research and the thesis structure. First, the motivation and the background of the research are discussed in section 1.1. Second, original contributions are briefly described in section 1.2. Third, the research's objectives are presented in section 1.3. Section 1.4 includes the structure of this thesis which might be useful for reading it. The last section, 1.5, presents the sample scenarios to illustrate the idea of the thesis. This research focuses on electronic entertainment with particular regard to the computer and video games; the word "game" hereinafter refers to computer and video games for the rest of this thesis.

1.1 Motivation

Nowadays, games are growing fast and are reaching an increasingly wide range of users [1]. Games, like books, movies, and music, are a popular form of entertainment in our culture [2, 3]. Many people entertain themselves by playing games [1, 4]; the key to making a successful game, therefore, is to make the game fun. Users will not continue to play a game if they do not enjoy it [5]. People will have fun in games if they are immersed and engaged by the game's environment [2, 6].

Gaming technologies are becoming more and more sophisticated. For example, users are able to play games on many platforms, such as computers, game consoles, portable gaming devices, personal digital assistants (PDAs), and mobile phones. Games are constantly improving in terms of the quality of graphics and Artificial Intelligence (AI), both of which increase the level of immersion and believability for the player. However, the ideal game is not the one on the newest gaming devices or has the most fabulous

1 graphics, but one that uses technologies that increase the level of fun and immersion in games [7]. The PlayStation 2 is still one of the most popular video game systems today, even though its features (graphic, sound, and storage) are not the best [8, 9].

Games affect people both positively and negatively: they can simply entertain users, or can ruin their health or interpersonal relationships [1, 10]. Many people play games for entertainment purposes during their free time; for instance, users play games together when they have a party or play games on their mobile device while taking the bus or on the train.

On the other hand, people might ruin their health if they continue playing games for extended periods of time [10-12]. Most users sit in front of their computer or television playing games for a long time, especially those who play massively multiplayer online games (MMOGs) which require the users to play longer than other game genres [11, 13].

Most massively multiplayer online games are open-ended and have no clear ending; thus, users can play them for a long time. This behavior is not healthy both physically, due to lack of exercise, and mentally, due to users' isolation from society or even their family

[10, 12, 14].

There are two apparently incompatible issues in the previous statements: gamers wish for a challenging, believable, immersive game in which they can have some sort of social interactions; and immersive games tend to be unhealthy for gamers. This contrast exists because gamers appreciate an immersive game, even if this game can lead to the reduction of their wellness. The solution for this is to create games are still immersive and entertaining, but that effectively turn users away from their computer or television in order to experience some degree of social interaction in the real world, possibly mediated

2 by game devices and game environments. The pervasive game model succeeds in encouraging users to play games in both the game world and the physical world at the same time. Massively Multiplayer Online Role Playing Games (MMORPGs [15, 16]) represent a game model that requires a great deal of in-game social interaction to engage many users playing simultaneously. Both models can be used for creating a solution for these issues, but before adopting any existing protocol or creating a new one we need to survey the state of the art in electronic games (illustrated in chapter 2). We have find out what we can use from existing knowledge and what we need to create anew in order to justify our proposed solution.

1.2 Original contribution

My contribution is in the areas of ubiquity, new interactivity models, believable

NPCs, and game evaluation. I believe that adding ubiquity, interactivity and believability to current games can improve the level of engagement, immersion, and fun, while avoiding the health issues that current games raise. A game evaluation model can be used to estimate the entertainment value of a computer game from the design stage to final product.

This research proposes a framework for a new type of gameplay that allows users to play a MMORPG anywhere and anytime. The new type of game includes such concepts as ubiquity, interaction methods, and believable non-player characters (NPCs). These concepts can be applied to make exciting, engaging, and immersive games that suit a wide range of users. In addition, they are integrated with the concept of rich social interaction games (like other MMORPGs) which allow many users to simultaneously participate with the game and with each other. Ubiquity allows users to play the game

3 and interact with each other on their various devices even if these devices implement different platforms, and also includes the concept of playing anywhere and anytime.

MMORPGs users usually interact with a game in traditional ways (via screen, mouse, and keyboard), but MMORPGs still succeed in providing rich social interactivity.

On the other hand, pervasive games have many varied interactive modes but they have too little social interaction.

The proposed framework uses an interactivity model that allows a greater integration with multimedia and environmental awareness, allowing users to play and interact with games in new and exciting ways. The premise of this interaction is mixing the game

(virtual) world and the physical world together, offering networking interactions via text, image, sound, video, real-world locations, and sensors. For instance, a user may be required to solve a game problem in non-standard ways: the user may use a Global

Positioning System (GPS) device to locate hidden items in games, or users may look at the virtual world through the real world by using built-in camera devices that help to reveal game objects or game secrets.

Another contribution of this research is in NPC architecture. Regular NPCs in games may not seem "intelligent" enough at the moment; they cannot make people believe that

NPCs are anything but computer-generated characters. We need to research and complement existing AI techniques to create believable NPCs. Believable NPCs will make games produced with the proposed framework different from any MMORPGs, and support the ubiquitous game concept of playing game anywhere and anytime. Believable

NPCs are artificial intelligences, or human-like characters, that interact with the users in the game. NPCs can make the users believe that they are playing with the other users

4 (humans); this feature is a breakthrough technology for MMORPGs. Users can continue playing the game without access to the game server (offline mode) and should not be able to distinguish between human characters or NPCs. For these reasons, believable NPCs support the concept of ubiquity and believability.

To prove these game concepts, a general framework was developed to support them.

The framework is used for game development to create new games that have these concepts. This framework utilizes mobile agent technology as the main architectural element which provides multi-platform collaboration and the many features of mobile agents like autonomy, mobility, and communication. After developing this framework, a prototype "Ramakian Online Game (ROG)" is created using it. This prototype demonstrates a new type of gameplay proposed here and proves the concept of this research.

1.3 Objectives

The hypothesis of this thesis is that adding ubiquity, an expanded interactivity model, and believability to current games can bring new experiences, engagement, enjoyment, and immersion for users, as well as encouraging gamers to become more physically active.

The goal of this research is to create a new type of gameplay to prove the hypothesis.

This research must build a general framework, and a prototype. Then, a prototype is evaluated based on whether it successfully engages, entertains, and immerses users.

Game evaluation is used to evaluate the framework, and the prototype.

This research develops the general framework for the new type of gameplay previously described: the framework uses mobile agent technologies as the main

5 architectural element, and it is generic enough to be able to be adapted and extended into future applications.

To demonstrate the soundness of the basic concepts of the general framework, a prototype is developed: "ROG." The final outputs of this research are a new type of gameplay, the framework for such a game, ROG, and a game evaluation.

This research should accomplish all tasks as follows:

1. To define the new type of gameplay.

2. To create a framework supporting this new type of gameplay.

3. To ensure that the framework is general enough to develop games according to

these concepts in the future.

4. To create the ROG as a prototype for this research's concepts.

5. To deploy and test ROG with public audiences.

6. To evaluate the framework based on the key features of the system - the

framework should successfully incorporate most of these features.

1.4 Document overview

This thesis presents a thorough literature review on the current state of electronic entertainment, with particular attention paid to MMORPGs. The thesis also contains a proposal for a framework implementing a new type of gaming concept, a prototype, and a game evaluation.

This document is organized in the following manner. The background and literature review are in Chapter 2, which includes basic background of games, interactivity,

MMORPGs, ubiquitous and pervasive games, supporting technologies, believability and

AI in games, and introduction to game evaluation. Chapter 3 presents a new game

6 evaluation, which includes evaluation criteria, evaluation analysis, an evaluation model, and case study. Chapter 4 introduces the solution design, which describes the scope of work, the game development framework and architecture, the game modules, and an evaluation of framework design. In chapter 5, prototype design and implementation are presented, including the game design, implementation, and validation. Chapter 6 contains the testing methods, procedure, analysis, results, discussion, and a prototype postmortem.

Chapter 7 illustrates the conclusions of this thesis and the future work.

1.5 Sample scenarios

This section gives two sample scenarios of ROG to illustrate and clarify the ideas of game and to show how ROG is different from other existing games in terms of the game concepts in areas of ubiquity, interactivity, and believability.

First scenario: Tom is a gamer who looking for a new video game for his game console. After searching online, he finds a ROG beta version available that he can download and play on his game console. After he downloads ROG, he opens the game, sets up his profile, and start exploring the game world. He maneuvers his character to fight with other players and various NPCs in order to increase his skill level. Later, he tries to discover the story in the game world by chatting with supporting NPCs, narrator

NPCs, and other users. A group of users chats with Tom and asks him to join them at the park downtown to play game together. But Tom is confused and asks, "How I can go there and play this game with you?"

One user in the group tells him how he could do this. First, he should download

ROG to the mobile device such as a portable computer, a PDA or a mobile phone.

Second, he should choose the migration command in the main menu on his computer,

7 select the destination device (mobile device), and then continue playing the game at the park. He follows the instructions and then goes out with his mobile phone to meet his new friends. ROG notifies Tom about the new available interaction service: location service via a mobile network. After he selects the location service, he realizes that his current position is now related to his location in the game world.

Tom reaches the park at the downtown, and then he walks around the park to find his new friends. Again, the game notifies him when other users are coming close to him, and asks him whether he wants to talk or attack them. He chooses to chat with them and arrange for a face-to-face meeting. Subsequently, Tom meets many new friends and receives new items from them. On the way home, he can continue to play the game, even without network accessibility, on the subway. This feature allows him to play this

MMORPG anywhere and anytime without any accessibility restrictions.

Tom discovers that he enjoys playing this game because it offers opportunities to

interact with the game in many different ways. He can play the game at home or go out to have an adventure in the real world. Moreover, he was able to interact with others users

in the real world and not just in the game world.

Second Scenario: Cindy is a traveler who wants to visit Regina for a week. On the first night in her hotel room, she uses her laptop to access the Internet. She notices the

ROG link on the first page of the hotel's website and visits ROG's website to find out what it is. She discovers that this game is an MMORPG which has services around the city, and she can learn something about this city through the game, including Regina's history, significant buildings, points of interest, and even a virtual tour of the city. She downloads this game to both her laptop and PDA.

8 On the second day, she starts her trip to follow the city guide quest in ROG. The game utilizes her built-in GPS in her PDA for location-based interaction and she browses around the city by following the game navigation. Cindy has to solve a science quest in game that leads her to the Science Centre; she gets the notification from the game about the Science Centre's game service when she arrives the science center. Then, she starts to play the ROG's mini-game (sub-quest) which asks her to capture the invisible birds that are flying around in science center. She needs to use her PDA as a "window into virtual space" to see the invisible birds and captures them by using her onscreen virtual hand; in addition, she can listen to the invisible birds' sounds through her PDA's speaker or headset to help locate their locations.

After she finishes the mini-game, game services sends a picture (Cindy's Visit) to her as a souvenir via a Bluetooth network and her Email. Consequently, she realizes that she can travel around the city with the game as a personal guide, and she goes back to the hotel to plan for tomorrow's game.

These two scenarios illustrate the concepts of gameplay and the unique interactions which distinguish ROG from other existing games. Remember that these are just examples and do not represent everything that ROG has to offer. The concepts behind

ROG offer much more than these two sample scenarios that are presented in Chapter 4 and are demonstrated in Chapter 5.

9 2 BACKGROUND & LITERATURE REVIEW

This chapter presents background and literature review about the state of the art in games and game technologies, as well as the definition and classification of games, interactivity, MMORPGs, supporting technologies, believability and AI in games, and game evaluation. The literature review is used also to indicate the common problems in game design and to justify the proposed solutions. Consequently, this literature review contains basic knowledge to identify what is needed for designing a new game which implements the concepts of ubiquity, interactivity, and believability.

2.1 Computer and video games

This section describes the definition of games that is used in this thesis. This research focuses on electronic entertainment, and narrows down the definition of games into a specific area in term of electronic games (computer and video games), referred to as

"games" in this thesis. This section describes this definition and gives examples of games in each genre. Finally, some examples of gaming devices will be presented.

2.1.1 Definition and classification

There are many types of games, but this research focuses only on computer and video games, as well as the current concept of enjoyment. Game is an amusement, diversion, pastime, etc. a form of contest played according to rules and decided by skill, strength, or luck [17]. A definition of games by Schmittberger can be used as the starting point for this literature review: "Games, activities or contests are governed by sets of rules. People engage in games for recreation and to develop mental or physical skills"

10 [18]. These definitions can cover many types of games, such as board games, card games, sports games, and electronic games. People have to respect and follow the rules of the games that they are playing. Moreover, most people play games for entertainment purposes and want to enjoy such an experience.

Electronic Game is any interactive game operated by computer circuitry [19]. There are two main classes of electronic games: computer games, which are played on personal computers; and video games, which are designed for playing with specific home video­ game systems, handheld devices, and coin-operated arcade consoles [20, 21]. The focus of this thesis is on electronic games; hence the term "games" hereinafter refers to both types of electronic games.

There has been a lot of research performed surrounding game taxonomy and game genre [22-24]. This thesis addresses seven genres as follows:

1. Action games: most action games are 2D platform, first-person shooter (FPS) or

third person perspective games in which a user controls a character in a game

world [24]. The plot is often about the protagonist saving the world from various

enemies; many games in this genre primarily involve shooting and fighting.

Examples of this genre include: Donkey Kong [25] and Super Mario Bros 26 for

2D platform games; Wolfenstein 3D [27], Quake [28], and Halo [29] for FPS

games; Max Payne [30] and Devil May Cry [31] for third person games. Action

games can be mixed with another genre to create the sub genres including action

and driving, such as the Grand Theft Auto IV [32].

11 2. Adventure games: adventure games normally emphasize plot rather than action or

battle. This genre typically focuses on story, problem solving, puzzle solving, and

interacting with non-player characters (NPCs): users need to solve some puzzles

and interact with other NPCs in order to make progress in the game. The plot can

come from such diverse sources as fantasy, science fiction, mystery, horror, and

comedy. Examples of this genre include Zork I [33], The Secret of Monkey Island

[34], Grim Fandango [35], and Myst [36].

3. Role-playing games: User can play these games by playing as different types of

characters, such as a warrior, a ranger, a merchant, a magician, or a thief. The

users have to play their role and interact with the game world by fighting

monsters, collecting and selling items, solving quests, and upgrading characters'

abilities. The main feature of this genre is the character developments which user

can periodic assign new skills or new items to the characters [24]. The example

games include Ultima [37] and Final Fantasy [38]. Lately, massively multiplayer

online role-playing games (MMORPGs) have been designed to support thousands

of simultaneous users who play and interact within the same game world. The

details of MMORPGs are presented in section 2.3.

4. Strategy games: This genre has two sub-genres: turn-based strategy games and

real-time strategy games. They are similar, but the real-time strategy games are

continuous, whereas turn-based games, as the name suggests, are broken up into

turns: the user moves his units, then the computer or opponent moves her units.

However, this thesis focuses only the real-time strategy (RTS) games because

they have become more common in the genre. Users can control military units to

12 combat with his opponents. The settings of such games can vary but the main plot

is war: historical (Age of Empires [39] and Empire: Total War[40]); science

fiction (StarCraft [41]), and fantasy (WarCraft III [42]). The general format of

strategy games consists of building up a base and units, collecting the resources,

and attempting to destroy the user's enemies. The users have to solve the

problems of resource management and balancing between defensive and offensive

strategies.

5. Simulation games: this genre includes games that simulate sports, flying, and

driving. The simulation genre includes also more detailed simulations of specific

environments and machines, such as dynamics of towns, cities, and small

communities flight simulators, tactical battle simulators, or space simulators [24].

Sports games: this sub genre can be classified into two types: team sports and

individual sports. Users can play as athletes or even managers. For example, a

user can play a soccer player in FIFA 09 [43] or manage the strategies of a soccer

team in Championship Manager 2008 [44]. The users might need to develop their

skills and tactics to overcome the opponents. The rules of sports games usually

follow the sport upon which they are based but some genres, such as

skateboarding and snowboarding games, have no set rules and allow the user to

"freestyle." Some examples of sports games include Tiger Woods PGA Tour 09

[45], NHL 09 [46], and extend to cross-genre titles such as the NASCAR 09 [47].

Another simulation sub genre is the games that allow the users to interact with a

simulated game. Users can see their changes of the game world through a bird's

eye view, or first person view, from a growing city to the evolution of characters.

13 A good example of this genre is SimCity [48] in which a user plays a mayor who

manages and controls an entire city. Other games in this genre include The Sims 2

[49] and Harvest Moon: A Wonderful Life [50].

6. Puzzle games: This game genre includes traditional board games and puzzle

games. Users can interact with puzzle games to solve a puzzle following the

games' rules. Each game has the different puzzles, rules and ways of play;

examples include chess, crosswords, jigsaw puzzles, Tetris [51], and puzzle

bobble [52]. Puzzle games are intrinsically goal-oriented. Depending on the type

of game, puzzle games can be played alone or against opponents.

7. Pervasive games: This game genre that utilizes the virtual (game) world and

physical world in order to deliver a higher degree of user immersion. Most

pervasive games encourage users to play the game in physical world that lead

them to be physically active rather than sitting and playing a game at home; for

example, the Epidemic Menace game [53]. The detail of pervasive games is

presented in section 2.4.

This classification is useful for this research to understand the characteristics of each game genre and also good for game design and analysis later on. This research focuses on

MMORPGs, presented in section 2.3, because they are designed to engage a large number of users. MMORPGs also have some issues that are addressed in this thesis.

2.1.2 Gaming devices

There are three major groups of devices that are used for playing games: computers, game consoles, and mobile devices [15]. Most computers and game consoles are stationary devices that are used with televisions or monitors. On the other hand, mobile

14 devices offer the opportunities for users to play games wherever they want. Computer and game consoles have similar type of games; in fact, some games are released for both computers and game consoles. However, games on mobile devices are usually different from computers and game consoles, depending on the limitations of each device.

To cover a wide range of audience, games should be able to run on as many devices as possible. The same game must run on different devices and platforms, taking into account different interfaces and the limitations of their input and output. This section surveys the possibilities of using devices in our new game. It also provides advantages and disadvantages of devices that will be used for our consideration.

2.1.2.1 Computers

Computers have been used for playing game for many decades. Nowadays, personal computers are more widespread than mainframes, and are still used for entertainment purposes, such as playing games. Computing performance is increasing in areas such as computational power and speed; size of memory and storage; and graphics processing.

Increases in computing technology have the effect of allowing for more complex functions in games, including AI, 2D and 3D graphics, and multiplayer games. Newer games usually require higher system requirements than older games; for that reason, game design is often limited by computer technology [7]. Computers are suitable for playing games because of their performance. Moreover, computers are multi-purpose systems, meaning that they can be not only used for entertainment, but for education, business, and correspondence. Computers can be computer desktops, workstations, servers, and portable computers. We are not concerned about mainframes and super computers because they are rarely used for games [54], Normally, computer desktops,

15 portable computers, and workstations are used for game clients, but sometimes they can act as game servers in multiplayer games. Computer servers are used for hosting the multiplayer games that serve the shared game worlds for the connected users [54-56].

Computers run many operating systems such as Windows, Mac OS, UNIX, and

Linux, but most games in the markets support the Windows (OS).

However, it is a good idea to design the games that can be run on many operating systems. For examples, Yohoho! Puzzle Pirates [57] is an MMORPG which supports

Windows, MAC, and operating systems. Project Darkstar is an open source application server that can be used for online game development, and it supports

Windows, MAC, and Linux operating systems [58]. Some games are released simultaneously for two or all of these operating systems.

Portable computers are computers that can travel with users. These include laptop computers and tablet PCs. These computers are small, lightweight, use an LCD screen, and are battery powered. Tablet PCs have an additional feature that distinguishes them from regular laptops: users can input via the touch screen. The main features of the portable computer that distinguish from desktop computer include the potential for ubiquitous computing and, on some models, are wireless network enabled. As the result, portable computers are suitable for playing games anywhere, including games that need mobility features, such as pervasive games.

Two limitations of using computers for playing games are the interactivity and the computer performance. The interactivity can be defined as the interaction between user and computer: users usually control the inputs and get response via the outputs. Usually, computers have mice and keyboards as standard input devices, and have monitors and

16 speakers as the standard output devices. Users can play most games with these standard devices. However, some games need special devices for playing certain games. These include joysticks, gamepads, light guns, or microphones for the inputs, and head-mounted displays or smart boards as the output devices.

A computer's performance is an important requirement for games. Games must declare their system requirements, typically including recommended CPU speed, size of memory and storage, quality of the graphics processor, and the required operating system

[59]. Games that have rich features, including 3D graphics, NPCs, or realistic game worlds might need a high performance computer for running them. This is a big limitation for users who do not have high performance computers.

In ROG, computers are used for both game servers and clients that cooperate to form a game environment. All computers will be connected and will collaborate to support the collaborative tasks of the game. Because ROG is implemented to follow the game development framework, the computers can run this prototype from the Windows, Linux, and Mac operating systems. As a result, we can play this game on many different platforms, and utilize the game development framework for unifying the game's environment.

2.1.2.2 Game consoles

The first primitive video games were developed in the 1950s and 1960s and ran on oscilloscopes [60]. This was the initial basis for later video games machine that we call game consoles, or devices that can manipulate vision and sound for interactive entertainment. Users use handheld devices connected to game consoles called

"controllers" as input devices, and game consoles produce vision and sound through

17 televisions. In the 1970s, home video game consoles were released that were playable on televisions [61,62],

Video game consoles have been improving for several decades. They include

Magnavox Odyssey, and Atari 800 in the 1970s; Nintendo Entertainment System (NES), and Sega Mega Drive in the 1980s; Super Nintendo Entertainment System (SNES), Sega

Saturn, Sony PlayStation, and Nintendo 64 in 1990s; and Sony PlayStation 2, Nintendo

Game Cube, and Microsoft Xbox in 2000-2002. Microsoft Xbox360, Nintendo Wii, and

Sony PlayStation 3 have been released in 2005-2006. The history of game consoles can be found in [62].

Game consoles usually consist of three main components: game console hardware, game controllers, and games. First, a game console is a hardware unit which allows games to run on it. Essentially, it manipulates input from the controllers and displays the results of the user's actions on a television. Game consoles have been increasing its performance in computational power, graphic and multimedia features for decades. For instance, the Xbox360 and PS3 support the High-Definition television (HDTV) standards, which provide a high resolution and excellent quality of picture. Moreover, it facilitates other forms of multimedia entertainment, including movies, music, and

Internet access.

Second, game controllers are the input devices that are used to control and interact with game consoles. Normally, game controllers are gamepads or joysticks which are used to manipulate an object or character in games. As previously mentioned, there are other optional input devices, including light guns, keyboards, mice, dancing pads, microphones, motion sensing, touch screen, or cameras (i.e. EyeToy).

18 Third, games that run on game consoles can be found in many different formats, depending on each individual game console. These include built-in ROM, diskettes, tapes, cartridges, CDs, DVDs, Blu-ray discs, flash memory, and hard drives. In addition, there are some optional devices using for enhancing game consoles, including modems, network cards, memory cards, hard drives, and remote controls.

There are some limitations of game consoles, namely incompatibility between different platforms and closed technologies. Most game consoles cannot run game across platforms, meaning that games from one console cannot be played on a console from a different manufacturer. However, some game consoles are "backwards compatible" with previous platform (some Xbox games can run on the Xbox360, for example [63]). This limitation affects users who want to play some games on consoles that they do not own.

For example, video games featuring the character "Mario" are only found on Nintendo consoles; therefore, Xbox users cannot play these games. Another limitation is closed technologies. Each game console has its own development kit which is only distributed to licensed developers. As such, it is hard for users to develop their own games designed for game consoles.

ROG might be ported to game consoles because many users already own them (for example, Sony sold 140 million units of the Playstation 2 as of July 20, 2008 [64]).

2.1.2.3 Mobiles devices

Mobile devices are portable devices that are able to perform computation, communication, or multimedia tasks for users. This thesis considers only the mobile devices which are directly related to games, including handheld game consoles, mobile phones, and PDAs. One third of American play game on mobile devices [4]. The mobile

19 devices' capabilities are gradually increased to serve the users' demands, such as computation speed, size of memory and storage, network interfaces, and sensors. Because pervasive and ubiquitous computing are becoming more common, mobile devices are the appropriate infrastructure to making ubiquitous environments [65, 66]. This section introduces several mobile devices which can be used for playing games.

Handheld game consoles became popular in the 1990s when the Nintendo Game Boy hit the market [67]. Handheld game consoles have been developing for the decades and increasing in performance and features. Nowadays, handheld game consoles are able to play games, play videos and music, interconnect with other users, access the Internet, and run applications [68]. In addition, some mobile devices have additional features: an

Apple iPod Touch and an iPhone for instance, has many games are in 3D and use the motion sensors, touch screen, GPS, and 3G. Handheld video games have the potential for providing new experiences for users by using their capability such as pervasive games (

"Terminator: The Sarah Conner Chronicles Ambush [69]" for the iPhone are GPS games).

Mobile phones are widely used and ubiquitous. They are primary used for communication purposes via voice, messages, and data. In addition, they have some additional features including the capability to play games and multimedia files, organizers to keep track of dates and appointments, and miscellaneous utility applications. Applications for mobile phones are rapidly growing, with games being the fastest growing application. Most games in mobile phones platform are developed by using Java 2 Platform Micro Edition (J2ME) technology, and most modern mobile phones support J2ME technology [70, 71]. However, mobile phones have other

20 technologies like smart phones, allowing them to run Windows Mobile OS [72] or

Symbian OS [73]. In 2005, there were more than 1.5 billion mobile phone subscribers worldwide [74]. Creating a game that can be played on mobile phones is a good opportunity to engage a wide audience.

PDAs are widely used in the everyday lives of people who need an organizer, entertainment, and office functions on one device. They can act as a personal assistant: to remind one's self about a meeting, to take notes, to play games, to play multimedia files, to check email, and to browse the Internet [71]. The capabilities of PDAs have increased to the point that they can be now used for performing as complex tasks as computers.

PDAs still have some limitations: the touch screen and few button inputs can decrease productivity, and a small screen size makes it difficult to work with. The number of games on PDAs is greatly increasing, however, so much so that the device is becoming as popular for gaming as mobile phones are. Many pervasive games use PDAs because of their mobility, and performance [65, 75].

Limitations of mobile devices include inputs, outputs, power consumption, and computational power. The common limitation of input on mobile devices (except portable computers) is a lack of a keyboard; such devices normally have a few keys or just a stylus for input. Handheld video games, mobile phones, and PDAs all have small screens, a major concern for designing games and applications for such devices. Battery life is the main concern for mobile devices, as power consumption needs to be optimized when mobile devices are running games and applications. The last one, computational power, is a main problem of most mobile phones, as most regular mobile phones (except smart phones) have a low-speed CPU which are normally not fast enough to run many

21 games and applications. Although all these devices have some limitations, none are

serious enough to present a major obstacle for playing games using mobile devices.

Mobile devices have some built-in sensors such as microphones, cameras, or

network interfaces that can support the physical interaction required for some games,

including pervasive games [65]. In addition, sensors can be equipped with mobile devices to enhance its capability, such as GPS, RFID, ultrasonic receivers, or motion sensors

(gyroscopes, or accelerometers [76, 77]). Sensors can enhance mobile devices in order to

support new and interesting features for games.

Mobile devices are the primary target for ROG because they are most suitable for

ubiquitous and pervasive gaming, facilitating an optimal interaction between the virtual

and physical worlds, and because this game may be played by a huge number of users.

Mobile devices can be used with some additional sensors to perform environment

awareness and physical world interaction, both of which match the design goals of ROG.

The challenges for using mobile devices, however, it is how to deploy games for multiple platforms, and how to allow users using different devices to interact with each other.

2.2 Interactivity

This section introduces current interactions with games, and illustrates why it is

important in gameplay. It contains a look at interactivity in games, and a discussion on

social interactions in games - the main concept behind MMORPGs. At the end of this section, the consideration of choosing interactions in games is presented and interactivity used in proposed framework is discussed.

Interactivity is the heart of gaming, a significant difference between video games and other forms of media. In computer and video games, users interact with standard input

22 and output devices: mice, keyboards, gamepads, joysticks, microphones, monitors, televisions, and speakers. Users can also make use of some specialized input or output devices for playing specific games, allowing them to interact with games differently.

These specialized devices include motion sensors, light guns [78], EyeToy cameras [79], and Head-mounted displays (HMD [80]) for such activities as shooting targets or playing a virtual reality game.

2.2.1 Game interactivity

Users can interact with games in two ways: active (command) and reactive

(response). Games have to interact and respond to users in ways that can engage and immerse them. There are many ways to interact with games, such as text, images, video, sound, locations, sensors, networks, and time. Most computer and video games are interactive games; choosing the appropriate means of interactivity at design time will make the users reach the appropriate level of fun and immersion when playing the game.

There are some kinds of games, such as pervasive games, that require the user to interact with the game on multiple levels, including in the physical world [53]. For example, a real-life treasure hunting game could require users to use their PDA equipped with GPS for collecting treasure [81]. Nintendo Wii offers the innovative ways to play game that allow players to play games with some physical activities; using Wii Remote as a baseball bat or tennis racket in Wii Sports [67]. WarioWare Twisted [82] is another example of unusual interaction: the game cartridge is embedded with gyroscopic sensors to detect the user's movements, and has a rumble feature for feedback during rotation.

The users have to control the game by rotating their handheld device. Adding more

23 interactivity into a game might need some special devices, as new methods of interaction allow games to be more fun for those who play them.

2.2.2 Social interaction in games

Social interaction is an important element for most multi-player games [15, 56, 81,

83]. Many users enjoy playing with other users, thus games should provide social interaction in collaborative and competitive ways [84-86]. Users can interact with other users in online games or with friends in the same physical location: talking, chatting, acting, and sending messages to each other. In other words, users can interact over the

Internet from a distance or face-to-face [15, 87-90]. Thus, adding social interaction features in games is a good way for increasing the level of fun for users.

Collaborative interaction in games let users play games together to accomplish the same goal. They have to cooperate and help each other to succeed in the game; for example, users join a party group or a guild to clear a dungeon because it is difficult to clear dungeons alone in most MMORPGs [86, 89]. In addition, most multi-player games are designed to be community-oriented: users have to communicate with other users to get information about quests, trade for better equipment, or simply to talk to somebody new [86]. Consequently, collaborative interactions between users in games are beneficial and important in most MMOGs.

Competitive interaction is a kind of social interaction which allows users to play games against each others. Some users like to compete against their friends or other users

[91]. They have the same goal: to win, often at the expense of other users. Users can also collaborate within a team competing against other teams. Users can interact with other users through talking or chatting, and they are free to choose what information to provide

24 during their interactions, which can lead to truthful collaboration or some form of deceit.

For instance, Xbox Live allows users of similar skills to be matched in an online sports competition [92], and StarCraft allows users from different factions to taunt each other while competing for resources. Most users like to play and interact with "real" users instead of playing with NPCs [91, 93], therefore competitive interaction between users is a significant feature in online-enabled [15:501].

There is much research that shows that adding the feature of social interaction between users can make games more enjoyable [81, 87, 88]. In some game genres, social interaction is the most significant feature of a game: MMORPGs are built around virtual communities of users, sport games require competition, and table top games almost always require more than one user [84, 86, 88]. Social interaction can bring users to play games within a community, instead of playing games alone and isolated from other people.

Social interaction is an essential element for the success of many games; thus, games should support social interaction which offers opportunities for users to collaborate, compete, and communicate.

2.2.3 Considerations for interactivity

Providing good interactivity between users and game help increase the level of immersion and entertainment in games; thus, we have to consider about choosing the appropriate type of interactivity for games. The factors of consideration include input and output devices, interactivity, and social interaction in games. The proposed framework supports interactivity as much as possible to provide a wide range of interactivity for game development.

25 Standard input and output devices should be used as the basic interactive devices, and games can also allow user to use the optional input and output devices for playing game in the higher level of immersion and fun. For instance, users can use a light gun to replace their joystick when playing shooting games. Games that use proper interactivities can immerse users and bring good experience to them such as playing real-life treasure hunting game with physical location (using GPS, or network positioning) or playing augmented reality games with video motion detection (EyeToy.) Social interaction in games must be included in multi-player game play that allows users to collaborate, compete, and communicate. The social interaction in games allows users to interact with other user in both game world and physical world; they can play game together at the same place, or play with other users online.

The proposed framework supports interactivity in games: input and output devices, interactivity, and social interaction in game. The framework supports both standard and optional input and output devices in many game devices that are supported by the framework. The framework should provide interactivity including text, images, video, sound, sensors, locations, and networking. This framework provides ways to support social interaction in game that are adopted from the MMORPGs model.

In conclusion, the choice of what interactivity model to apply to a game is crucial to increase immersion and fun. Thus, the proposed framework should incorporate many different types of interactions for game development.

2.3 Massively multiplayer online role-playing games (MMORPGs)

The development of tabletop games, live action role-playing games (LARPs), and their integration with computer and video games resulted in a thriving genre of games

26 called role-playing games (RPGs) [89].The central concept of these games allows users to create, control, and modify characters within a game's environment. The characters in such a game are used for representing the users and to interact on behalf of the users.

Usually, games provide missions or objectives for users to solve; users may control their characters by talking with others characters, searching for or manipulating objects, and fighting with opponents in the game world [89].

Text-based online computer games were first launched in the 1970s and became known as multi-users dungeons (MUDs) [86, 94]. MUDs provide a shared game environment for users to interact with other users: they were the predecessors of RPGs, and they set the style for the future. While these games were text-based, the first graphical MMORPG Neverwinter Nights [95] was introduced in 1991. In 1997, Ultima

Online [96] was released, and is credited as the first successful and popular online role- playing game; this popularized the term "Massively Multiplayer".

Massively Multiplayer Online Role-Playing Games (MMORPGs) provide a networked virtual environment (virtual world, game world) for users. This game genre offers shared environment for users to play and interact with others in terms of space, time and presence [86]. The most important part of this genre is social interaction: users can interact with others in virtual communities. Some examples of contemporary

MMORPGs include World of WarCraft [97] and Everquest [98].

2.3.1 MMORPGs characteristics

MMORPGs are very different from other game genres. The main distinguishing characteristics of MMORPGs include social interaction, freedom within the game world, a focus on plot, and open-endedness.

27 Users can meet new friends in virtual communities (such as guilds or clans) and can form relationships with them. Each MMORPG typically has up to hundreds of thousands of users simultaneously playing a game in real-time within a shared game world. Users also have the freedom to identify with characters in MMORPGs able to do extraordinary things within the game world, including playing characters such as warriors, knights, wizards, fairies, elves, monsters, or mechanical creatures; using weapons; casting spells; manipulating objects; or riding dragons or flying spaceships.

Usually, MMORPGs offer strong narrative stories for user immersion. For instance, an MMORPG typically would introduce users to a storyline and background which help them feel that they are part of a story [5], A game story might dynamically change depending on the status of the game world at that time: a majority group of users can influence the game story, or special events may be added to the game world, such as

Christmas. For instance, World of WarCraft offered the special theme for holiday seasons including Christmas; major cities were decorated with winter theme, the avatar could have the seasonal costumes (Santa or snowman), and player could play the holiday quests

(Christmas quests [99]).

MMORPGs are open-ended, with the result that users can connect to the game world and play it whenever the game server is active. Generally, developers keep updating

MMORPGs continuously to add game quests, fix software bugs, change rules, update the story, or make other changes in the game world [89]. Thus, users can play MMORPGs whenever they want and take part in a constantly updated world with friends they made online. All of these characteristics have made MMORPGs a popular genre today.

28 2.3.2 MMORPGs classification

MMORPGs can be classified by genre: fantasy, science fiction, historical, real life, super hero, sport, and horror [100]. This classification is assigned by considering the styles and themes of each game. Table 2.1 gives some examples of MMORPGS that received high rating score from www.MMORPG.com in each genre (accessed on May

10,2009).

The majority of MMORPGs take place in fantasy worlds, but all of these genres provide a game world in which users can control their characters to interact with the world and other users. Most games today provide rich 3D graphics for the game worlds to increase user immersion. On the other hand, 2D or cartoon graphics can be used for game worlds as well [7].

Table 2.1 MMORPGs classification by genre of highly rated games on www.MMORPG.com Genres MMORPGs Fantasy Lord of the Rings Online [101], Atlantica Online [102], Warhammer Online [103] Science Fiction EVE Online [104], Vendetta Online [105], Anarchy Online [106] Historical WWII Online: Battleground Europe [107], Yohoho! Puzzle Pirates [571 Real life Second Life [108], RAN Online [109] Super hero City of Heroes [110], City of Villains [111] Sport Shot Online [112], Kicks Online [113] Horror Requiem: Bloodymare [114]

2.3.3 Advantages and disadvantages of MMORPGs

MMORPGs provide a good model of user interactivity and immersion within a game world. Users can be entertained by the freedom to do whatever they want and experience a good narrative story in the game world. MMORPGs offer high social interaction in game by having virtual communities in which users can interact with each

29 other. Furthermore, users can play games with others anywhere and anytime they want to, avoiding the barriers of time and location.

On the other hand, there are some disadvantages of MMORPGs such as extended playing time, isolation from the real world society, and connectivity problems. Users may be unhealthy if they continue play MMORPGS for long time. MMORPGs provide high immersion and high social interaction with a game world and might isolate users from the real world. Most MMORPGs require users to connect to a game server whenever they are playing. This requirement may cause discontinuous playing for users who have an unstable network. The proposed framework can be used to eliminate these disadvantages: the framework provides many interaction methods that encourage users to interact with each others in the real world. It also allows users to continue playing game with believable NPCs in offline mode (i.e. when there is no network coverage or when the network is unstable).

In conclusion, MMORPGs have many good characteristics that are used in ROG such as user interactivity, high social interaction, and immersion with a game world.

MMORPGs also provide the ubiquitous concept of playing a game anywhere and anytime that capture a wide range of users. ROG follows the MMORPG model within the fantasy genre. The fantasy story in game will be based on the Ramakian epic, described in more detail in chapter 4. The disadvantage of MMORPGs as users are isolated from the real world society and network connectivity can be solved using new interactivity model for user isolation and believable NPCs for connectivity.

30 2.4 Ubiquitous and pervasive games

In order for pervasive games to effectively work, technologies such as ubiquitous computing and wearable computers are required. Ubiquitous computing means having computational abilities anywhere and anytime, blending together the virtual and physical worlds [115]. Ubiquitous computing can be used as an infrastructure for running pervasive games, but it needs computational devices to form this infrastructure. Such devices include mobile devices, embedded devices, personal computers, etc. [83, 116,

117]. Devices that suit pervasive games should have a set of features allowing for mobility during gameplay.

Wearable computers are appropriate for pervasive gaming because they can perform the computing tasks needed for ubiquitous gameplay, but as of right now they are prohibitively expensive and are not on the market yet. Therefore, other mobile devices like mobile phones or PDAs have to be used in pervasive games because of their acceptable computational power, their mobility, and their reasonable cost. The next sections explain pervasive gaming in more detail.

Pervasive game is a good model of ubiquity, but it has not completed yet in term of platform independence and believable NPCs. This section shows strong ubiquitous parts of pervasive game such as context awareness and some rich interactions with the physical world. Thus, the proposed framework uses the strong parts of pervasive game and also implements platform independence and believability to make a pervasive game more complete.

31 2.4.1 Definition

The Integrated Project on Pervasive Gaming (IPerG www.pervasive-gaming.org/) gives a simple meaning of pervasive games: "Pervasive games are a radically new game form that extends gaming experiences out into the physical world" [118]. Walther gives a more detailed definition to help understand pervasive gaming:

"Pervasive gaming implies the construction and enactment of augmented and/or embedded game worlds that reside on the threshold between tangible and immaterial space, which may further include adaptronics, embedded software, and information systems in order to facilitate a "natural" environment for game-play that ensures the explicitness of computational procedures in a postscreen setting." [119]

These definitions paint pervasive gaming as a new genre which merges the virtual and physical world together by using portable game devices. Users can extend their gaming experience into the surrounding environment by mixing the virtual and physical worlds.

2.4.2 Classification

Pervasive games can be classified into three main groups based on the approach they use to interact with the user and the surrounding environment: location, sensors, and image processing. Pervasive games based on location take advantage of a positioning system to determine the location of the user and establish a connection between the game world and the real world. Sensors can be used in pervasive games to enhance their context awareness, thus making them more responsive and enabling different types of interaction based on external information. Pervasive games can also use image processing techniques for displaying and recognizing objects or users, which help to create a mixed reality world. Motion detection and virtual graphic techniques are useful for pervasive games to provide rich interaction between virtual and physical worlds.

32 2.4.2.1 Location based games

Pervasive games make use of physical locations as a main game feature. Location services map the virtual world into the physical world and vice versa [90]. To perform the location services, games need some localization devices to locate the users in the physical world. The localization devices are usually mobile devices which integrate some positioning technologies like GPS, short range proximity-sensing, a network-based positioning system, or a camera tracking system.

The Global Positioning System (GPS) is widely used by mobile devices to locate the current position of the user. GPS was developed by the U.S. Department of Defense as a satellite-based navigation system and was later released for commercial purposes [120].

In pervasive gaming, GPS is used for finding users' positions in order to process this information for interactivity between the physical and virtual worlds. GPS provides accurate position data and large coverage areas around the world, but it is hard to use in the indoor areas [120, 121]. The user needs a GPS receiver for receiving satellite signals and calculating his/her current position. GPS receivers use many different interfaces for connecting to mobile devices, including: Bluetooth, serial communication, USB, SDIO,

Compact Flash and PCMCIA interfaces. GPS can be used for outdoor pervasive games that need location services or for location-based games.

Short range proximity-sensing technologies are often used for indoor positioning system such as RFID, infrared beacons, or ultrasonic emitters [75, 122, 123]. This approach is good for indoor situations because this technology requires stationary devices. However, short range proximity-sensing technologies have an accuracy of within a few centimeters using ultrasonic positioning [76, 122]. This method can apply to some

33 pervasive games, including tracking objects in tabletop games or positioning objects in

"smart toys" [75, 123].

Network-based positioning has many techniques for localization, using wireless networks including GSM networks, CDMA networks and Wireless LAN (WLAN) networks [75, 120, 124-126]. Localization in network based positioning uses the Cell-ID of the nearest cell-site to locate the user. These features must be provided by the network manufacturers and administrators, and often come at an additional cost. This method's main problem is its inaccuracy, as it depends on the cell-site coverage and positioning method, and the mobile service provider must support location services in their networks

[120]. Indoor and outdoor usage is an advantage of using mobile phone networks to locate users' positions, but this depends on the network coverage.

A WLAN's service set identifier (SSID) can be used to locate the user's position in wireless computer networks. Mostly, this method is used for indoor positioning but the resolution depends on the WLAN station coverage. If the WLAN positioning system is well calibrated and an appropriate localization technique is used, the system will have an accuracy of about 3 meters [127]. As a result, this approach can locate the position of gamers inside buildings, and outdoors within the network areas covered by the WLAN.

Camera tracking systems usually uses image processing to determine the location of people, or objects in physical space. They use one or more cameras to capture an image and then determine the position of an object. For example, if we know a number of cameras and the focus values of each camera, we can calculate the position of a focused object by using the laws of geometric optics [122]. In addition, we can use cameras with image processing techniques to find the position of objects or users within a known

34 environment. In general, the camera tracking system needs at least two cameras for determining the position of objects in three dimensions space. It can also be used to detect the motion of a specially marked object in (6 DOF) [128].

Pervasive games can use one or all of these positioning techniques, but developers need to choose the approaches best suitable for their games. The GPS is good for outdoors positioning; short range proximity-sensing is suitable for indoor areas in a known environment. Mobile phones might use networked location services to locate their position in both indoor and outdoor areas. Mobile devices include mobile phones, PDAs, and portable computers, all of which may have a positioning feature by utilizing additional devices such as networking devices, GPS devices, RF receivers, or cameras.

Different approaches have the different characteristics (i.e. accuracy, range) which developers should keep in mind while designing their games. In short, pervasive games can utilize location services as a feature to allow the user to interact with both the virtual and physical worlds at the same time.

2.4.2.2 Sensors based games

Sensors are devices used for sensing the surrounding environment. Many pervasive games use sensors to collect information from the physical world. Sensors can supply

information such as location, motion, light, audio, temperature, pressure, , acceleration, and humidity [77, 129-131]. Sensors can be applied to pervasive games as a connection between the virtual and physical worlds.

For example, Smart jigsaw puzzles use an RFID system as a main sensor. Each jigsaw's piece has an RFID tag and a separate RFID scanner reads the information from the jigsaw pieces [132]. This system monitors the game in the physical world and assists

35 the users as an augmented reality in the virtual world. Sensors may be simple devices like switches or buttons, or more sophisticated devices like brain wave sensors in

SmartBrain[133] . SmartBrain is a videogame system which integrates neurofeedback technology from NASA, designed to improve focus, concentration, memory and learning skills. SmartBrain uses a brain wave sensor to measure the level of attention of users while playing a game. Then, the simulator will process the result and give feedback to the game in order to maintain the user's attention.

Most sensors can be used for supporting ubiquitous computing and context awareness which make pervasive games more feature-complete. Smart sensors [136] like

Smart dust or Smart-Its can perform complex tasks in order to form the ubiquitous computing environment. These sensors are able to sense the environment, perform the computation, and communicate with other sensors or devices [123, 134, 135]. For instance, the game Virrig [77] uses a Smart-Its sensor system integrated into a chair as an input device that allow users to interact more naturally with it. Smart-Its is a small-scale embedded device that can be used to augment everyday objects with sensing, computation, perception, and communication abilities. A Smart-Its system acts like a controller to retrieve data from its analog sensors and send the information to a PC server.

Context awareness is another important concept for pervasive games. Through context awareness, a game engine can be aware of the users' state, behavior patterns, positions, nearby objects or users, and the surrounding environment [115]. Sensors can be used to create context awareness and interactivity between the virtual and physical worlds. For instance, Bluetooth-embedded mobile devices can discover nearby services from other nearby devices. Users might be notified about games from the availability

36 service of other users' phones. Moreover, games can use the Bluetooth devices as distance sensors by approximating the distance between two phones or between a phone and a sensor [130]. All these methods increase the awareness that the game engine has of the surrounding environment, thus resulting in higher context awareness.

Pervasive games utilize sensors attached to users or embedded in the environment for tracking in-game events or activities. Sensors are important devices associated with pervasive gaming in term of ubiquitous computing and context awareness. Developers should pick appropriate sensors for their pervasive games in order to provide many exciting features for games.

2.4.2.3 Image processing based games

Image processing techniques are involved in many games and applications, and pervasive games can use these techniques to augment games in the virtual world with images and video from the physical world [88, 128]. Augmented reality environments consist of the virtual and physical worlds mixed together. This environment usually uses image processing methods to display and recognize objects or users. Moreover, image processing can be used to identify the location of users and objects as described in section

2.4.2.1.

In pervasive games, image processing can be used for many applications, including interacting with users or tracking events in a game [128, 137]. Cameras are mandatory image acquisition devices for real-time on-site image processing; cameras can be found in many mobile devices such as mobile phones or PDAs. For this reason, the number of pervasive games that utilize the image processing based approach are increasing, especially those designed for mobile phones and PDAs [128, 138].

37 The following are some examples of games that use image processing in the mobile phone platform. The Mozzies game in smart phones uses a simple 2D motion detection technique to create a mixed reality mosquitoes hunting game [128]. This game augments the background video from the camera with virtual insects: the user can move the phone to target the gun at an insect and shoot it [139]. The AR soccer [140] game for mobile phones and PDAs uses image processing techniques to detect the direction and speed of a user kicking his foot. The goal of this game to score a penalty shot; the user shoots the virtual ball by using his real foot competing against a virtual goal keeper [128, 140, 141].

There are many other games which utilize image processing for physical interaction, including EyeToy games on the Sony PlayStation 2 console [77, 79] and Human Pacman games playable with wearable computers and Head-mounted displays (HMD) [142].

Pervasive games can use image processing techniques for displaying and recognizing objects or users, which help to create a mixed reality world. Motion detection and virtual graphic techniques are useful for pervasive games to provide rich interactivity between virtual and physical worlds. They can be divided into three main groups based on the interaction approach: location, sensors, and image processing.

In conclusion, many pervasive games utilize location as the main feature for connecting to the physical world. Users can interact with games by using their physical location as the input. Sensors can be used in pervasive games for sensing activity in the physical world, acting as an interconnection between the virtual and physical worlds.

Image processing is another useful approach to interact with the physical world. Game engines can process images or video and then provide results to the games.

38 Some examples of methods used to engage users are as follows: making a game playable regardless of the user's location allows for user mobility, which is one of the requirements for our proposed solution; enhancing context awareness makes it possible to engage the user in activities that go beyond the game device they choose to utilize; and image processing allows games to augment their environment by integrating outside imagery and other important contextual information within the game. Thus, pervasiveness can be an integral characteristic of an engaging game architecture.

2.5 Supporting technologies

There are many technologies which can be incorporated into the framework to be designed for this research. This section surveys supporting technologies to find out how well they fit our research requirement. The supporting technologies include mobile agent technology, virtual reality, and AI techniques, all of which will be analyzed to find advantages and disadvantages. After that, these technologies will be used for the design and implementation of the framework supporting the interactivity model and in the ROG.

Mobile agent technology will be used as the main architectural element of the framework. ROG will support multiplatform devices, thus requiring appropriate technology choices. Virtual reality, in the form of reality augmentation, is the main feature of ROG, although this technology does not necessarily form an integral part of the framework. AI techniques can also be incorporated into the framework and the game to create believable NPCs [143, 144], or to immerse users by providing dynamic narrative in a game [143, 145-148]. All these technologies are further explained in the following sections.

39 2.5.1 Mobile agent technology

Mobile agent technology has become increasingly more popular in recent years because it can provide reliable performance and robustness in distributed software applications [149]. However, mobile agents are not yet widely used in comparison with the traditional client-server paradigm. Mobile agent technology needs to be standardized and supported by the software industry to help mobile agent technologies to the market.

Mobile agents applications can be used for mobile computing, high-performance computing, network management, telecommunications, multimedia, and e-commerce

[150].

This research uses the mobile agent technology as the main architectural element of the framework because it provides the many useful capabilities for developing games: expandable architecture, a logical and collaborative model, and portability (platform independence). Game architecture can be expanded easily by adding new agents for additional components that also increase the flexibility of the architecture. A logical model allows developers to see the interaction between agents from the beginning of design, so they do not need to go through the framework in detail. A collaborative model means that mobile agents can be designed for working in collaborative ways. They can perform collaborative or distributed tasks; for instance, a game server assigns mobile agents to perform distributed tasks in several computers for reducing its workload.

Portability allows game to be played across platforms, one of the ubiquity requirements.

These are the main reason why this research uses the mobile agent technology as the main architectural element of the framework.

40 The mobile agent also has the characteristics of autonomy, mobility, interactivity, flexibility, and collaboration that are suitable for design most components in the framework. This section introduces mobile agent technology, mobile agents, and standards for mobile agent technology. Next, the survey of six Java-based mobile agent platforms is presented, and TRLabs Execution Environment for Mobile Agents

(TEEMA) platform is selected for this research.

2.5.1.1 Mobile agents

Mobile agent technology consists of a platform supporting collaborating clusters of mobile agents. Mobile agents (MAs) are autonomous software objects or object clusters that can move between locations in an agent system (computer or mobile networks) while performing tasks for the user. Agents take advantage of time and location for doing work, but agents need to run and perform jobs under an agent execution environment (agent platform [150, 151]). Although most mobile agent technology relies on networking and distributed systems, it has different characteristics which make it unique. MAs have full code mobility that allows them to move from the current host to another host: they suspend their execution, move their code and object state (and sometimes execution state), and then continue to run on the destination host [149, 152].

MAs are autonomous, able to decide what to do on their own (such as decide to move to another host during execution) [152]. MAs should be aware of their environments in order to improve the level of agent intelligence that makes MAs adaptable and flexible to their environments. Moreover, their autonomy can be combined with negotiation and communication methods that allow MAs to cooperate and interact

41 together. Consequently, autonomous MAs are able to act and work independently on behalf of users in an "intelligent" manner.

Agent platforms utilize distributed systems enabling agent communication and execution. Distributed systems such as CORBA, DCOM, and RMI are used as the supporting infrastructure for most MAs [149, 153]. These will be discussed in more detail in section 2.5.1.3.

2.5.1.2 Standard for mobile agent technology

There are many agent platforms available from different vendors that are unfortunately not interoperable because of different architectures and implementations.

However, there are some standards for mobile agent technology that specify common protocols for agent platforms to interoperate with each other [153]: the Mobile Agent

System Interoperability Facility (MASIF) specifications, the Foundation for Intelligent

Physical Agents (FIPA) specifications, and the Knowledge Query Manipulation

Language (KQML). These standards are used as guidelines and frameworks at the abstract level while agents are being developed to ensure interoperability among agents from different vendors. A short description of each standard follows:

1. MASIF specification: this specification is maintained by the Object Management

Group (OMG) and defines a set of conceptual models and interfaces for a mobile

agent platform [149]. First, the conceptual model defines the entities of agents:

type of agents, agent states, agent security, agent systems, and so forth. Second,

the interfaces are the significant part of this specification as they define the

method of agent's services (such as maintaining a dynamic name and location

database of agents) and support agent management tasks [149, 154]. In short, this

42 specification is the guideline for allowing interoperation among the agent

platforms.

2. FIPA specifications: FIPA is developed by the Foundation for Intelligent Physical

Agents (FIPA [155]) which intends to promote the interoperation of various

agents and the services that they can represent. The Foundation's main goal is to

create generic interoperable agent technology, and to provide functional and

semantic interoperation by using the Agent Communication Language (ACL).

FIPA2000 is the current specification, including sub-specifications such as

abstract architecture, agent management, ACL, agent interaction, agent

monitoring, agent control, agent security management, agent software integration,

and ontology services. As a result, FIPA is ready to be implemented for any

interoperable mobile agent.

3. KQML: KQML is part of ARPA Knowledge Sharing which can be used for

exchanging information and knowledge sharing between agents or intelligent

systems [156]. This language can be used across various agent platforms for

semantic interoperation, allowing agents to communicate, interact, and negotiate

in the same format and protocol. Other similar languages that can be used for

semantic interoperation include Knowledge Interchange Format (KIF) and XML

[157, 158]. Briefly, the heterogeneous agents should use and understand the same

language and protocol for exchanging and sharing knowledge.

2.5.1.3 Java-based mobile agent platforms

Agent execution environments (agent platforms) are used for supporting MAs. This includes support for mobility, naming, communication, security, resource control,

43 persistence, agent services, and agent management [151, 153, 159]. This thesis focuses on six Java-based mobile agent platforms: Grasshopper, Aglets, Concordia, Voyager,

Odyssey, and TEEMA. Many other platforms exist, but for all intents and purposes the six described here suffice to provide enough general information on all platforms. [149,

153, 157, 159, 160] provides further information on other agent platforms.

Most mobile agent systems need to be platform independent; that is, they can run on different types of devices without needing to be recompiled when they move or migrate to other hosts 149. Java technology is one of the most suitable choices for mobile agent technology because it provides platform independence and many other features, including object orientation, security, mobile code, and built-in serialization and networking [151].

However, the adoption of Java technology for agent systems requires that the Java Virtual

Machine (JVM) runtime environment be installed in every device supporting agents.

Some well-known Java-based mobile agent platforms are briefly described as follows:

1. Grasshopper: this platform was developed by GMD FOKUS and IKV++ and is

the first one following the OMG's MASIF and FIPA specification. This agent

platform is used in many research projects in the European CLIMATEs (Cluster

for Intelligent Mobile Agents for Telecommunication Environments) [161].

Grasshopper is built on a distributed processing environment, such as CORBA

and RMI, which can integrate mobile agent technology and the client server

paradigm. Grasshopper consists of one or more agencies (agent platform) and a

Region Registry (information on agent systems). The agency is the environment

for hosting the agents and providing agent services, and the Region Registry is

used for keeping and updating information on the agents and platforms. The

44 disadvantage of this platform is that it relies on a distributed resource

management system such as CORBA.

2. Aglets: this platform was released by IBM and includes an open source

development kit (version 2 [162]). Aglets is designed for use on the Internet

because it is a Java applet that can be run on most web browsers [157]. Aglets can

be run on one host and be transported to another host on the Internet along with its

code, data, and execution state, and then it can resume execution at the

destination. This platform includes an agent execution environment (agent

platform), and agent communication and transfer protocols; moreover, Aglets

provide a rich Application Programming Interface (API) in a class library that

allows developers to easily handle the agent's behavior [149, 152]. TabiCan is an

example of an Aglets application: TabiCan is an Internet site that helps companies

to sell tickets online [157]. The advantage of this platform is that it has web

enabled agents that are flexible and lightweight for use in web browsers.

However, the agents might be limited by the applet's security restrictions, as

applets have to run within the browsers, applets have limited access to the host

computer resources, and some applets' features may not be supported by all

browsers.

3. Concordia: this platform was developed by the Mitsubishi Electric Information

Technology Center America and was designed for secure, reliable, complex, and

enterprise-ready agent applications [157]. This platform provides many rich

features including security, consistent transmission, access to legacy services and

native applications (bridge), remote management, and agent debugging [149,

45 157]. Although Concordia offers a full mobile agent framework and many

features, it is hard to find updated information or a development kit, even on

Mitsubishi's web site.

4. Voyager: Voyager is an application development platform for distributed Java

applications, a product of Recursion Software, Inc. [163]. This system supports

both distributed computing and mobile agents and is designed for supporting

communications between mobile objects and autonomous agents. This platform

views an agent as a special kind of object that can move autonomously and

continue to execute on the destination host, and provides some flexible security

options such as firewall tunneling and secure socket layer (SSL) communications.

Voyager has been used for development in many areas of mobile agent

application: e-commerce applications, entertainment and broadcasting, intrusion

detection systems, home health care via mobile devices, and telecommunications

applications. Moreover, this platform supports multi-platform devices including

computers, mobile phones and PDAs [158, 163]. Although Voyager is an up-to-

date product, it is unfortunately not open source.

5. Odyssey: this mobile agent platform was created by General Magic and is the

second generation of Telescript [149]. Telescript might have been the first

available mobile agent platform; regardless, Java was added to it to create the

Odyssey platform. Information about this platform is insufficient and difficult to

find [153], and unfortunately the Odyssey and General Magic companies are no

longer in operation.

46 6. TEEMA: the TRLabs Execution Environment for Mobile Agents (TEEMA [164])

is developed by TRLabs Regina. This mobile agent platform was chosen for this

research as a reference agent platform for the framework because it has a great

potential for game development. TEEMA is described in more detail in the next

section.

TRLabs Execution Environment for Mobile Agents (TEEMA) is a Java-based mobile agent platform developed by TRLabs Regina [164]. The key features of TEEMA include simplicity, ease of use, and a flexible and lightweight platform - it can be used in mobile devices such as PDAs.

The TEEMA platform supports mobile agents with many services that allow agents to initialize, migrate, send messages, collaborate, and destroy themselves [164]. TEEMA provides an abstract agent class for developers to easily implement their mobile agents. A

TEEMA program consists of single JAR file and some configuration files which can be run on a JVM. This platform is easy and flexible to use because it offers a good graphics user interface (GUI), making it easily accessible beginners and experts alike, while still providing a command line interface for experts [164]. In addition, this platform has a logging service which records information for monitoring and debugging purposes.

TEEMA utilizes the platform independence feature from Java that allows this platform to run on many different devices, such as computers, game consoles, PDAs, and mobile phones.

TEEMA's features suggest that it can be used for supporting the framework as the agent execution environment (platform) and development kit (mobile agents). The

47 features of mobile agents, including autonomy, intelligence, negotiation, and collaboration make them suitable for game development.

2.5.2 Virtual reality

Virtual Reality (VR) is a computer generated graphics environment in which it is possible to interact with the virtual world using synthesized 3D graphics, sound, and force feedback [165-167]. VR has been in development for many decades, and is commonly known as Virtual Environment (VE) in the academic realm [165, 166]. VE consists of a simulated world that provides the synthesized components of virtual world in order to achieve the sense of illusions: visual images, sound, tracking position, tactile

(touch), and feedback [165].

VR can be used to increase the level of immersion and interaction in games. This section presents information on VR and introduces the key technologies for VR, the types of VR, and surveys VR in games.

2.5.2.1 The key technologies for VR

The key technologies for VR are real-time computer graphics and the simulated software used to create the VR system. Computer graphics are the most important component for VR to represent the virtual world, normally displayed in 3D [165, 167].

The head mounted device, or HMD, is the main device used to offer a realistic stereoscopic sensation because it has two separate images for the left and right eyes.

Moreover, it can be enhanced with the head tracking technologies that allow users to turn their heads in reality and have the game perspective shift in a corresponding direction in

48 the virtual environment [166]. VR can also be used to immerse users by using a big

screen with a panoramic view; this method is often used in vehicle simulators [165, 167].

There are many interaction methods in VR such as virtual hands, controllers, or speech which are used to interact with the VR system. The virtual hand represents the user's hand in the virtual world, controlled with an interactive glove or controller devices

such as gyro mice [166, 167]. The virtual hand allows users to interact and manipulate objects in the virtual world. For example, the user wears an interactive glove and controls the virtual hand to touch, grab, and move a virtual chair in the virtual world, or performs a gesture to command the system to change the virtual world from day into night [165].

Vehicle or flight simulators always allow users to use controllers to interact with the

system. Such devices include steering wheels, game controllers, flight yokes, and joysticks. These devices provide realistic control and allow users feel immersed in the simulated world. Controllers can enhance the realism of the game by utilizing force feedback features, so if a user's airplane is strafed with machine gun fire, the user can feel the plane shudder through the controller. Moreover, speech recognition can be used to allow users to interact with the system naturally. Conversely, the system can synthesize speech to communicate with users as well.

Simulated software creates and simulates the virtual world for users to interact with it. The simulated software is designed for many purposes, including offline training and rehearsal, online design, tools for research, communication, engineering, architecture, science, and entertainment [165-167].

49 2.5.2.2 VR categories

There are three main categories of VR: immersive, non-immersive, and augmented reality [165]. Immersive systems separate the users from the real world by replacing their view of the real world with a synthesized image which reacts to their head's movement

(position and orientation) [80]. This approach requires a HMD with head tracking abilities to immerse users in a virtual world. For example, the Head Mount Based Theatre from StrayLight provides an immersive theatre that allows viewers to see a movie through their HMD [165]. Astronauts can use training simulators to simulate their missions before they go into space. In short, this approach immerses and separates users from the real world and allows them to interact in the virtual world.

The term non-immersive VR is used to describe non-HMD displays that show the virtual world. It usually allows users to observe the virtual world through display devices like monitors, and the users can still be aware of the real world around them as well

[165]. The user can interact with a virtual world through input devices such as interactive gloves or mice which enable users to control input in six degrees of freedom (DOF). A good example of the non-immersive system is a flight simulator that replicates the cockpit of an airplane: pilots stay inside the cockpit and gaze out through the panoramic windows that display the synthesized images. It offers a realistic flying simulation by using a realistic 3D landscape, real instruments, and a force feedback cockpit through hydraulic rams [165]. Non-immersive VR is often used in Computer Aid Design (CAD) applications which increase the ability of user to translate and rotate an object in 3D space in six DOF. Moreover, it uses a first-person perspective found in games like Unreal

Tournament.

50 Augmented reality is another approach of VR that allow the users to view the real world with virtual images overlaid over reality, and tries to blur the distinction between the virtual and the real worlds by using novel input and output mechanisms [90, 116, 165,

168]. For instance, an HMD can display simulated images on a real classroom whiteboard, allowing users to see different pieces of information depending on the input to their HMD, or visual or auditory information (such as a weather forecast) can be overlaid by an HMD while still participating in the physical world [77, 116, 141, 142,

165]. The augmented reality approach, sometimes referred to as mixed reality, overlays a virtual image on top of the real world [53, 128, 141, 142]. A practical example of augmented reality is the HMD system for a fighter pilot, which allows the pilot to see the physical world while still giving the pilot access to important electronic information. The

HMD displays such information as route navigation and target highlighting [165].

2.5.2.3 VR in games

Appropriately-applied VR technology in a game can draw users into the game and provide an exciting experience for them. All VR approaches can be applied to games as is appropriate for each approach. Immersive VR can segregate the users into the game world and can be found in 3D immersive games such as CyberTron and Virtuality

Boxing [165]. Such games normally require an HMD to allow for a completely virtual view and special input devices to manipulate the game in six DOF. Arcade flight or vehicle simulators are examples of non-immersive games; first-person perspective games can be categorized in this approach as well. Augmented reality can be applied to many kinds of game, including pervasive games, because the concepts of augmented reality support the principles of pervasive gaming [75, 115, 116, 119]. There are many games

51 that use augmented reality, including Tankwar [80], Human Pacman [142], and ARQuake

[75].

VR technologies in games have been developing for many decades, but the main obstacle for the widespread acceptance of VR is expensive hardware, particularly HMDs or tracking devices; the VR system relies on the precise tracking of users and their gaze orientation, which costs a lot of money for a high degree of precision. Consequently, immersive VR cannot be widely deployed right now, but it is suitable for academic research such as Human Pacman and suitable for Arcade video games [142, 167]. On the other hand, augmented reality is becoming popular with most advanced pervasive games that increase the capability of interactivity between the virtual and real world; for example, the Mozzies game [75] and the AR soccer [148] which are described in section

2.4.2.3.

Augmented or mixed reality is included in ROG as one interaction method to demonstrate how image interaction can fit in the prototype. A Tablet PC with an attached camera is used as "the window into the virtual space": the user can see the virtual objects mixed with the real world through the display.

VR is suitable for games, but such a technology needs to be used in an appropriate way in order to increase the immersion of the users. The proposed framework uses augmented reality to increase the level of interaction and immersion. Augmented reality is also suitable for deployment with ROG.

There are many supporting technologies that we surveyed: mobile agent technology and virtual reality. All of these supporting technologies can be used for our architecture with pro and cons as highlighted, and it is good to provide the features of ubiquity,

52 interactivity, mobility, and pervasiveness. Some of supporting technologies are suitable for our framework, and the evaluation and adoption of these technologies are presented in the Chapter 4.

2.6 Believability and AI in games

AI is a significant factor in assuring that games are successful and interesting [144,

169]. It can be applied to a variety of tasks in games, from "low level" to "high level" AI techniques. For example, pathfinding is a low level AI technique which is used for finding a movement path for NPCs and player characters [146]. AI can also learn and predict the behavior of users in order to plan and act against the users, which is considered to be high level AI technique [145, 170]. AI can help users to be attracted and immersed by a game environment which would otherwise not be as interesting. The goal for applying AI to games is to challenge, not frustrate, users in an attempt to make the game more realistic [146].

The proposed framework focuses on using AI to create believable NPCs that make games more realistic. If characters in a game are more realistic, then the level of immersion for the user will be higher. Believable NPCs also engage and challenge users, thus increasing the level of user engagement in a game. The believable NPCs should make users feel like they are playing with other users in a plausible way [171]. Believable

NPCs also support the concept of ubiquity by providing continuous gameplay in both online and offline modes. Believable NPCs are a solution for connectivity problem in the

MMORPG model.

Most AI techniques are mainly used for enhancing the humanlike behavior of NPCs.

There are two common types of game AI techniques: deterministic and nondeterministic.

53 Deterministic behavior is predictable: for instance, basic chasing algorithm can be coded in a simple way to chase a target based on target's position in x and y coordinates.

Nondeterministic behavior is unpredictable with some level of uncertainty, and nondeterministic methods enable NPCs to learn and extrapolate on their own; for example, a Bayesian network is used for a decision making based on past experience and uncertainty game world. There are many common game AI techniques that are covered in textbooks and publications [144, 146-148, 172-183].

The next section investigates basic concepts of Non Player Characters, AI techniques in games, and narrative methods related to games. These AI backgrounds are used as a guideline for creating the believable NPCs in the framework. In last section, the Turing test will be introduced as an evaluation method of NPCs.

2.6.1 Non player characters (NPCs)

This section introduces common AI techniques that are used to create the NPCs in most games. The proposed framework includes all techniques in this literature review to create regular NPCs. Then, ROG implements some AI techniques to make the NPCs reach the level of believability.

There are two kinds of characters in games: player characters (human controlled characters) and non-player character (machine controlled characters), or NPCs. Users control their characters to interact within the game world. On the other hand, games

(machines) can control the NPCs to interact with the game worlds in order to play with the users. The NPCs usually play roles as opponents or assistants that play against or support the users [145, 169, 176]. The main goals for NPC creation are to play against or support the users in intelligent, humanlike, and believable ways. NPCs must convince the

54 users that they are interacting with humans rather than just the game. NPCs can annoy users or break the immersion of the game if users feel that they are playing with artificial

NPCs [144, 169].

The AI techniques chosen depend on the type of game that require AI techniques

[169, 184]. There are many AI techniques for NPCs, and this thesis demonstrates how to apply AI techniques to create believable NPCs.

1. A state machine is used for controlling the behaviors of NPC and usually controls

the main actions of NPCs [185]. The state machine represents the NPCs states and

actions that can control the behaviors of NPCs in many situations. It can be finite

or based on fuzzy state machines that offer robust and easy-to-debug NPCs [181].

State machines are often used in First Person Shooting games and strategy games

such as Quake [28] and Age of Empires [39].

2. Fuzzy Logic is used for controlling the NPC or assessing threats posed by players.

Fuzzy logic [186] can be used to make a decision or to classify between player

and NPC. Fuzzy logic uses real-valued numbers between 0 to 1 to represent the

degree of Boolean logic from absolutely false (0) to absolutely true (1); therefore,

it offers more expressive reasoning with the degrees of truth.

3. Scripted AI can be used by game developers or players to script such components

as NPC properties, NPC behavior, NPC responses, and game events. Some games

have their own proprietary script language, while others interface an existing scrip

language like Python [187] to the game engine. Normally, the games read and

parse the scripts (usually standard text files) that contain the script commands.

This approach is flexible to change or modify the game, as scripts can be read and

55 parse at specific times in game. The script can be updated or changed without any

modification of game or game engine. Some MMORPGs benefit from using

scripts to adjust the game behavior or game events while the dynamic game world

is still on [180].

4. Rule-based systems consist of the simple form of a set of if-then rules that are

used to make decisions, actions, or inferences. Rule-based systems are widely

used for game AI because the systems are flexible and easy to manage:

knowledge can be encoded as modules in the game rules, and rules can be added

or modified at any order and any time.

5. A Decision Tree is used for NPCs to imitate thinking or decision-making that

depends on the situation at any given time [144, 174]. It is simpler than a state

machine that is usually used to control the overall strategy of a computer

opponent rather than simple tasks such as movement [144]. However, a decision

tree can be mixed with a state machine to make sophisticated NPCs. This

technique is simple and easy to implement as it can be mapped to simple if-then

statements.

6. Pathfinding includes many algorithms for finding an optimal path between two

points, widely used for NPC movement [146, 176-179]. The chasing and evading

algorithms are the simple algorithm to control the NPCs' movement. The most

well-known searching algorithm for pathfinding is the A* (A star) algorithm

[188-189], used for finding a path from a current position to a target position

[144, 169]. The advantage of this algorithm is the capability to add heuristic

56 functions to reduce calculations. Pathfinding techniques are mostly used in real­

time strategy (RTS) games.

7. Search methods are used for searching the solutions or possible solutions within

the search space (the set of all possible solution) to satisfy some goal. Search

methods can be applied to solve the problems in game; problem is mapped to the

search space and use search techniques to find the solution. For instance, tic-tac-

toe state space can be constructed in a graph and NPCs can search through the

graph to find the next move with the most possibility to win. If the search space is

sufficient for searching, it is a good idea to use an exhaustive search to search

through the search space in order to find the optimal solution. However, some

problems have a big space search like chess (10120 board state) that makes it

impossible to do an exhaustive search [173]. A heuristic search tries to reduce the

amount of time to find the solution in the search space by using a heuristic

function as a guide for searching.

8. Planning and scheduling systems are the extension of searching methods that

emphasize on finding the optimal strategies or action sequences, given known

environment and the consequence of each possible action. Some strategy games

utilize the planning and scheduling systems for planning game strategies.

9. Learning is another advanced technique that can be applied to NPCs to create

NPCs that adapt to users' behaviors and actions. There are some games like Black

and White [190] or Creatures 2 [191] that feature learning techniques for NPCs

as the main feature in their games, including neural-network learning

mechanisms, perceptual refinement, behavioral adaptation, and environment

57 mapping [146, 170, 176]. These learning features help NPCs to appear to be

intelligent.

10. Neural Networks are machine learning techniques that attempt to mimic the

human brain's processing capability based on the neuron and nervous systems.

Neuron networks must be trained to adjust the internal parameters (weights)

between interconnected components that allow them to learn the optimal or

appropriate response for the inputs of the learning tasks. Conversely, a neuron

network is a function providing a unique set of outputs from input. Neuron

networks can be used to replace the complex state machine or rules-based AI with

one or more trained neural networks, and it can be adapted while the game is

played. It is great for dealing with nonlinear problems, but it comes with the

problem of difficult debugging and testing. ll.Bayesian Networks [192] are graphs that model and represent the causal

relationship between different variables for a given problem. Bayesian networks

use probability theory mostly based on Bayes' rule to perform reasoning or

decision making with uncertainty and incomplete information of the game world.

Bayesian networks can be modeled to deal with specific game situations that help

the NPC to make decisions given uncertain and incomplete knowledge about the

game world. This is a nondeterministic AI method that is useful to model

decision-making inference for the NPCs, it help NPCs to deal with uncertain

information and unpredicted NPC behavior.

12. Genetic algorithms attempt to imitate the evolutionary biology, performing

selection, and evolution with randomized crossover and mutation operation within

58 the populations of programs, algorithms, or parameters. Genetic algorithms are

used to find optimal or approximate solutions of a problem. Genetic algorithms

are useful to help NPCs adapt and respond to player behavior; for instance, some

role-playing games use a genetic algorithm to manage level points to NPC

abilities such as strength, magical ability, and dexterity that could evolve to have

better balance points in the successive generation of NPCs.

13. Natural language is an advanced technique to make NPCs appear to be intelligent

enough to carry out a natural conversation with the user, as opposed to

communication through repeated scripts or templates [146]. NPCs might use AI to

generate natural language to describe or explain the current situation to users in a

game such as a commentator in sport games [184]. On the other hand, this AI

technique might be used to understand the users via text or voice, using a text

parser or speech recognition to interact with NPCs, for instance [145]. Speech

Recognition is used for converting spoken words to machine-readable input.

Some games employ speech recognition to allow players to interact with the

NPCs by using voice command or simple conversation.

14. A Stochastic Language model can be used to generate language like utterances; it

learns from the past experience (data observation in form of sequence of symbols)

[176]. This past experience is used to predict the upcoming symbol in form of a

probability distribution over the set of symbols. The model generates the output

from the predictions based on the predicted probability distribution. In natural

language, the symbols in the model might be words or characters that allow the

stochastic language model to generate phrases or sentences. To make good

59 predictions, the 2n Markov model (trigram model) is a simple way to infer a

probability distribution which is contextual on the most recent two symbols in the

sequence [176].

NPCs can employ the stochastic language model to interact with the

players via chatting; examples of such technology include Eliza [193], or

MegaHAL [194]. NPCs that have the ability to learn and use natural language will

encourage player to spend hours talking with them.

Consequently, these AI techniques can be applied to create NPCs to be more human­ like characters.

2.6.2 AI techniques in Games

Different game genres need diverse AI techniques, depending on what aspects of each genre could be enhanced by AI. This section illustrates how AI can be used in different games. AI techniques in games can be utilized in many different game genres:

1. Action games: AI can be used for making humanlike opponents in games. The

state machine and path-planning are used to control NPCs' behaviors in order to

attempt to defeat users [169, 184]; The AI opponents can respond to users' actions

or the game environment, and they can decide what to do next based on situations

and programmed strategies. An advanced AI can be applied to the opponents as

learning mechanisms to learn and recognize the users' behaviors, and then adapt

its strategies to the users. For example, the Soar Quakebot [195] is a NPC which

contains intensive AI techniques, including over 800 rules, several goals and

tactics, and knowledge of the game Quake II. The bot can play with users in the

60 game environment in intelligent ways: it can explore the game world, learn the

users' behaviors, and select appropriate tactics for playing against them [184].

2. Adventure games: AI can be used for creating narrative NPCs who aid and guide

users to follow the plot of a game. Normally, users must interact with NPCs in

appropriate ways to make progress within the game. A goal-driven method is

usually applied to NPCs to assist users. Natural language can be used to interact

with the player (i.e. storyline advancing dialogue). Moreover, AI can be used to

make the dynamic scripts of NPCs and the adaptive story; the story would then

depend on users' decisions and actions during the games.

3. Role-playing games: AI is used for controlling NPC characters such as enemies

and companions. The enemies in games might have AI for playing against the

users like action games. The user's companions can guide and help the users to

follow the plot of the game, just as in adventure games. AI is used for creating

smart interactions with users: clever partners play along with users which can

perform actions and give recommendations as to what to do next, or adaptive

supporters can adapt their scripts and provide human-like interaction (natural

language). AI can be used in high level RPGs to control whole units or even order

the players to battle each other. For instance, AI NPCs can play the role of chief

commanders to lead users into battle for MMORPGs.

4. Strategy games: strategy games widely apply pathfinding techniques for finding

the appropriate movement of the units (for instance, the movement of a unit

around terrain or another unit), and use some AI techniques to control unit

behaviors such as script or reasoning [169]. Higher level AI techniques can be

61 applied to plan and control strategies and command lower level units, freeing up

the user to make tactical decisions at a higher level.

5. Sports Games: AI is normally used in two ways in sports games. First, AI controls

the NPCs player in both partners and opponents. Second, AI controls the strategy

of the user's opponent. For example, a user controls a soccer player and lets the

AI control the rest of the user's teammates. AI also controls the strategy for all

opponents at the higher level, such as opposing managers. Another application for

AI is used for controlling the commentator; it creates a natural language for

describing what going on in the game.

6. Puzzle games: most board and puzzle games need searching techniques for

finding the appropriate solution to play against users. Such games include chess,

Go, Othello, or puzzle games [173, 184]. They usually find a good (rather than

optimal) solution because finding an optimal solution in some games (i.e. chess)

is processor-intensive and would simply take too much time. In addition, users

will find it difficult to defeat NPC opponents if they always use optimal solutions.

7. Simulation games: AI can be used for controlling NPCs or objects in the game

world. The user can manage and observe the NPCs or the game world in games

such as The Sims 2 [49]. However, NPCs will be controlled by AI, the actions of

which depend on the characters' programmed goals and strategies. AI can control

the game environment that responds to users in intelligent ways. For example, in

the game Harvest Moon: A Wonderful Life [50], plants will grow fast if the users

take good care of them. The animals on a farm will be change their behaviors

62 based on user's care and decisions: they will not produce their product (milk and

eggs) if the users sell their offspring, for instance.

There are many AI techniques in games, and the developers have to select the appropriate techniques for their games. AI techniques are necessary for most games, specifically for NPCs, game environments, and problem-solving. The proposed framework includes some of these AI techniques, and the prototype demonstrates how to use them to create the believable NPCs. To test the believability, there exists no standard method to evaluate the level of believability in NPCs [196]. The next section describes the Turing test that is adapted to evaluate the believability in the proposed framework.

2.6.3 Turing test

In 1950, Alan Mathison Turing proposed a method for testing the intelligence of a machine (computer) [197]. His test, now known as the "Turing test," is based on the question "Can machines think?" The Turing test tries to determine whether a person can be tricked into thinking that a machine is actually another person. In the test, the machine and person are set up in separate rooms and are allowed to communicate via text messages. The interrogator can communicate with the machine in the second room or the person in the third room by asking the question. After some period of time, if the interrogator cannot justify or tell the different between machine and person, the machine passes the test and qualifies as intelligent. However, this result might need to come from many judges before the machine can successfully pass the test.

The Turing test might not be the perfect method for determining whether a machine is intelligent because it has some serious gaps in its methodology, including a lack of a well-defined intelligent standard, and no clear criteria in selecting judges [175, 198].

63 However, because the success of video games do not heavily depend on scientific methodology, the Turing test or an equivalent test can be used for testing intelligent

(human-like) NPCs in some games [143, 196, 199].

Most people enjoy playing games which have intelligent and challenging opponents.

Users are hard to engage if game NPCs are not intelligent or do not adapt to a user's actions [143]. Therefore, the Turing test might be used in games to test NPC intelligence.

The ideal Turing test for a game is as follows: if the users cannot tell the different between real people and NPCs when they are playing with these characters in a game, the

NPCs qualify to pass the test. In the other words, NPCs should have human-like qualities if the game is to be interesting and engaging [143].

The Turing test can be used as a model tool for testing the intelligence of NPCs in games [196, 198-199]. The NPCs must have intelligent capabilities to convince the users that they are interesting and intelligent characters. It is hard for NPCs to pass the ideal

Turing test [198], therefore the test requires the judges to decide whether the NPCs actions and behaviors are intelligent or not. The framework will use a variant of the

Turing test to evaluate believable NPCs.

2.7 Introduction to game evaluation

An essential goal for games is enjoyment or "fun" of users, which is the most significant key of success in games [5]. The definition of "fun" is behavior or an activity that are enjoyable or amusing. An assumption is "If people have a high level of enjoyment when they are playing a game, the game should be a 'good' game." According to this assumption, the level of enjoyment can be determined the quality of game in term of user satisfaction so we need to find some evaluation criteria to assess the enjoyment of

64 users. When we have the criteria for game evaluation, we can use those criteria as game design criteria in order to produce a fun game.

There are many game design criteria for designing a rich enjoyable game that can satisfy users. Hence, understanding what makes a game fun and figuring out how to assess it are important in game design. Consequently, game evaluation is a significant key of game design as a guideline for game design and a game measurement.

The existing literatures in game evaluation are divided into two main approaches: academic game evaluation, and industrial game evaluation. First, the academia is illustrated and addressed some issues of using in evaluation. Second, industrial evaluation is described in general and addressed some weakness. This section presents background of both game academia and industry that will be useful for understanding them.

2.7.1 Academic game evaluation

There is some academic research into game evaluation, but most research has not yet provided a complete evaluation method. This research investigated the existing evaluation from some literature that provides a lot of game evaluation sources [1, 5, 6,

89, 200-203]. After investigating this research area, we summarize the game evaluation criteria and create an evaluation metric that is extracted from the literature. The examples of academic game evaluation are illustrated as the following.

GameFlow is an example of academic game evaluation using an enjoyment assessment proposed by Sweetser and Wyeth [5]. Game enjoyment can be found in the research area of media enjoyment, which many articles explained and analyzed using different models and theory. It includes attitude, cognition, involvement, parasocial interaction, disposition theory, transportation theory and flow [204]. Each model is used

65 for analyzed and assessed media enjoyment in the different point of views for that reason it cannot cover all aspects of game enjoyment [5, 204]. There are many models for evaluation of game enjoyment such as the usability and flow. For instance, measuring the usability of a game consists of three parts: the game interface includes such user interactions as control and display; game mechanics refer to the interactions of users in the game world; and game play is the challenge or problem in game [6]. Flow can be use for understanding human enjoyment; however, it can be adapted to evaluate games as well.

The GameFlow model is adapted from flow and enjoyment concepts. It integrates models of game design and evaluation that can satisfy user enjoyment. Moreover,

GameFlow can be used as a guideline for designing and evaluating games that can guide developers in creating rich enjoyment games [5]. GameFlow is composed of eight components for assessing games: concentration, challenge, player skills, control, clear goals, feedback, immersion, and social interaction. All of these components are criteria for user enjoyment in a game.

The second example proposed by Federoff [6], "Heuristics and usability guidelines for the creation and evaluation of fun in video games", provides a collection of criteria to evaluate fun or enjoyment in games. Her work consists of decades of literature review in game design guidelines and evaluation. However, there is something missing in her work, namely an evaluation model and descriptions of how to use the proposed criteria to evaluate games, so these parts are left for suggestions in the future research. This research provides a lot of useful game evaluation resources from many different articles from an academic point of view.

66 Academic game evaluation research offers a lot of game design criteria from many perspectives: from game designer, game developer, and users. We can apply the academic game evaluation in the game design phase, game development phase, and final product test. This assists game development in terms of productivity and quality. On the other hand, there is no proof that academic game evaluation is practical and accurate for game assessment. We need to prove that academic evaluation can be used effectively to evaluate games.

2.7.2 Industrial game evaluation

Industrial game evaluations are mostly published by game or technology content providers such as websites or magazines. Industrial game evaluation has not been formed as a standard yet; the evaluations are usually performed by game reviewers or game experts based on their own criteria or publishers' benchmarks.

The results of game evaluations are come from the reviewers' opinion and some publishers allow users to evaluate games too. Most of the evaluation results are shown in term of rating scores that give a subjective summary of a game from a reviewer's perspective. The result may be biased due to heuristic factors. However, we can interpret the result by reading through reviews or comparing the results from different publishers.

An example of industrial game evaluation source is a website "metacritic.com" [205] which gathers game evaluated results from many different publishers and then calculates their own score. The game scores from metacritic.com are consistent because the scores are calculated from many publishers [205].

The drawbacks of the industry game evaluation are lacking of evaluation standard, variety of assessment, and commercial bias. There is no standard for game evaluation in

67 the industry, which can cause results to be unreliable, as each reviewer has different criteria to evaluate games. Moreover, the definition of evaluation criteria from most publishers is unclear or unpublished. Some publishers' results appear to be biased when compared with others.

Chapter 3 proposes a new game evaluation model that is derived from the empirical experiment based on the criteria from both academic and industrial game evaluation.

2.8 Conclusions

Background and literature review about the state of the art in games and game technologies are presented in this chapter. This includes the definition and classification of games, interactivity, MMORPGs, supporting technologies, believability and AI in games, and game evaluation. This chapter also indicates the common problems in game design and justifies the proposed solutions.

For interactivity, applying suitable interactions with game can increase immersion and "fun"; thus, the proposed framework should make available many interactions that can be used for game development. The proposed framework supports the following interactions text, images, video, sound, sensors, locations, and networking. This framework provides methods to support social interaction in game that might be adopted from the MMORPGs model.

MMORPGs have many good characteristics that are used in ROG such as user interactivity, high social interaction, and immersion with a game world. MMORPGs also provide the ubiquitous concept of playing game anywhere and anytime, which captures the interest of a wide range of users.

68 Pervasive games support ubiquity and also increase the level of engagement for users. Benefits include making a game playable regardless of the user's location allows for user mobility, which is one of the requirements for our proposed solution; enhancing context awareness makes it possible to engage the user in activities that go beyond the game device they choose to utilize; and image processing allows for games to augment their environment by integrating outside imagery and other important contextual information within the game. Thus, pervasiveness is an integral characteristic of this framework.

The supporting technologies for the framework are chosen from some of those that we had surveyed, including mobile agent technology and virtual reality. Suitable technologies are used for our architecture to provide ubiquity, interactivity, mobility, and pervasiveness. An evaluation and an adoption of these technologies are presented in the

Chapter 4.

The proposed framework focuses on using AI to create believable NPCs to make the game more believable in terms of characters in the game world. Believable NPCs should be used for playing with the users, and should make users feel like they are playing with other users. The principle of believable NPCs also supports ubiquity by providing continuous gameplay when users are not able to connect to the network. In other words, believable NPCs will be the solution for the connectivity problem in a MMORPG model.

Believable NPCs also engage and challenge users, which that increases the level of engagement in game.

69 After investigation in the game entertainment area, there are some common problems in most games: narrow game concepts, dependent platforms, and lack of interaction in

MMORPG.

First, most games are designed with a very limited scope which affects their expandability and limits the type of interaction." Second, most games are released for specific platforms that for the most part do not allow users to play the same game across different platforms. Rather, users are limited to playing only the games that are available for their platform devices, which means that if customers want to play a wider variety of games, they need to spend more money to purchase an additional console. Next, most games offer only one or two interaction methods for the user to interact with the game.

This may not enough to engage users unless the game provides very good interaction.

Finally, most MMORPGs face the problem of network connectivity in that users cannot play the game if they are not connected to the game server. This problem affects users who have no Internet accessibility or have an unstable network connection.

This thesis proposes a way to solve these game design problems by introducing a general framework for supporting the new type of gameplay: ubiquity, interactivity, and believability. This framework utilizes the Java's platform independence feature to create a ubiquitous game that can run on various platform devices. Many interactions are included in this framework that provide rich interactivity for games: users can interact with the game world and physical world, for example, and users can have high social interactions in game with other users. Many AI techniques are used for creating believable NPCs to interact with users. This framework relies on mobile agent

70 technology as the main architectural element, supporting multi-platforms devices, collaboration, and mobile agent features.

In conclusion, this thesis indicates the problems of the game technology from the literature, and then proposes a solution for the game design include game concepts, framework, and a prototype. To solve the problem in game design, the solution should have these characteristics: ubiquity, interactivity, believability, mobility, engagement, immersion, and challenge.

71 3 GAME EVALUATION

In the previous chapter, the concepts and technologies were presented as the components of game creation and the background of game evaluation. The previous chapter also indicated the common problems of game design and proposed the initial solutions for those problems. Game design requires many concepts and technologies in order to create engaging, attractive, and immersive games to make games fun and enjoyable. There is a problem how developers can know the quality of their game design, and what the game design criteria is used for designing good games.

An experiment was conducted to find the game evaluation solution that can be used to justify and distinguish between "good" and "bad" games. The game evaluation criteria were taken from game industry and academia [1, 5, 6, 89, 200-203, 205]. The experimental data was collected and analyzed to create a new game evaluation method.

This chapter presents game evaluation method and game design criteria from the experiment that can be used to evaluate and to guide any games from game design through final product.

Game evaluation is an important part of the game design and development; it is used to evaluate the quality of game design that indicate how "good" or "bad" of games.

Moreover, the game evaluation consists of game design criteria that can be used as a guideline for game design and development in order to create a "good" game.

In considering the literature review on game evaluation, there are a lot of game evaluations in the game industry that provide evaluation results based on their own measurement. On the other hand, there are few comparative studies in academia [1, 6].

72 Most users are influenced by game industry' evaluations (reviews), which are usually illustrated in format of expert reviews and some sort of rating scores. The game industry has done many evaluations to measure the level of games in term of scores that we believe can represent the level of "fun". In academia, researchers focus on game design classification to build the criteria for game design. The design criteria are used to assess game during the development or the final product; the result of the evaluation can represent the quality of games.

The game industry and academia are working on game evaluation from different perspectives. Whereas the industry is more concerned about whether games are enjoyable, academia uses specific game design criteria to rate games. These two distinct elements, however, may be able to be linked together. If we can find that connection, we will be able to build a high quality and fun game by following game design criteria that relate to pure entertainment.

A goal of this research is to create a new game evaluation method from industrial assessment and academic game design criteria that will be used for game design and game evaluation. First, we will discuss the meaning of "fun" in games and learn how the game industry measures it. Then, we will find game design criteria for game evaluation from academia. After we surveyed game evaluation from both industry and academia, an experiment was conducted to find a game evaluation model that can define a game in terms of both enjoyment and academic game design criteria.

The experiment collects and analyzes data from 60 games. At this point, we use three statistical techniques to analyze the collected data and to model the game evaluation.

Descriptive analysis is used to reduce the number of game design criteria [211]. Principal

73 component analysis is used to detect structure in the relationships between game design criteria [212]. Linear regression analysis is used to find the linear relationships between the level of "fun" and game design criteria, and to create a game evaluation model [213].

As a result, a model emerges that combines these two distinct perspectives.

3.1 Evaluation criteria

Evaluation Criteria can include many definitions from both academia and industry.

However, it is hard to directly assess the level of fun or enjoyment in games. Thus, the level of fun needs to be measured indirectly from some evaluation criteria. This section shows the criteria and method to evaluate game in many aspects like usability, satisfaction, and overall evaluation.

Firstly, video games are software that can be assessed based on software assessment standards. Usability is suitable for game evaluation because it can indicate the degree of game quality from a user's perspective. A current standard used to evaluate software is

ISO 9241-11 [206]. This standard specifies how to evaluate the degree of usability that specified users can achieve specified goals in a particular environment with effectiveness

(accuracy and completeness of the goals achieved), efficiency (the resources used to complete goals), and satisfaction (the users' attitudes) [6]. These measurements can be used to evaluate usability in games. The effectiveness and efficiency will be used to evaluate the quality of game following the game specification. This standard is not entirely applicable to games though: in games, a restriction in usability can be part of the design, as it happens in puzzle games, for example. The most important standard is user satisfaction because if people are not satisfied of a game they will not continue to play it, nor will they encourage others to do so.

74 Secondly, satisfaction directly relates to both a game interface and gameplay that mostly make a game fun [207]. However, satisfaction for games must be more than game interface and gameplay; it is a multidimensional concept involving immersion, entertainment, and engagement [6]. The evaluation method is based on satisfaction and will use both objective and subjective measures [206]. Objective measures can be based on observation of the behavior or monitoring the physiological responses of the users

[206]. Subjective measures are derived from users' subjectively-expressed reactions, attitudes, or opinions [206]. However, the method of satisfaction evaluation is just the concept with unclear information about how to evaluate it. This evaluation method is time intensive to evaluate and usually is used in academic game evaluation.

Finally, overall evaluation is used in industrial game evaluation and mostly provides the results of evaluation in term of an overall score. This evaluation might be the closest method to assess the degree of "fun" based on expert review. This research investigates the evaluation criteria from many industrial game evaluation sources [205]. A list of evaluation factors from the game industrial can be found in appendix B. The criteria of overall evaluation mostly consist of four to five factors. The most common factors used to calculate a game's overall score are gameplay, graphics, sound, control, and replayability. Some industrial evaluation sources publish the users' evaluation scores and most of the results tend to be similar. As the result, the overall criteria can indicate of the quality of a game by ranking scores from lowest to highest. Most highly scored games get a good feedback from users; hence, we can imply that users are satisfied with these games.

75 In short, the criteria for game evaluation come from both academic and industrial game evaluation. The industrial evaluation emphasizes the determination of the degree of fun and satisfaction of users, and they evaluate game based on subjective measurement.

On the other hand, the academic game evaluation mostly emphasizes on how to evaluate the quality of game design and also defines a set of the game design criteria for fun as well.

3.2 Evaluation analysis

After investigation in game evaluation, we learnt that the overall evaluation score from industrial side could represent the degree of fun for each game. However, this score come from the external sources, which includes expert reviews. Hence, this evaluation is not good for game design or game development that needs to be evaluated during the development as the academic game evaluation does. A solution for this situation is to find a connection (game evaluation model) between these two evaluation approaches can reveal the game design criteria for fun assessment that is suitable to evaluate both game design and final product.

In order to find out what are the criteria for fun assessment, we used the evaluation criteria from some literature to evaluate games and then analyze the result. 60 games were sampled for the experiment; this is a suitable number of samples for the evaluation

(0.05 alpha level with 3% margin of error) [208-210]. These games were chosen from many game genres [24] (action, adventure, role-playing (RPGs), simulation, strategy, and puzzle games) and many game platforms (game consoles, portable gaming devices, computer, PDAs, and mobile phones) in order to cover most of game arena.

76 For the evaluation criteria, this research makes use of the existing evaluation metrics from some articles to evaluate games [5, 6, 89]. However, the existing metrics are not complete in terms of how to evaluate it so this research fulfills this point by recreating an evaluation metric with scale based assessment. The new scale based evaluation metric makes the assessment more convenient than the subjective measurement. The evaluation metric is composed of 59 variables which are classified into five main groups: game interface, gameplay, game mechanic, immersion, and social interaction. A list of the evaluation variables is shown in the appendix B.

The result from game evaluation was collected from an external and an internal evaluation. The external evaluation is the overall game scores from a reliable source

(metacritic.com) [205]; we use the external scores as a reference for the level of enjoyment in each game. Metacritic.com is more reliable source than a single evaluation in a statistical sense, because it is an aggregate score and thus is a better estimate of the actual score of a game as the number of evaluations increases (sample size). The internal evaluation is the evaluation of the design parameters of a game. We must perform the internal evaluation because no one has done this before. Experts played all games in our selected sample and gave them scores based on 59 criteria.

As stated in the introduction, the goal of this analysis is to try to link some game evaluation criteria to the meaning of fun. The analysis process allowed the use of some statistical techniques to analyze and extract significant information from the collected data.

77 First, we used a descriptive method to obtain some basic statistical characteristics of the data. This process was the first step to prepare the data for further analysis. We found out that 23 variables must be eliminated from the evaluation metric after we had done a frequency analysis [210, 211]. We could not use these 23 variables to justify the quality of game because we noticed that their results almost fall into one direction. These variables cannot be used to distinguish between a good and bad game. However, the 23 eliminated variables are useful to be a recommendation as a basic recipe for game design.

Second, we considered the remaining 36 variables that would determine the enjoyability of a game. We still had lot of variables for the evaluation criteria, some of which were redundant. We started doing principal component analysis [212] to check if they were any structure among the variables or not. The result showed some correlations between the variables; we could group some variables together and interpret the meaning of each group. We used principal component analysis to reduce the number of variables by grouping it together and picked some variables to represent their group. At this point, we did not find any variables that would assist us in classifying the level of enjoyment in a game, but we did know that there were some strong correlations among the variables.

Third, principal component analysis could not identify criteria for determining the level of enjoyment in a game because this is hard to assess and an unambiguous definition cannot be directly found. We then used multiple regression analysis to find an evaluation model that could estimate the level of fun from some of our variables [213]. A game score from external source (industrial evaluation [205]) was used as the reference for level of fun. We used a backward regression technique [213] to find an evaluation model. This technique removed the variables in the evaluation model one by one until the

78 evaluation model fit. The backward regression started considering all 36 variables at the beginning, and then excluded variables until only ten relevant variables remained.

Consequently, we discovered an evaluation model that is able to evaluate the level of enjoyment in a game, and the ten variables in this model can be used as the main criteria for game design.

As an aside, this analysis gave us interesting information about the correlation of the immersion in game with some variables. Immersion is another significant key that most games should have. Normally, it is hard to assess the level of a game's immersion whether using objective or subjective measurement. According to the correlation analysis, however, there are four variables which can represent immersion: game interaction, game control and feedback, sound, and social interaction. All of these variables can be evaluated directly and they reveal the level of immersion in game.

3.3 Evaluation model

Our evaluation model is derived from the multiple regression analysis, and this model can be used to estimate the level of fun from development to postmortem. The model is illustrated in equation 3.1 and contains ten variables that show in the table 3.1.

All criteria must be assessed using a scaled score, and the estimation results in scale score from 0 to 100. This score can be interpreted to show the estimated level of fun from low to high as same as estimate the quality of game from bad to good. The evaluation model is general and precise to evaluate most games. Game developers can anticipate their design by using the evaluation criteria as a guideline for game design, and they also use this model to evaluate their game during the development to maintain quality of game.

79 PredictedScore = 5.5A+1.9B+1.6C+2.4D+1.9E+4.5F+4.8G+6.6H+3.3I+3.3J

Equation 3.1

Table 3.1 Evaluation criteria Criteria Criteria's descriptions A Minimize control options [214] 0-^4: Complex and difficult control -> Minimize control B Follow the trends set by the gaming community to shorten the learning curve [204, 191] 0 -> 4 : Not follow the trends set -> follow the trends set C Players should be able to save games in different states [6, 15] 0 -> 4 : Unable to save game -> free to save game D Intermediate goals should be clear and presented at the appropriate times [5] 0-^4: No clear goal -> Presented clear goal at appropriate times E Make game replayable [214] 0 -> 4 : Lack replayable -> replayable F Should use visual and audio effects to arouse interest [214, 216] 0 -> 4 : Lack visual and audio effects -> Stimulated visual and audio effects G Players should become less aware of their surroundings [5, 203] 0 -> 4 : Aware of surroundings -> Not aware of surroundings H Game should increase the players' skill at the appropriate pace as they progress through the game [5] 0 : No skill development 1 : Progressive skill development I Allow player to build content [214] 0 : Not allow 1 : Allow J Build as though the world is going on whether your character is there or not [6] 0 : Static game world 1 : Dynamic game world

According to the evaluation model, criteria A and F have more coefficient weight than the other criteria. It means these two criteria are significant in score calculation.

Under Criteria A, "Minimize control options", a game should not be complex and difficult in control. Criteria F, "Should use visual and audio effects to arouse interest", is a fundamental evaluation factor in the industrial game evaluation. The remaining 8 criteria in the model are also important to estimate the evaluation score from many aspects such as game interface, gameplay, and immersion. The evaluation model can

80 accurately predict an evaluation score that has the standard error of estimate 4.26. This small error confirms the accurate of the model which less than 10%. To answer "Do these ten variables reliably predict the evaluation score?", we ran the ANOVA test to find the answer. The result showed that the model p-value (0.0000) is smaller than the alpha level

(0.05); we can conclude that, yes these ten variables reliably predict a game's evaluation score. Figure 3.1 shows a histogram of regression standardized residual that has a normal distributed form. Figure 3.2 shows a normal P-P plot of regression standardized residual that has some small errors. Both figures confirm that the game evaluation model is fit very well and has some small errors [211]. These evaluation model's variables can be used as main criteria for game design in order to make a good game. We can use these ten criteria to polish the game and to maintain the quality of the game from the design process to the final product evaluation.

Dependent Variable: Review scores by experts

U. 4

Mean =-0.02 Std. Dey. =0.9*7 N=€0 -10)2 Regression Standardized Residual

Figure 3.1 Histogram of regression standardized residual

81 Dependent Variable: Review scores by experts

Observed Cum Prob

Figure 3.2 Normal P-P Plot of regression standardized residual

3.4 Case study

To test the evaluation model, we used the model to evaluate two games to see how accurate of the prediction scores compare with the industrial score. We picked 2 high score games to evaluate with our model: Half Life 2 (PC), and The Elder Scrolls IV:

Oblivion (Playstation 3). An expert played both games and gave the scores to the evaluation model; and then, we used our model to calculate the predicted scores as shown in table 3.2 (find a full detail of evaluation in appendix B).

Table 3.2 Test case of evaluation model Games Predicted score Industrial score Half Life 2 98.4 96 The Elder Scrolls IV: Oblivion 96.5 93

82 The prediction scores are close to the industrial scores, which made us confidence that our model is precise and good for game evaluation. At this point, we investigated more about whether it is possible to reduce the number of criteria of evaluation model. A multiple regression was run to create a new model that consists of six variables as shown

in equation 3.2.

PredictedScore = 5A+3.5C+4E+5F+5.2G+10.2H

Equation 3.2

This model has only six variables which are the main criteria for game evaluation.

We recalculated the prediction scores of those two games with this new model to examine the result compare with the previous evaluation model (10 variables). The result show that both games got the same score 96.7 from this six variable model. This means that the six variables model can be used to evaluate the games in general components.

However, this model cannot distinguish the score between these two games, unlike the previous model.

According to this case study, we noticed that both evaluation models could be used to evaluate the games precisely. The six variables model (equation 3.2) can predict the game score from the only six criteria as the main component for evaluation. This model is good for the general evaluation because it is convenient to use. The ten variables can be used to evaluate games in fine resolution; for example, it can distinguish between good game and excellent game. It needs much more effort to evaluate a game with ten criteria than with the six criteria model.

There is a tradeoff between using these two evaluation models: the six variables model is convenient but is less precise; the ten variables model is inconvenient but is more exact. Game testers may choose the model to evaluate game depend on the

83 situation; for instant, they may choose six variables model to evaluate a game because it fast and convenient. For game developers, they may build a game to follow the 10 criteria to create an excellent game, and the evaluation model is used for the quality assurance while in development.

In short, we recommend the ten variables model as a first choice for game evaluation model because it is precise and is a good design criteria for game design.

3.5 Conclusions

This chapter presented the meaning of fun in game and the criteria for the assessment of a game's level of entertainment. Fun, or user enjoyment, is the essential key to success in game design, and yet it cannot be evaluated directly. However, we can determine the level of a game's entertainment by using specific criteria. This research investigates research in game evaluation from both an academic and industrial game perspective to find methods to evaluate the level of fun in a game. Unfortunately, there are no any complete evaluation methods for fun assessment, so we developed our game evaluation model.

This research evaluated 60 games with 59 game design criteria and then applied some statistical analysis to find the criteria for fun assessment. The analysis result comes up with the evaluation model with ten criteria. A case study shows a good result of the evaluation model: the evaluation model can predict the level of fun very close to the industrial game evaluation score. As a result, the evaluation model can be used to predict the level of fun during game design and the final product, and the ten evaluation criteria are used as the main criteria for game design.

84 4 SOLUTION DESIGN

In the previous chapters, the concepts, technologies, and game design criteria were presented as the components of game creation. This chapter purposes a new game design that included game concept, framework, game architecture, and component detail.

Game design requires many concepts and technologies in order to create engaging, attractive, and immersive games. According to literature review and game evaluation in previous chapters, our new game design should have these characteristics: ubiquity, interactivity, believability, mobility, engagement, immersion, challenge, and the ten evaluation criteria method (discussed in Chapter 3) as the main design criteria.

In considering the literature review, ubiquity, interactivity, and believability are the biggest concerns of MMORPGs and pervasive games at the moment. We believe that adding ubiquity, a new interactivity model, and believability can help them achieve the goals of engagement, immersion, and fun. Some parts from the literature review can be used to create the framework, such as some interaction methods, MMORPGs' model, pervasive gaming, mobile agent technology, augmented reality, and some AI techniques.

From the game evaluation model, ten evaluation criteria can be used as the design criteria. The ten evaluation criteria are used to evaluate the new game design in order to measure and maintain the quality of the design.

Components that do not exist in the review are proposed to achieve our goals: ubiquity, a new interactivity model, and believable NPCs - all of which are the contributions to new game design.

85 Ubiquity, or platform independence, will help to make pervasive games and

MMORPGs more ubiquitous, and also engage many users to play a game with any of the wide range of devices supported by the framework. The interactivity allows users to interact with game in many ways including text, images, video, sound, sensors, location, and network. This interactivity can be used to increase the level of fun, and immersion in game that users can interact with the game world and physical world at the same time.

Ubiquity concern in MMORPGs can be solved by having believable NPCs to play with the users whether they are connected to the Internet or not. Believable NPCs should fulfill the requirement of ubiquity in our game.

This chapter proposes the solution design for the new type of gameplay that can offer the new experience of gameplay and engage a wide range of users. This chapter starts by describing the overall concepts of game creation and the scope of work. Then, a framework is proposed including architecture and component detail.

4.1 Scope of work

This research developed a framework for supporting the new type of gameplay concept. The framework utilizes mobile agent technology as the main architectural element which provides multi-platform collaboration and incorporates the many features of mobile agents. Next, this framework is applied to the creation of the prototype game

(ROG). The scope of work is listed as the following:

1. To create a framework supporting the new type of gameplay.

2. To ensure that the framework is general enough to develop games according to

these concepts in the future.

3. To create the prototype to prove this research's concepts.

86 4. To deploy and test the prototype with public audiences.

5. To evaluate the framework based on the key features of the system - the

framework should successfully incorporate most of these features.

The hypothesis of this thesis is that adding ubiquity, an expanded interactivity model, and believability to current games can bring new experience, engagement, enjoyment, and immersion for users. The goals of this research include creating new type of gameplay, a framework, and the prototype itself.

4.2 Game design criteria

In order to create the game development framework, the game design criteria must be addressed as the main design criteria. The research investigated the literature review and the game evaluation in previous chapters. As a result of this research, the list of game design criteria is created as shown in Table 4.1. Game design criteria consist of 17 criteria that were derived from the literature review (No. 1-7) and game evaluation model

(No. 8-17). They account for the estimation of fun in the game and for some fundamental concepts of game design related to the specific genre. According to the objective of this research, the game design criteria (No. 1-7) must be considered as the primary criteria in order to achieve the goals of this research. The game design criteria (No. 8-17) are considered as the criteria to make a good game. Hereafter, the game design criteria are considered for designing and assessment of the framework and the new game in designing framework, game development, and game evaluation.

87 Table 4.1 Game design criteria No. Game design criteria 1 Game should have ubiquity 2 Provide much interactivity 3 NPCs should have believability 4 Game should have mobility 5 Game should engage players 6 Game should immerse players 7 Game should challenge players 8 Minimize control options [214] 9 Follow the trends set by the gaming community to shorten the learning curve [204, 2151 10 Players should be able to save games in different states [6, 15] 11 Intermediate goals should be clear and presented at the appropriate times [51 12 Make game replayable [214] 13 Should use visual and audio effects to arouse interest [214, 2161 14 Players should become less aware of their surroundings [5, 203] 15 Game should increase the players' skill at the appropriate pace as they progress through the game [51 16 Allow player to build content [214] 17 Build as though the world is going on whether your character is there or not [6]

4.3 Game development framework

This research design and develop the framework for supporting new type of game- playing and rich interactivity models. The framework allows developers to add new features such as ubiquity, new interactivity, and believability to their game. Developers can use and follow the framework as a development guideline tool. Game design criteria are considered with this framework to ensure that the framework is able to support the new game design.

The framework consists of a game architecture and a game library. A game architecture is the most important part of the framework that models all the necessary components for new game design. After all components are defined, they are built and kept in the game library; developers can easily adapt the library to fit their games. The

88 game architecture is described in the next section, and the game library can be found in the DVD attached to this thesis.

4.4 Game architecture

The game architecture is designed to support the new game design; the game design criteria from the previous chapters are used as the main design criteria as shown in Table

4.1. This architecture is generally applied to any game that wants to offer a new type of game play. The architecture illustrates the overall concept of new game design in term of components with their relationships. Therefore, developers can understand the new concepts along with the components that they can apply this architecture to their game.

The architecture utilizes mobile agent technology which provides multi-platform collaboration and incorporates many features of mobile agents. Using mobile agent as a main architectural element provides many benefits for the framework: flexibility, scalability, and mobility. These mobile agent features make the framework easy to design and implement. Most components can be modeled in the agent fashion. Developers need to understand the mobile agent concept in order to use the framework because it is slightly different from the OOP or procedural programming paradigm. The game architecture is illustrated in Figure 4.1

The game architecture is composed of 3 main parts: game client, game server, and interactive environment. These three main components provide game services that allow developers flexible to create their game. For instance, game client can be used for creating stand-alone game, or it can be a client of massive multi-player online game. In addition, game servers are used for games that need the online features, and the interactive environment provides interactive methods for games. All three components

89 should be included in a game to provide the new type of gameplay; maximizing or fully utilizing this architecture to a game should deliver a new experience of gameplay and engage a wide range of users.

Interactive Envi'roBiijilife Game Client Agent v Game Engine Interactions Client Services Agents Game Logic 1 ' - Images 1 Agents Graphics Video o Client services Sound Sound Profile Locations " '

j i i ...... ,.._.,™^,.™„ Sensors <*tsK3ssssm a )*T «'if?^t^w«n6«jwit:

Networks Game Server ^n Other Users Server Services Agents Server tools 1 1 Game Editor Agent Game World Agents Server services Synchronization

Game Sub-server Logging

Game States Agent Repositoy 73PSE1S i

wmm*^^mM? ••aSjraf^'*.v!^ *J!" ^ ;A"&^'^™,WW™^**«>

Figure 4.1 Game architecture

First, the game client component provides the game client application that will run on the users' devices. It must be flexible enough to run on many platform devices.

Second, the game server is the online service center of game, which will update and synchronize the game world for all users. In addition, the game server can be used to manage the game system or add features to the game. The last component, the interactive

90 environment, is defined as the environment in which users can interact with the game.

The following sections describe the details of the three main parts with their associated components.

4.5 Game client The game client component is designed to be the game client application for the users: it can run on many devices and is platform independent. The main purpose of this component is to provide the game for users to play on their gaming device of choice in both online or offline modes. The game client is composed of two parts: the game engine and client services agents. The game engine agent is a core part of this component, and the client service agents are associated with the game engine to add some features to the game. The game client is illustrated in Figure 4.2..

Game Client M- 1 • * »> '*' v- < ; J: - Agent <' - Client Services Agents Game Engine

Agent Game Logic • .'Agent Hardware Interactions interface drivers ^ i Graphics '***? (

r< • Agent •> ' Agent NPCs User Interfaces Sound • • Profile Agent Assistant Network ( ,1 •N* t. „t"'* \'t'" f* j n - \ •

Figure 4.2 Game client architecture

The agent technology is applied to the design game client because the game client takes into account the different user interfaces and supports many attached devices for

91 interactivity. Moreover, the game client component has an assistant agent that assists the user in the game. Additional client services agents can be added into the game client later. All the necessary agents of the game client are put in this framework.

The game engine agent is a game by itself, although it may need client services agents to handle some tasks or to add some features to the game. The game engine agent and the client services agents are explained in the following section.

4.5.1 Game engine agent The game engine agent is a core agent of the game client that directly interacts with the user and provides a game for users to play on their gaming devices. Users can play the game by open the game engine agent. Basically, this agent does everything that necessary for users to play games in both online (multi-players) and offline (stand-alone) modes.

The game engine agent contains the game logic, graphics, sound, and user profile.

The game logic controls all main tasks and states in the game (controls, gameplay, and game mechanic). The graphics and sound handle the multimedia tasks (visual, sound, and user interface) and cooperate with the user interface agent. The profile is used to store user information and saved game status. Network component handles the networking tasks for game client such as to manage client/server connection.

This game engine agent can be implemented in the traditional fashion like most game engines to deliver the intensive tasks of the game such as graphics, and sound. It does not require implementation based on agent architecture, but it should be able to communicate with the other agents via an agent communication protocol. Developers can develop their own game engine to make it compatible with the agent communication protocol. If the

92 developers use an off-the-shelf game engine to create their game client, they have to create a gateway translator agent to translate between a game engine communication protocol and the game communication protocol.

4.5.2 User interface agent The game client must be multi-platform. The game can change and adapt their interface depending on the device used to play the game, from a computer screen to a

PDA screen. Therefore, the user interface agent helps the game engine agent to deal with the configuration of game interface. The user interface agent detects the current device configuration such as platform type, screen resolution, and inputs; then, this agent find the appropriated user interfaces and send the configuration to the game engine agent.

The user interface agent has a built-in knowledge of the platforms and their appropriate configurations. The platform configurations that need to be considered are listed in the Table 4.2. This agent must find the adequate configuration for the game to be able to display on the screen (user interface safe mode). The user interface agent can also update their knowledge with the server to continue to be compatible with all platforms.

Table 4.2 Platform configurations list Platform configurations Configuration descriptions Platform type Computer, PDA, game console, mobile phone Operating system Windows OS, Window Mobile, MAC OS, Unix, Linux Networking LAN, WLAN, Bluetooth, Cellular network Screen type Regular screen, touched screen Screen resolution Determine the resolution and choose the closest one Input Keyboard, mouse, stylus, joystick Output Speaker mono, speaker stereo

93 4.5.3 Interaction agent The interaction agent is designed for supporting the interactivity, such as image, sound, location, and sensor-based interaction between the user and the game. This agent provides the interaction associated in game; it connects game to the interactive environment that allows user to play game with the interactive environment.

The interaction agent can be implemented to support in particular interactions; it must sense the environment and be able to offer the services to game. For example, the interaction agent offers the location interaction to a game when the platform has GPS and user is playing game in the location based game area. The interaction agent is included the interaction features which is listed in Table 4.3.

Table 4.3 Interaction agent's features Interaction types Descriptions Image Provide the image processing interaction Video Provide the real-time video processing interaction, support streaming video Sound Provide sound interaction, support voice command Location Provide location interaction, support ubiquitous services Network Provide location interaction, support ubiquitous services Sensors Provide interaction based on type of sensors

The interaction agent can be implemented depending on the features in game, and it is open for developers to add new interactions into it. Choosing the appropriate interaction can increase the level of fun and immersion in game, and the interactions also support the ubiquitous concept as well. The interaction agent links the interactive environment to the game that provides the interactivity for gameplay.

4.5.4 Hardware interface driver agent This agent is designed to utilize the different attached devices in the game. For instance, the GPS device should have a hardware interface device driver agent to control

94 and deliver the information from the GPS to the interaction agent, and from the agent to the user. This agent helps the game to deal with the additional devices such as sensors and platform peripherals.

There are many additional devices to use with the game; these devices may need the specific driver that allows game to interface with them. The hardware interface driver agent should be implemented as generally as possible, and needs to be compatible with hardware interface standards. In addition, this agent can be updated from the server to maintain the hardware compatibility. The hardware interface driver agent increases interoperation among different hardware devices; thus, it supports the ubiquitous concept and interactivity.

4.5.5 NPC agents NPCs are the intelligent agents who interact with the users in the game; these can include characters to play against the users or supporting characters to help the users.

These agents can be client services agent or server services agent depending on where they are running in client or server platform. The NPC agents must be believable agents to play with user in the intelligent ways.

User can play game with NPC agents in both online and offline modes; NPC agents run and play with user in the client platform when users are playing game in offline mode. On the other hand, NPC agents stay in the server to play with users in the game world. The NPC agents can move from one platform to another; thus, users may have new NPC agents come to play with them that make the game more dynamic. This feature utilizes the mobile agent to let the NPC agents move around the network. In some cases,

NPC agents can roam across the network to directly interact with the users; for instance,

95 the merchant agent will move to the game client to offer the direct sale of items for the user.

These agents will be implemented with many AI techniques to make their actions believable and realistic that users will not be able to distinguish between NPCs and human. This framework provides some basic AI techniques for creating the NPC agents, presented in section 4.8. Developers can use many appropriate AI techniques to implement the NPC agents such as scripts, natural language, machine learning, neuron network, or genetic algorithm. The NPC agents should believable to challenge and immerse the users into the game experience

4.5.6 Assistant agent An assistant agent is a intelligent mobile agent that can help the user in the game as a personal assistant. The user can get information from it, or command the assistant agent to do some tasks, such as asking for the tutorial, controlling the player avatar on behalf of the player, or sending it to the game world to collect specific information.

The assistant agent must be able to play roles to support the user. These include tutor, personal assistant, cooperator, and player. The tutor provides an interesting tutorial through the gameplay and also answers some question about the game. The personal assistant keeps monitoring and reminding the user when he/she needs to do something in the game. The cooperator supports the user while playing the game; it can be a "buddy" to help user to accomplish the goal in game. The assistant agent also acts on behalf of the user to play roles as player in game; it is analogous to a bot in many MMOGs. The user can leave the assistant agent to do tasks or play on behalf of user in the game world.

96 AI techniques must be added to the assistant agent to make it able to interact with the user in an intelligent manner. Hence, the assistant agent must be implemented to be the believable agent to play with the user. This agent is an enhance version of an NPC agent, created by adding some personal assistant features such as tutor and personal assistant.

4.6 Game server This component is an important part of this architecture because it provides the shared environment, including the game world, agent repository, and server services agents for the user. Moreover, the game server has management components to updating the game, including the game editor, synchronization programs, and logging abilities.

Figure 4.3 illustrates the game server architecture. The game server provides the online services for users: play game together within the game world, update the information about the game, and download new contents or agents to game client.

The game server must support a vast number of users, and as such scalability is one major concern of the game server. Agent technology is applied to the game server because it makes the system scalable. Most components in the game server are agents that collaborate to perform the game server services. The components in the game server are described as the following:

97 Game Server Server Services Agents Server Tools

Agent Game Editor Communicator Registry

i >*H »*HFBHrp*iW»! Synchronizatio Agent M n Game World i;ipnfe'i ^Monitor Logging lilll'IIIIOTHIimilllllHIIIIIIIII! iniiiiiiiiiHUBaaa

Agent Agent - Backup Creator Game States ** irr rrnrrr ** inumumnnuiwiiLjiuniiiffl

Backup Agent Repositoy

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij] Figure 4.3 Game server architecture

4.6.1 Game world agent This is the most important component of the game server, allowing users to interact and play; they use this game world for playing, chatting, and exchanging objects in the game. It is responsible for executing the game tasks and updating the game world status.

The game world must keep tracking every incoming event in the game world and update the game world status in game states component.

A game world agent can collaborate with other server services agents to provide online services for users. There are some agents at work within the game world agent; for instance, the registry agent registers user to the game world, the communicator agent mediate messages between users and game world agent, and the NPC agents play in the game world.

Figure 4.4 shows how the game world agent collaborates with other agents.

98 Game CHiii

iiuiiiiiiuuuiuuuuuiiBwea Send/Receive Login/ Messages Authenticate

;;A|lrit: K*J \^\ K=0 i'Slftimunicator User Profiles Agent frninumunnnnTT Game World i petite kl=t>iT|er!t: ? MCsY K=^ 5l'Cr$ator: gfpejntRepositoy 1 iiiiiiiiiiiiiiiiiiniijjjjjj WSuummumuuiW

Game States ill^P' fiforiitor far frf

Backup hum——•—id Figure 4.4 Game server agents collaboration

The status of the game world is not kept with the game world agent but is kept in the game states. The game world agent needs to connect with the game states to check out, update, and return the game world status. This mechanism increases the reliability and scalability of the game world. If the game world agent failed, a creator agent can immediately load a new game world agent and continue executing the game by loading the last saved game state.

Separating game status (data) from the game world agent is good for scalability.

Adding game world agents can scale up the game to support more users with shared game status. The game world agents are assigned the workloads in many ways, including distributed tasks or distributed game world region.

99 4.6.2 Game server data store components There are four data store components in the game server to keep the all data and information of the game server. These include game states, user profiles, agent repository, and backup component. The details of each component are illustrated by the following:

1. Game states:

The game states component contains the game states for all games running in the

game server. It is a fast response, scalable, and reliable transactional database that

offers deadlock proof access to the simulation values. The game states component

provides a mechanism to use the game state in the efficient way; check in/out process,

and data recovery.

There are three agents that connect to the game states component: game world

agents, backup agent, and monitor agent. The game world agent connects to game

states to update the information of the game running in the game server. To increase

fault tolerance, the backup agent replicates the entire game states to backup

component. Monitor agent keeps monitoring the game states and generating a log for

the logging component.

2. User profiles:

This data stores component contains user profiles that are registered with the

game. The user profile component keeps all users' information, including user

authentication and user status. This component allows only the registry agent and the

game world agent to use its information.

The registry agent uses the information of user authentication to identify users

when they log into the game. Therefore, the user profiles component needs some

100 encryption method to secure the user information such as login password. The game

world agent gets the user information when the user connects to play game, and

updates the user information back to the user profiles component after the user leaves

the game.

3. Agent repository:

This component is a warehouse that keeps all games agents for serving in game.

A creator agent loads an agent from the agent repository to run on the game server

when the game needs it. Moreover, new agents can be added into the agent

repository, or agents can be changed to make the system up-to-date.

4. Backup:

The backup component replicates all the data store components in the game

server. A backup agent controls the backup component; schedules backup times,

performs backup, and recovers backup data. The backup component can be kept in

the game server and the other place to increase the reliability.

4.6.3 Creator agent This agent is responsible for loading the necessary agents from the agent repository to run on the game server. All agents in the game server must be loaded from the creator agent. Moreover, it can send some necessary agents to the users when they need it. For example, a user needs a new user interface for the mobile device after migrating from the computer to the PDA. The creator agent will send the new interface agent (PDA) to replace the existing one (computer).

101 4.6.4 Registry agent The registry agent deals with user profiles and user authentication. This agent organizes the user information in the user profile components and also provides the user information to the game world. The registry agent is responsible for authentication process that allows users to register to game, log into the game, and manage their profile.

4.6.5 Communicator agent This agent organizes user communication into two channels: game world channel and user channel. It manages routing of messages between the users and the game world agent, and between the users themselves. It also is responsible for translation to and from other forms of communication protocols (e.g., HTTP communications to and from agent messages).

Though the communicator agent can translate many communication protocols, it is not restricted to agent messages. Hence, the game server can communicate with the non- agent game client. The game client can be implemented on platform devices that not support the agent.

4.6.6 Monitor agent This agent keeps monitoring the game server to detect faults in the system. The main task of this agent is to monitor the running game and generate the log file. If the agent detects a fault in game, it will alert the administrator about the problem.

The monitor agent uses the keep-alive mechanism to monitor the agent status in the game server. It periodically sends a message to agents and receives the response from them. If an agent does not respond to the monitor agent, the monitor agent will assume that agent is dead and report to the administrator and the creator agent. The administrator or the creator agent can reload the new agent to replace the dead agent.

102 4.6.7 Backup agent The backup agent is responsible for replicating all data storage in the game server. It is also able to restore the entire data storage back. All data storage is replicated to the backup component. The agent schedules a time to back up the entire system, and some individual modules; for example, the backup agent schedules a time for a full daily backup and for game states every half an hour. The backup agent can replicate the data storage to a remote place as the secondary backup to increase the reliability of the system.

4.6.8 Server tools The server tools are used for game server maintenance, including editing, managing, and monitoring the game. The game administrator and developer can organize the game server through the server tools, which include game editor, synchronization and logging.

1. Game editor:

The game editor is a tool for administrators or developers to manage the game world: set configuration, edit the map, deploy new items or NPCs, add more features, and monitor users. The game editor tool is a handy tool for game creation and management.

This tool can be used in the development stage for creating the game environment, and then it will be used again to manage and update the game at and after release. The game editor provides the some tools for developer to create the assets for the game world like maps, items, and sets of rules for the game. In addition, the game editor can directly manipulate the data in the game states to view, change, or update the information in the game world such as changing the spawning rate of NPCs or items.

2. Synchronization:

As the name suggests, this tool allows the game states to be synchronized along with the game servers. This mechanism aims to update the game's status with real-time

103 broadcasting. This makes the users smoothly play the game without excessive loading times when they are roaming among the game servers. However, this depends on the quality of network (network bandwidth, for instance, will be a limiting factor).

The synchronization mechanism supports the ubiquitous concept that allows users to play the game anywhere, with or without access to a game server. Users can continue play across servers without any problem because every game server is synchronized and possesses the most updated information possible. For instance, users can move from a primary game server to a game sub-server without asking user to login because the local game server (sub server) recognizes the user from the synchronized information.

3. Logging:

This is a useful tool which logs the information and status of the game. This tool receives the log files from the monitor agent. Administrators can use this tool to filter the information in the log files for monitoring game. This tool also provides information for backup and recovery process if the game server crashes or has some problems. Moreover, the developer can use the logging tool to monitor, debug, and analyze the game.

4.7 Interactive environment The interactive environment component defines the environment for game interactions: image, video, sound, location, sensors, networks, and other users. The interaction's examples are presented in section 1.5 example scenarios. In addition, the environment includes the game sub-server for providing mini-games to enhance the game. The game sub-server is an optional implementation for a game.

This framework provides the basic interactivity model for showing how the interaction can be applied in game. An interactivity model is the abstraction level of an

104 interactive environment; therefore, the implementation of the interactions is place in the interaction agent.

Developers may need to design and create their own interactions for games. Choosing the appropriate interaction can improve the level of fun and immersion. This framework can be used as a guide to create the rich interactions for game. The interactivity model and game sub-server are described in the following subsection.

4.7.1 Interactivity model The interactivity model consists of many interactions that provide the interactive environment for users: image, video, sound, location, sensors, networks, and other users.

Each interaction allows users to interact with the game in different ways for different purposes. Creative ideas can be added to the interactivity model for creating rich interactions in game. Nevertheless, the interactivity model in this framework illustrates examples of basic interactions for using as a guide of game interaction design.

All interactions in the interactivity model allow user to interact with the environment that can offer new gameplay experience to users. The interactivity model also supports the ubiquitous concept and pervasive gaming. The examples of applying the interactivity model to a game are illustrated in Chapter 5; the prototype design illustrates how to use the interactivity model to create a rich interaction game.

1. Image interaction:

Image interaction can refer to any interaction that uses image as a main approach to interact with the environment. Users can interact with the interactive environment by using digital images, and then the interaction agent will process the image and respond to the user.

105 Image processing techniques can be used to implement the image interactions depending on the method of interactions. For example, template-matching techniques can be used for matching contour objects within the image. The user needs to find an image that fits the template in-game. There are many image processing techniques for use with the image interaction. However, this framework provides some basic image processing for image interaction: template matching, image filters, and histogram analysis.

2. Video interaction:

Video interaction is similar to image interaction except it uses the video stream to interact. The video interaction also uses real-time image processing techniques to deal with the interaction. There are many image processing techniques for use with the real­ time video interaction. The framework provides some basic image processing for video interaction including video filters and movement detection.

3. Sound interaction:

One of the useful interactions with the environment is sound. Users can interact with sound by listening and capturing sound. Games can give a very useful feedback to user through sound (music, background, and sound effect). On the other hand, users can use sound to interact with game by capturing sounds and then passing them through the game. Microphones are used as the main input to capture sound.

Sound interaction may offer many techniques for user to interact with the game world, including speech recognition, speech command, and sound processing. The framework provides some basic sound processing techniques including speech command, sound matching, frequency analysis, and amplitude analysis.

106 4. Location interaction:

One concept of the interactivity model tries to merge the physical and game world together. Location interaction is used to map the physical location with the game world map in some prepared areas. For example, the game provides location interaction in some areas where the users can interact with the game or other users by using their location in the real world.

Location interaction can be used many positioning techniques to interact with the game depending on the prepared environment. The information of positioning techniques can be found in literature review section 2.4.2.1. The framework provides the position techniques in the both high and low accuracy: GPS technique allows high precision, and network positioning technique has a low precision.

5. Network interaction:

Network interaction is similar to location interaction which involves in the network level of interaction. This interaction utilizes the service area of networking for interaction. Network must offer the services for users to interact like network positioning and some network services. For example, users use the network area identification for positioning in game, or the game itself provides services when the user connects to a prepared network.

The framework provides the network services to interact with game. This includes both network positioning and network awareness. Network interaction is illustrated using

WLAN and LAN but cellular phone networks can be added into the framework by developers.

107 6. Sensor interaction:

Sensor interaction provides a wide range of interactions due to many kinds of sensors available to be used within the game. There are many types of sensors that may be used in game interactions. Sensors can supply information such as location, motion, light, audio, temperature, pressure, velocity, acceleration, and humidity. More examples about applying sensors to games can be found in the section 2.4.2.2.

The framework provides an example for sensor interaction to illustrate how to apply this technique to games. However, more sensors' interactions can be added to the game based on the type of sensor.

7. User interaction:

User interaction refers to the interaction between users that can occur in many ways, including chatting, messaging, talking, and playing. This interaction helps to increase social interaction in games. It also encourages users to interact with each other in both the game world and the physical world.

The framework provides the user interaction through in-game communication channels. The game should provide at least one interaction method to increase the social interaction between users.

4.7.2 Game sub-server A game sub-server is an object derived from the game server object. It provides such services as mini-games. The sub-server is almost identical to the game server but the game world is generally smaller or different, so only a small part of the game context needs to be passed to the sub-server. All the user profiles are distributed through the network to synchronize every game sub-server. For instance, a coffee shop deploys game

108 services and provides a mini-game for the customers to play in the shop. The customers registered with the primary game server can play a mini-game in the game sub-server seamlessly due to synchronize mechanism. In short, the game sub-service is a game server that provides mini-games to support the primary game server.

In conclusion, this game architecture is included in the framework which consists of three main components: the game client, the game server and the interactive environment.

These three parts are linked to form the game services. The implementation detail of this framework can be found in the game libraries.

4.8 Believable NPCs

The believable NPCs in this framework refer to the NPCs that are able to interact and play with players in an intelligent manner. Believable NPCs should make the player feel that they are playing with other players and not the NPCs. In addition, believable NPCs should perform and play their role to make the player believe in their role. For instance, an NPC guard should boldly patrol an area like a guard and not sneak around like a thief.

To create believable NPCs, some AI techniques are used to create the NPCs that have an acceptable level of believability. This framework provides both deterministic and nondeterministic AI techniques for developers to use for creating believable NPCs; finite state machine, decision tree, path finding algorithms, fuzzy logic, Bayesian network, and stochastic language.

There is no silver-bullet solution for creating believable NPCs; different game genres or different NPC roles require different techniques to build believable NPCs. Developers have to choose the appropriate techniques for their NPCs; they may need to try different techniques or different configurations until they have a suitable one. The prototype

109 design in Chapter 5 shows an example of how to create believable NPCs that can be used a guide for creating believable NPCs in MMORPGs.

4.9 Evaluation of game development framework

This section describes the evaluation of the game development framework. The evaluation uses some game design criteria from Table 4.1 to appraise the framework. The purpose of the evaluation is to confirm that the framework design can be used for creating good games. The framework is appraised by game design criteria just in terms of valid or invalid criteria because this is a general evaluation to check the existing of game design criteria in the framework. The complete game evaluation presents in the game prototype evaluation in Chapter 5.

The game design criteria are used for checking the properties of the framework to support the new game design that can offer the new experience of gameplay and engage a wide range of users. The evaluation result is shown in Table 4.4.

Table 4.4 Evaluation of game development framework Valid/ Game Design Criteria Framework Design components Invalid Valid Game should have ubiquity All components Valid Provide many interactivity Interactive environment, and interactions agent Valid NPCs should have believability Believable NPC agents, and AI techniques Valid Game should have mobility Game client, mobile devices Valid Game should engage players All components Valid Game should immerse players All components Valid Game should challenge players Believable NPC agents, and interactive environment, MMORPGs (player versus player) Invalid Interface agent would be done in Minimize control options [214] game design Invalid Follow the trends set by the gaming Should be done in game design community to shorten the learning curve [204, 215]

110 Valid Players should be able to save games in Game engine agent (profile), and different states [6, 15] game server (users profile) Invalid Intermediate goals should be clear and Should be done in game design presented at the appropriate times [51 Invalid Make game replayable [214] Should be done in game design Valid Should use visual and audio effects to Game engine agents (visual & arouse interest [214, 2161 sound), and interactive environment Valid Players should become less aware of Interactive environment their surroundings [5, 203] Invalid Game should increase the players' skill Should be done in game design at the appropriate pace as they progress through the game [5] Invalid Allow player to build content [214] Should be done in game design Valid Build as though the world is going on Game server (dynamic game world), whether your character is there or not and interactive environment [61

According to Table 4.4, the evaluation of the game development framework shows that most game design criteria in Table 4.1 are valid for the framework. This result implies that the framework is appropriate for creating the new type of gameplay that is the objective of this research. However, there are six game criteria which cannot be evaluated at this point; they need a game prototype to be evaluated. This evaluation will have to be performed after testing the game prototype with an audience, which will be discussed in Chapter 6.

4.10 Risk issues

There are several risk issues that might be obstacles to this research. Most of these risk issues relate to technical limitations of the technologies used in the research. This section points out these issues and solutions.

Compatibility in mobile agent technologies: the issue will become prominent if the other mobile agent technologies do not want to cooperate with TEEMA because TEEMA is not compatible with the mobile agent standards (MASIF or FIPA). It should be noted

111 that this issue is common for many mobile agent technologies. A solution for this problem includes the modification of TEEMA to support mobile agent standards like

MASIF or FIPA. In addition, the mobile agents' communication should be a common language such as ACL, KQML, KIF, or XML. This solution can make the system more scalable and increase interoperation across mobile agent platforms.

Platform independence and JVM: one feature of Java is platform independence which allows users to run a Java application on many different platforms without any modification or recompilation of the application. Unfortunately, this is not universally true, as some JVM implementations in some platform devices cannot support all Java technologies. For instance, most JVM implementations on mobile phones support only

J2ME technology. Therefore, some J2SE applications cannot run on most mobile phones.

Unfortunately, the chosen mobile agent platform (TEEMA) is based on the J2SE technology, so devices must support the J2SE technology, otherwise they cannot run

TEEMA.

This issue can be solved by customized client applications for devices that do not support the J2SE technology. Most mobile phones support only the J2ME technology, so the game application has to be written for the J2ME platform. However, the client application might be customized for mobile phones platform, and the communication method might be changed to work with the game architecture. This customized version would be able to utilize mobile agents through WAP proxies instead of running the mobile agent platform on the mobile phone.

In other words, the client can be rewritten for a platform that cannot run any Java applications. This includes some PDAs which cannot run JVM. For example, the client

112 application might need to be implemented by using C++ or Visual Basic for Windows

CE. However, this solution will be followed only as a last resort because rewriting the application takes a great deal of time. In short, if the client applications need to be changed, changes must be implemented following the framework in order to sustain the compatibility of the game architecture.

Peripheral interfaces: this research aims to utilize many methods of interaction which involve many peripheral devices. The problem is how to handle these devices in game. It is impossible to develop individual device drivers for the game. A simple solution would be to provide generic interfaces to handle the different groups of devices, such as GPS receivers, cameras, and microphones. The framework utilizes the Java API for dealing with general peripherals and provides some necessary components for the specific peripherals.

Network Accessibility: this research will utilize networks as the infrastructure for connectivity in the game. The users need to connect to the game server through the networks: LAN, WLAN, Bluetooth, and cellular networks, any of which might not be available for the users at any given time. The problem of network accessibility is common for MMORPGs, most of which require users to connect to the game server while they are playing.

A solution for this issue is believable NPCs which simulate human users. Believable

NPCs should be able to compensate for any lacking network accessibility on the part of the users. Believable NPCs can make the users unaware of connection status (online or offline modes) when they are playing games because the NPCs can make the users feel like they are playing with other human users. For the users who expect to play with

113 friends online, only to discover that their friends are online or not. This game allows users to know whether they are online or not to reduce confusion.

4.11 Conclusions

In conclusion, this chapter describes solution design including scope of work, game design criteria, game framework, game architecture, evaluation of design framework, and risk issues. The solution design is general enough to apply with any games. The game prototype is an example of how to use the new game design for game development. The next chapter shows prototype game design and development by following the new game design concepts and the proposed framework.

114 5 PROTOTYPE DESIGN AND IMPLEMENTATION

This chapter presents the prototype game design and implementation which is a proof application for the hypothesis of this thesis: "Adding ubiquity, an expanded interactivity model, and believability to current games can bring new experiences, engagement, enjoyment, and immersion for players." The prototype offers the new type of gameplay in the areas of ubiquity, new interactivity models, and believable NPCs. The game encourages players to play games in various ways that turn the player away from sitting in front of the screen and towards physical movement and activity while playing. Players can also interact with other players in both game world and real world; this offers a great deal social interaction in the game community.

The design covers the important part of game design that is necessary for create this prototype game. The prototype ROG is designed and developed using the framework, and it is an example of how to framework to design and implement a game.

Ramakian Online Game (ROG), a MMORPG, is a prototype game for this research; it demonstrates the new type of gameplay discussed in this thesis, and it is developed using the framework. This game supports ubiquity, in that users can play the game anywhere and anytime. Interactivity in this prototype allows users to interact with the game in many ways that help increase the level of fun and immersion. This prototype allows users to play this MMORPG regardless of whether they are connected to the Internet or not by using believable NPCs; this is a major innovation that will allow ROG to surpass existing

MMORPGs in this area. This chapter consists of three sections: game design, implementation, and validation.

115 5.1 Game design

This section describes the prototype game design that can be used as an example of

designing a game based on the game design concepts in this research. This game design

section is also used as a reference for implementation of the prototype game. The most

important aspect of the game is making it enjoyable and fun. If users do not enjoy it, they

will not play it [5]. Ubiquity, interactivity, and believability are the important elements

for this game design. In addition, the game design criteria in Table 4.1 are considered as

the main game design criteria to maintain the quality of game. ROG is designed to utilize

all these game design criteria. Developers can use this game design as a guideline to

create their game.

In ROG, users are able to play games with many devices, such as computers, game

consoles, portable gaming devices, PDAs, or mobile phones. Users have the choice of,

for instance, playing the game at home and then they going out to continue the adventure

on their mobile devices, interacting with the physical world, and interacting with other

users to foster social interaction and relationships. ROG embodies the concept of

pervasive and ubiquitous computing, in that users can play the game anywhere, anytime.

ROG adopts a MMPRPGs model, allowing many people to play game together; it offers the high social interaction in game that users can interact with each other in the game world and physical world. Moreover, the Ramakian epic is a fantasy story suitable

for an MMORPG.

116 5.1.1 Introduction

ROG adopted the Ramakian epic story to be a main plot of this game. Ramakian

[217] is an epic story from Thailand which is influenced by the Indian epic called

"Ramayana" that is well known in many Asian countries. This fantasy story is about

Ayudthya's prince Rama who fights with the demon Tosakan to rescue his wife Sita.

Tosakan kidnaps and imprisons Sita in his demon city (Langka); this is the cause of the great battle between good and evil for 14 years. Rama has an army of creatures fighting against the demon army; they fight each other by using extraordinary power such as magic, mythical weapons, stealth, and ingenious strategies. Ramakian is a hugely significant story in Thailand, influencing art, culture, mores and religion in Thailand for hundreds of years. The complete story is presented at the Emerald Buddha temple and is available in many books [217] and websites on the Internet.

One part of the Ramakian story was chosen to represent the main plot of the ROG, which will focus on a specific episode. Moreover, the Ramakian contains some sub- stories that are associated with the main plot which can be used as bases for mini-games in ROG.

5.1.2 Concepts

This section describes the main concepts of the ROG. The big picture of the

Ramakian's concepts can be broken up into three main concepts: game story, design elements, and the framework. The Figure 5.1 shows the overview concept of ROG.

117 Game Concept

Design Game Story Elements Framework

- Ramakian story - Gameplay and rules - Game architecture - Sub stories - Interactivity model - Game libraries - Extended stories - Social interaction - Quests

Figure 5.1 Overview of ROG

The game story, as already discussed, will be based on the epic story Ramakian, specifically focusing on the war period between the prince Rama and demon Tosakan.

Moreover, Ramakian's sub-plots will be used for making mini-games in the ROG game.

ROG is an open-ended game that allows the developers or users to extend the game story by adding new quests and mini-games, modifying the game world, and adding NPCs.

The design elements define the structure of a game including gameplay, rules, interactivity, social interaction, and quests. All of these elements can be used to create the mockup in the earlier design state; they allow game designers and developers to imagine what the game will be when it is finished. In this prototype, the overall ideas of design elements are illustrated as the following paragraph.

ROG is integrated with multimedia and environment awareness. Users can interact with the virtual world and the real world through texts, messages, images, sound, video, locations, sensors and networks. For example, users look the virtual world through the

118 real world by using built-in camera devices (the window into the virtual space) for revealing secrets in the game. Users could discover another user's position by receiving information from sensors or networks around them. These interactions blur the game and physical worlds together and let the users discover new ways to play a game. Moreover,

ROG is implemented to follow the MMORPG model to provide high social interaction in game for users. Social interaction in ROG allows users to interact with each other via the game world and in the physical world. For instance, users can chat with friends in the game world and also meet each other to interact in the real world (through face-to-face communication or items trade via infrared, for instance). ROG has gameplay and rules like most MMORPGs; users are free to play in the game world with some rules. The main goal of the users is to complete the quests and increase their character level. There are five quests in this prototype to demonstrate and prove the concepts of this thesis.

The framework provides the game architecture, the game libraries, and the supporting technologies for ROG. This framework will be used for creating games, including ROG, which will be the first prototype game of this framework. In the future, many games might use this framework for its development; therefore, the framework must be general enough to be applied to any games with similar game concepts. The game architecture is presented in section 4.4, and the game libraries are included in the framework. This chapter demonstrates how to apply the framework to the game design.

5.1.3 Specification

ROG is developed under the game specification that covers most of the new game design concept. The game specification shows the features and limitations of ROG. The game specification is shown in Table 5.1.

119 Table 5.1 The ROG specification Genre MMORPG Fantasy with hack and slash battle style Target users All users Modes of play Single player and multi player Competitive and cooperative Controls Mouse, touch screen, keyboard, joystick, microphone, and camera Visual and sound 2D graphics Thai traditional music Game world Persistence world Dynamic game world Goal Complete 5 quests Interactivity Text, messages, images, video, sound, locations, sensors, and networks. Social interaction Community game Interact in the game world and the physical world NPCs Believable NPCs and chatbot Platforms Window, Mac OS X, Linux Utilities Game editor tools

The specification above is a guide for designing ROG. The description of each feature is presented in the next sections.

5.1.4 Game world

A game world is designed based on the Ramakian story. The setting and tone are based on the fantasy story that is full of magic, ancient weapon, magical items, wonderful creatures, and mystery. The game world takes place on a beautiful garden in a heart of

Langka city where players are free to play (fighting, chatting, or proceeding a quest).

This game world may is not huge, but it is big enough for the prototype game. The game world can be mapped to the physical world map according to the player location. This feature is used for the location based interaction which allows players to interact with the real world by mapping their physical location with the game world location. In this game world, we map the game world onto the University of Regina map that offers location

120 based interaction for player to play in the Academic Green area at the University of

Regina. The Figure 5.2 illustrates the game world map and the physical world area.

Figure 5.2 Game world map

The game world can be expandable by adding more areas into game world map or connecting the game world map with the sub-servers game world maps. The later method can reduce workload from the main server and allow the sub-service server to provide their quests or contents to the players. For an example, players have to go to play a special quest on a specific location such as science center that serve the ROG's mini- game.

The game world can be expanded and the new contents can be added to the game; these features support the open-ended game concept. Mixed game and physical world can immerse users while they are playing with the location based interaction.

5.1.5 Goals, gameplay and rules

The user goals are complete their quests and to build their avatar to be famous in the game community. The user is required to complete the quests in the game in order to obtain the rewards from the quests. User can build his/her avatar to be famous in the game community by increasing the avatar skill level that represents the user's experience

121 in game and by being social in the game. Some users may have their own goals to play the game such as exploring the game world, fighting with others, or chatting with others.

This prototype allows users to accomplish and satisfy their goals.

The gameplay is different depending on each quest but the basic gameplay are hit while not being hit when in the fighting, and make social interaction with others. This prototype is an MMORPG with a "hack and slash" style that allows users to fight against each other. Users earn avatar's experience points by hitting others, and users need to avoid being hit by others. This prototype provides rich social interaction in both game world and physical world; users can interact with others via chatting, talking, or messaging. Users can contribute to a game community in many roles such as mentor to guide the new user, or member in their guild. Users are free to explore and interact with the game world, thus users may create their own ways to play the game. The gameplay for each quests are discussed in the next section.

ROG has the basic rules to produce the enjoyable and fair game. Some rules are derived from the MMORPGs rules. The basic rules are shown in the Table 5.2.

Table 5.2 Basic rules Rules Descriptions 1 User must not use any language which is offensive, obscene, or racist. 2 User must not scam or deceive other users. 3 Each account should only be used by only one person. 4 If users login more than one account, they must not interact. 5 User must not log out or terminate from the server when engaging combat. 6 User must not reveal the secret of quests to other users. 7 Avatar has equal health points (100). 8 Avatar has equal magic points (100). 9 Avatar earns experience points after successful hits against other avatars. 10 There is no penalty if the avatar runs out of health (death). 11 Avatar's level progress by collecting experience points. 12 Avatar's level helps reducing health and magic recovery time. 13 User is free to play and interact with the game world. 14 User should participate in only one quest at a time.

122 5.1.6 Quests

ROG is designed to prove the concept of this thesis by having five quests for player to play. Each quest is designed with the different features of the game, and it can be used to demonstrate the concept of the game design that proposed in this thesis. The five quests are discussed as the following:

Quest one "Ask 'Guru' how to find the 'Orchid'."

Guru is waiting for you at North.

This quest is designed to encourage users to explore around the game world to find and ask information from a Guru. Guru is a chatter NPC who can interact with the player via chatting. Guru can answer the questions and have conversation with the user by using natural language processing; it can also learn from the conversation to increase their knowledge. Users can chat with Guru as long as he/she want, the more conversation they have the more interesting sentences may be generated from the Guru.

To complete the quest, users must ask information about how to obtain an "Orchid" from the Guru, and then Guru will instruct users how to collect the "Orchid," which is quest two, the next quest.

This quest demonstrates a chatting feature of believable NPCs by using the natural language technique. The gameplay of this quest is chat to obtain the information from the

Guru.

123 Quest two "Collect the 'Orchid'"

After users complete quest one, they can proceed to quest two from the instructions given by Guru. This quest offers the location based interaction for users to play in the prepared area; ROG maps the game world with the physical world, the Academic Green area at the center of the University of Regina.

Users need to find the specific location the physical world in order to reveal the hidden "Orchid" in the game world. These two worlds connect together by mapping their location. For instance, a user is walking in the physical world, while their avatar is also walking in the same speed and direction in the game world. In addition, users may recognize the connection between the two worlds after he/she plays this quest for a while; the game world map and physical world map have the same structure, and some physical landmarks or props in the real world appear in the game world.

To complete the quest, users must find the hidden "Orchid" at the physical world specific location (Academic Green's history tablet) that was guided by Guru's advice

"Orchid is hidden at the tablet in the garden". Users play this quest with the location interaction on the mobile device quipped with GPS device. Game maps the current user position to the game world position, and users need to walk around the Academic Green area to find the hidden "Orchid". If the user current position matches the quest defined position, the hidden "Orchid" is revealed and the quest is complete.

This quest demonstrates the location based interaction and how to merge the game world and the physical world. The gameplay of this quest involves mapping a user's physical location to the game world location and solves the quest if the user can find the quest target location.

124 Quest three "Capture 15 invisible birds"

Magic window can reveal them.

They can be found at yellow mead.

This quest asks users to find and capture at least fifteen invisible birds. There are two hints for users to find the invisible birds. First, users have to find the yellow mead in the game world. Users can hear the bird sound after they reach the yellow mead (south east area of the map). Then, users have to open a magic window to reveal the invisible birds that are flying around them. The video camera or webcam on users' game devices is used as the magic window for users to see the invisible object in game. Such objects will be superimposed on the real world using video technology.

After users open the magic window, the game will pop up the mini-game "Capture the birds" that allow users to play the video interactive game. There are two simple rules for this mini-game: users will have sixty seconds to capture as many birds as possible, and the time limit will be extended five seconds for every captured bird.

To create the video interactive environment, a virtual sphere is created to cover the user and the invisible birds are flying around the sphere. Users move the camera around to find the invisible birds, while real-time image processing detects the camera movements in X and Y coordinates and maps the camera view with the sphere coordinate. If the invisible birds' positions stay in the camera view, it will be superimposed on the users' video display. At the center of camera view, users have a virtual hand that is used to capture the invisible birds by placing the virtual hand over the invisible birds for three seconds.

125 The Figure 5.3 illustrates the abstract design of the video interactive environment. A translucent ball represents a virtual sphere that has the virtual yellow birds flying around

it. A virtual body represents a user who is playing the quest and is trying to capture the birds. The red ray shows the camera view area that is display on the mobile device

screen. The virtual birds are mixed with the environment and displayed on a mobile device screen.

Figure 5.3 Video interactive environment design

126 Sound effects are used in this quest to help users locate a bird using both distance and orientation. The total sound effect volume depends on the distance from virtual hand to the bird location; the volume gets louder when the bird gets closer to the virtual hand.

The sound volume of the left speaker and right speaker are changed according to the bird location. For example, left speaker volume is louder than the right speaker if the bird is flying at the left side of the user.

If users can capture more than 30 birds, the extended mini-game will be unlocked.

This extended mini-game asks users to use the magic window to reveal the hidden item; users need to find the object in the physical world that match with the game world template. The physical object contour must match with the template outline in order to reveal the hidden item. The Figure 5.4 illustrates the template matching approach for this extended mini-game.

Figure 5.4 Template matching

This quest demonstrates the video interaction that utilizes augmented or mixed reality to create a video interactive mini-game. The gameplay of this quest is to capture the birds and race against time.

127 Quest four "Find a 'magic element"'

Listen to the source of sound

This quest asks users to find a magic element in the game world. Users have to listen to the source of the sound in order to find the magic element. The magic element in this quest is the "wind element" so user will hear the wind sound while playing this quest.

The wind sound volume depends on to the distance between source of sound and the user's avatar; the relationship between sound volume and distance is a reverse variation.

For instance, user can hear the wind sound louder when his/her avatar gets closer to the magic element.

The magic element will be revealed when user avatar reached the place that stores the magic element. The "wind element" is a reward to the user, allowing the user to recover magic points twenty percent faster. This magic element may also help to reduce the time to recover after a user's avatar dies. In order to activate this function, the user must continuously blow on the microphone to accelerate the recharging rate of health points.

This quest demonstrates the sound interaction. The gameplay of this quest is listening to the sound and finding the source of sound.

Quest five "Reach level 13th"

This quest is a very simple quest that encourages users to play this game until his/her avatar reached level thirteen. Users need to gain the experience points to level up their avatars by fighting with other users or NPCs.

128 This quest is designed to encourage users to play and interact with other characters in this game long enough so they could be able to evaluate believability in game (see more detail in Chapter 6). The gameplay of this quest is fighting to gain more experience points to reach level thirteen.

5.1.7 User interface and control

The user interface and control are designed based on the game design criteria from

Chapter 3. There are two main criteria that need to be considered in this design: the user interface follows the trends set of other MMPRPGs to shorten the learning curve; and the control options are minimized to avoid confusion and complexity. Table 5.3 shows the user interface and control design criteria that are used in this design.

Table 5.3 User interface and control design criteria Design criteria User Interface Follow the trends set by the gaming community to shorten the learning curve The interface should be as non-intrusive as possible A player should always be able to identify their score/status in the game Interfaces should be consistent in control, color, typography, and dialog design Use sound to provide meaningful feedback Do not expect the user to read a manual Should include online help so players do not need to exit the game Provide means for error prevention and recovery through the use of warning messages Controls Minimize control options Controls should be customizable and default to industry standard settings Controls should be intuitive and mapped in a natural way Players should feel a sense of control over the game shell (starting, stopping, saving, etc.)

The user interface in ROG is designed following the design criteria above. The design is very simple and non-intrusive with the trend set of typical MMORPGs. The user interface design is shown in Figure 5.5.

129 iWSHi

• •*'1.I"-J -. *"-fLr. 1»' T i • ''tfll - • - 1

•* •-;-••>-• ?-* •- - i- -* t~~. - ii< "Sw ; i: —r» "—p :. •»- "TC -"«

-.ii -v,: ;.. ;.-.' Ill

KSK?

.-'^

Figure 5.5 ROG interface design

•'"'"•"-^"^fiWTOrfWiiiBifflnf'TTTfirf Figure 5.6 ROG interface design pop-up menus

The user interface in Figure 5.5 consists of five components which are place in four corners of the screen and the avatar at the center of screen as the main focal point. This

130 user interface follows the trend set of MMORPGs which mostly consist of these six components: status, game world map, control buttons/icons, message console, avatar, and menus. Figure 5.6 shows the pop-up menus to show help content and game quests. Each component is described in the following:

1. Status:

The status component shows the current information of the avatar. The first line indicates an avatar's level and an experience bar (percent of experience points to reach the next level); the second line indicates an avatar's health bar (0 to 100 points); the third line indicates an avatar's magic bar (0 to 100 points).

2. Map:

A game world map is located in the upper right corner of the screen which indicates the avatar location on the map by using an avatar icon. The other characters are indicated as a red dot on the map. User can hide or show the map.

3. Avatar:

An avatar always stays at the center of screen which is the focal point. The avatar has a text bubble to indicate the avatar's name and any current chatting messages. User can control the avatar to play and interact with the game world. The avatar detail is discussed in the character design section.

4. Messages console:

A messages console component is located at the bottom left of the screen. It has two functions: the messages board and command console. The public chat messages in game are shown in this area in up to 10 lines and display each message for 15 seconds. User can also use this component as a command line console; the command mode begins with

131 '/' character. A list of commands with the descriptions is shown in the pop-up help menu that is illustrated in Figure 5.7.

. , -areHel. p ••Controlsfcrols: : i. [WJcaac spelt:

'•Mf^^nt fA] melee4--" [DJratujed-

Down \qk£f IM1 on/off Eap [S] guard 101 on/off fjuesfc Coamands: /help fFlJ open/close help . /world connect [1*2] location interaction on /world disconnect "F3I loc.ac.ian inMractlOB ofx* /window OB CF4J image incexaction on ? /window off CF5J image intezaction off i /offline ire I play offline mode „„ 1 /listen on £F*?1 sound intezaction-on. * ®*' t /listen off {FBJ sound intezaccion off .«•, -» /who list, all users' . , _ j^ .^ ^ /mufeo let youz "agent- play f oz you ' ••'°£j£Ll~i<^ j /©anual'.'zesusse- 'conczol fzo» youz"a^pfcwt3>'^^^^, I /wfci3pexj:.' ;send.;&KJwa*e.^^&i^^r3Sfili &1 ii^i^^i:.'2S^i««a«B«^««^tJS3" '""" ""

Figure 5.7 ROG help page

5. Control buttons:

The five control buttons are placed in the bottom right of the screen: direction pad, melee attack button, ranged attack button, cast spell button, and guard button. These controls buttons can be used as the input for controlling the avatar, and users can access them in two ways: direct pressing via touch screen or mouse, indirect pressing via mapped keys of keyboard, mouse, or joystick. The control buttons also give the feedback to the user; they respond with an animated graphic to show that the buttons are pressed.

The control buttons with the descriptions are shown in the pop-up help menu that is illustrated in Figure 5.7.

The interface and controls are designed following all the design criteria in Table 5.3.

The interface is non-intrusive by placing the components in four corners. Some

132 components can be hidden to increase user vision in game: users can select to show or hide map; the messages console is shown when the user is typing or receiving message.

All the components are consistent in control, color, typography, and dialog design; ROG uses yellow as the main color and uses the same font for all text and dialogue in game.

Sound is used to provide meaningful feedback: the background music tempo is changed according to current game situation, and sound effects are used for each buttons to indicate the pressing action. User can read a help document at any point in the game by opening the help pop-up menu. The ROG catches the error in game and provides the error messages or solutions via messages console and logs.

Controls in ROG are minimized and intuitive. The main game has few keys to control the avatar and to use the commands. Controls provide various ways to control the avatar such as keyboard, mouse, touch screen, and joystick. In some quests, users have to control their avatars in different ways: users move the camera to capture the birds in quest three; and users move their real-world position to control the avatar position in quest two. Most of the control buttons and the commands follow the common

MMOPRGs' controls and command sets. User has full control over the game shell without any restriction or penalty, allowing them to join or leave the game world, play in offline mode, and play mini-games at any time.

5.1.8 Visual

The visual design is based on the Ramakian story and it is presented using 2D graphics. The concept artwork for this game is derived from an episode of Ramakian that describe the setting theme of the game world. There are two main types of visual assets in

133 game: characters' animations and game world map (tiles). The character design and game world map design is discussed in following:

1. Character design:

The characters in game are designed and created from the main characters in

Ramakian. User can select one of four characters to be his/her avatar to play in the game world including one ape, and three giants. The original artwork of the characters is shown in Figure 5.8.

Each character contains 26 sprites. A sprite is a 2-dimensional image or animation that is integrated into a scene (game world). Figure 5.9 is an example of a set of sprites in

ROG. For instance, first three images in the first row are combined to make a walking down sprite. The advantages of using sprites over 3D models (as in World of WarCraft

134 or other recent MMORPGs) are that sprites are smaller and less hardware intensive. As one of the goals of this thesis is to develop a platform-independent framework, lower system requirements mean that more devices can run games such as ROG.

Figure 5.9 Sprite sheet

2. Game world map design:

A game world map utilizes the tile-based approach which uses small sized pieces of graphics (tiles) instead of the full size image for the graphic rendering. The tile-based map reduces the memory and storage requirements of the game world, and utilizes less computation for graphic rendering.

135 In general, tile map is composed of 2-dimensional array/matrix containing references to a tile object. The tile objects keep the information that is used by game engine such as reference to a tile image, speed of character to walk on it, permission to walk on it, and the specific type of terrain. This tile objects information can be used in a map editor to create the game world map. Figure 5.10 illustrates an example of tile-based map that is being edited with the game map editor tool. Most of the tiles were taken from "RPG

Palace: Inquisitor's RPG Maker XP Interiors Tile Set" at www.rpg-palace.com.

Figure 5.10 Game map editor

5.1.9 Sound

There are two types of sound in the game design; background music, and sound effects. ROG utilizes sound to provide meaningful feedback to the user. Sound is an important game design criterion; therefore, sound needs to be carefully designed.

136 Background music in ROG is a Thai traditional music with a Thai instrument. This song called "Moo Long" and it is played with a Thai alto xylophone. This song is selected to match the theme and the setting of ROG, being based on a Thai work of literature. The tempo of the background music changes depending on the current game situation: the tempo increases when user's avatar is engaged in battle or running out of health; the tempo is set back to normal when the current situation is safe (a battle has been won; the avatar has fled from the battle area; the user restores his/her avatar's health over 70 points). This background music can help to immerse users in the game and also arouse his/her interest.

Sound effects are also used to provide meaningful feedback to the user. Users can get responses to their actions via the sound effects; for instance, users can hear the "whop" sound when they press the melee attack button. Sound effects help increasing user perception such as orientation in quest three, and distance in quest four. Select the right sound effects can help user easily perceive their avatar's status in game.

5.1.10 Believable NPCs

Believable NPCs are an important component to prove the concept of this thesis, being that they support the concept of ubiquity and believability. NPCs have to make the users believe that they are interacting and playing with the other users; thus, NPCs allow user to continue playing the game without access to the game server (offline mode). In addition, users can play game in a single player mode with NPCs.

NPCs have two main roles; to be themselves, or pretend to be other players. NPCs have to play their role with respect to their behavior type such as peaceful or aggressive.

137 Each NPC has to learn from users' activities in game world, so they can pretend to be other users in the offline mode or even control an avatar on behalf of the user.

NPCs can interact with the game world like the users; to fight with others, to chat with others, and to discover the game world. To create a fair game, the NPCs are modeled with the same properties as user's avatar (health points, magic points, progress level, and vision range). There is no cheating for the NPCs, in other words, as they play by the same rules as human users.

This section presents an example of believable NPCs, focused on how to apply AI techniques to create them. NPCs in ROG are adequate to make users believe that they are playing with the other users. Developers can follow this design as a guide to create believable NPCs of their own game, and they can modify or add new features that suit their NPCs.

Believable NPCs utilize the AI technique in four main parts: behavior controller, decision making, path finding, and natural language processing. The Figure 5.11

illustrates the conceptual design for the believable NPCs.

Behavior Controller

Desicion making Path finding Natural language processing (Think) (Chase and Evade) (Chat)

Figure 5.11 Believable NPCs conceptual design

138 The behavior controller controls the core behavior of the NPCs, defined in multiple states such as roaming, thinking, chasing, attacking, or evading. The state machine is used to build the behavior controller that controls the NPCs actions. The decision making helps NPCs in their thinking process to make their decision based on available information (past experience, and game world status). Path finding is used to navigate the

NPCs to their destination for chasing and evading purposes. Finally, NPCs utilize natural language processing to deal with the chatting.

1. Behavior controller:

The behavior controller utilizes the state machine to control the core behavior of the believable NPCs which defines the states corresponds to their actions. The state machine of the believable NPCs is illustrated in Figure 5.12.

The state machine represents the behavior of believable NPCs in nine general states and 22 transitions between states. The nine general states include: Spawn, Re-spawn,

Roam, Chat, Think, Chase, Evade, Attack, Dead. To make the NPCs believable, some AI techniques are added to some states: for example, decision making is used in the think state, path finding at the chase/evade state, and natural language processing at chat state.

The description of all states is given below:

139 Figure 5.12 State machine of believable NPCs

1. Spawn state: the NPC is initialized and added to the game world.

2. Re-spawn state: the NPC resurrects from the dead state.

3. Roam state: the NPC randomly walks around to discover the game world.

4. Chat state: the NPCs interact with the other characters via the chatting message. It uses natural language processing to response the chatting message.

140 5. Think state: This state is a critical state for the NPCs in that it decides what to do in particularly complex situations (e.g., chooses to engage or flee the battle, selects the attack strategy respect to the player's style).

6. Chase state: The NPCs chase the player using a path finding algorithm for finding an optimal or adequate path to reach the player.

7. Evade state: The NPCs escape from the battle area using a path finding algorithm for finding an optimal or adequate path to the safe destination.

8. Attack state: This state deal with attacking actions. It utilizes the Bayesian network to predict the upcoming attack from the opponent and then select the appropriate attacking action. The attacking actions are melee attack, ranged attack, spell attack, and guard.

9. Dead state: the NPC enters the dead state after it runs out of health points. It holds this state until the health points are recharged to 100 points.

2. Path finding:

There are many games that apply a path finding algorithm to NPCs to help them move to a destination via an optimal or adequate path [218]. Using path finding algorithms allows the AI NPCs to find a path to the player while in a tracking state.

There are three alternative algorithms for this design: the A* algorithm [188] for finding an optimal path; F* algorithm (heuristic) for finding an adequate path [173, 182]; and

Chasing/Evading algorithm for finding a simple path. However, these algorithms have some limitations, as shown in Table 5.4.

141 Table 5.4 Path finding algorithms comparison Content A* algorithm F* algorithm Chasing/Evading (optimal) (heuristic) (simple) Searching Exhaustive search Heuristic search Simple search technique Time More time consuming Less time consuming Least time consuming consumption Space More memory space Less memory space Least memory space Result Guaranteed optimal Adequate or "good Not guaranteed path path enough"

According to Table 5.4, the A* algorithm provides an optimal path, but it consumes a great deal of resources. Therefore, it may not pass the constraints of a mobile device platform because the A* function utilized too much CPU time. The game world is a huge, open terrain with few obstacles, thus the simple chasing/evading algorithm is adequate. However, if the NPCs cannot find the path to the destination, the F* algorithm will be used as the secondary path finding algorithm to find a sufficiently optimal path while still allowing real-time interaction and compliance with the memory resource constraints.

3. Natural language processing:

Believable NPCs employ the stochastic language model (2nd Markov model) to interact with the players via chatting like a chatbot. This stochastic model is adopted from a chatbot called MegaHAL [194]. The Stochastic Language model is used in natural language processing to deal with the chat messages. It can learn from past experience

(predefined knowledge and knowledge from chatting messages). The model generates output from the predictions based on the predicted probability distribution, and the symbols in this model are words that allow this model to generate phrases or sentences.

142 NPCs have their individual memory to keep their knowledge from the past experience. All believable NPCs are initialized with the basic knowledge that is adequate for basic conversation. They get more knowledge from the chatting messages. The believable NPCs also learn from their owner's chatting messages so they can imitate their owner's chatting behavior after taking controls the avatar in auto mode or offline mode.

4. Decision making:

Decision making is used in the think state to make decisions for NPCs. The Bayesian networks are used to make decisions because they can deal with the uncertain situation in a dynamic game world.

Bayes' Theorem is written as:

P(A\B) = P(B\A)P(A) /P(B)

P(A): The prior probability or marginal probability of A. It is "prior" in the sense that it does not take into account any information about B.

P(A|B): The conditional probability of A, given B. It is also called the posterior probability because it is derived from or depends upon the specified value of B.

P(B|A): The conditional probability of B given A.

P(B): The prior or marginal probability of B, and acts as a normalizing constant.

Bayesian networks are applied in the thinking state of NPCs behavior model to make the decisions for NPCs in the human like ways. The Bayesian network can be large and complex to represent the complex scenario in the game world. The trade-off, however, is the huge computational time involved. The Bayesian network is classified as a NP-hard problem; therefore, decomposition and simplification are a good solution for applying

Bayesian network to NPCs that need to be minimized in computational time.

143 There are three decisions made by believable NPCs that are associated with Bayesian networks: chase or evade decision, defensive strategy, and player attack prediction. The

NPCs sense the game world information and pass this to the Bayesian network inference to make the decision for them.

Chase or evade decision:

This is the important part of believable NPCs to make the decision to chase or evade other characters. The NPCs determine the situation and make decisions based on the game world information they have. Bayesian network help NPCs to make decisions based upon incomplete information under the uncertain state of the game world. NPCs have their own individual memory of the network that makes them unique and believable: NPCs makes decisions based on their previous information they have learned.

The Bayesian network for chase or evade decision is shown in Figure 5.13. The NPCs use the outcome of the network to make the decision whether they should continue to chase the opponent or flee. If the NPCs have more than one personality behavior

(aggressive, neutral, and passive), we can use fuzzy logic to finalize the decision based on their built-in behavior.

144 Fuzzy Logic

Decision) / v

Figure 5.13 Chase or evade decision

According to Figure 5.13 above, the nodes on the left represent the facts in the game world that the NPCs can use to make a decision. The decision to chase or evade depends on five factors which are obtained from the game world. A node on the right side represents the decision based on the five factors. The decision results the probabilities of chasing and evading that is used by the fuzzy logic to make a final decision.

We assume that all the factors are true which have the probability from 0.0 to 1.0 after we encode the game world information into each factor. For an example, the health will be 0.75 if the NPC has 75% health points. The Bayesian network is minimized to a single row of a probability table that requires all factors to be true; the probability for the decision is calculated from the simple multiplication of all factor probability. P( NPC chase given the current game world status) = P(Distance = very close to player) D

145 P(Health = percentage of NPC's health) D P(NPCs/Players = ratio of NPCs by players) D

P(Player's strength = player's health and player's skill).

The calculating probabilities are shown as the following:

D: distance between NPC and a player, it is encoded into 0.0 to 1.0: very far to very close respectively. H: NPC's health remaining, it is encoded into 0.0 to 1.0: empty to full health. NP: NPCs/Players ratio, it is encoded as the following: 1.0; number of NPCs >= number of players NPCs/Players; number of NPCs < number of players PS: player's strength, it is encoded by using combination of player's health and player's skill into 0.0 to 1.0. PS = l-(P(PH) + P(PSK))/2: PH: player's health, it is encoded into 0.0 to 1.0: empty to full health. PSK: player's skill, it is encoded into 0.0 to 1.0: skill level 0 to 9

This calculation can determine the probability of decision to chase the player. The joint probability formula is calculated for each attack case as shown below:

P(D n H n NP n PS) = P(D) P(H) P(NP) P(PS) = P(D) P(H) P(NP) (1- (P(PH) + P(PSK))/2)

To make a final decision, a Fuzzy logic for decision making uses two inputs to make a final decision for NPCs to chase, evade, or wait. The first input is the output of from the Bayesian network which ranges from 0.0 to 1.0. The second input is the NPC's behavior level which ranges from 0.0 to 1.0. The range of these inputs is illustrated in

Table 5.5 and Table 5.6.

Table 5.5 Chase chance input range Chase Chance Value Low 0.00-0.40 Medium 0.41-0.60 High 0.61-1.00

146 Table 5.6 NPC's behavior input range NPC's behavior Value Passive 0.00-0.30 Neutral 0.31-0.65 Aggressive 0.66-1.00

The fuzzy membership sets are created from these input ranges which are shown in

Figure 5.14 below.

Low Medium High

0.00 0.40 0.60 1.00 Chase chance

Passive Neutral Aggressive

0.00 0.30 0.65 1.00

Figure 5.14 Membership sets for chase chance and NPC's behaviour

To optimize the calculation, the non-overlapping membership sets are defined and a decision rule matrix is used to determine a single fuzzy output (evade, wait, or chase) depends on two inputs. The decision rule matrix is illustrated in Table 5.7. The membership set can be adjusted to overlap and add the membership functions, and then calculates fired rules that are associated with the inputs. The decision is selected from one that has the highest degree of truth.

147 Table 5.7 Decision rule matrix Chase chance/ Passive Neutral Aggressive NPC's behavior Low Evade Evade Wait Medium Evade Wait Chase High Wait Chase Chase

Defensive Strategy:

A defensive strategy is used to play against the player by predicting a player's attack strategy. The Bayesian network is modeled as shown in Figure 5.15. The network is used to estimate the chances of the player winning in a battle given how he/she decides to attack. The probabilities of the player winning can be used to plan for the NPC's defensive strategy and counter attack to play against the player. For example, the NPCs should keep the distance from player if player is most likely to win with a melee attack.

Figure 5.15 Defensive strategy network

The calculating probabilities are shown as the following:

N: total number of battles Nw: total number of battles won by player iNWm: total number of battles won by using only melee attack Nwr: total number of battles won by using only ranged attack •Nwmr: total number of battles won by using both melee attack and ranged attack Nm: total number of battles in which player used melee attack Nr: total number of battles in which player used ranged attack P(M) = Nm/N P(R) = Nr/N

148 P(Pw|~M n ~L) = 0 P(Pw|M n ~R) = Nwm/Nw P(Pw|~M n R) = Nwr/Nw P(Pw|M n R) = Nwmr/Nw

This calculation can determine the probability of the player winning an upcoming battle by using melee attack, ranged attack, or both of them. The conditional probability table for defensive strategy is illustrated in Table 5.8. The joint probability formula is calculated for each attack case as shown below:

P(Pw n M n R) = P(M) P(R) P(Pw| M n R)

Table 5.8 Conditional probability table for defensive strategy Melee Attack Ranged Attack P(Pw| M P(Pw) Normalized riR) P(Pw) 2 P(M) = Nm/N P(R)= Nr/N ^wrnr ^w NMnR)Nwmr/NwN P(Pw)/£P(Pw)

P(M) = Nm/N P(~R)= l-P(R) N1 ' wm'/Nl ^ w (NmNwm/NNw)(l-Nr/N) P(Pw)/IP(Pw)

P(~M)=1-P(M) P(R)= Nr/N Nwr/Nw (NrNwr/NNw)(l-Nm/N) P(Pw)/£P(Pw) P(~M)= l-P(M) P(~R)= l-P(R) 0 0 0 ZP(Pw) 1.0

Attack Prediction:

In the battle, many players like to use their favorite attack combo (effective attack) to attack the NPCs that make repetitive fighting in game. There is a good idea that the NPCs can predict the next attack from the player and adapt to fight against the player; the player may have to keep changing their attack combo in order to defeat the NPCs. The Bayesian network is modeled as shown in Figure 5.16. The network is used to predict the next attack of the player given the previous two attacks.

In this model, Attack A, B, and C are first, second and third attacks respectively. All events in attack A, B, and C are dependent in any combination of attack. The attack can be any of nine combinations of three attack types: melee attack, ranged attack, and spell

149 attack. The correct prediction must be greater than 33.33% (a random guess) that would increase the level of challenge for the players.

Attack A * Attack C

Attack B

Figure 5.16 Attack prediction network

A calculation of the probability is quite straightforward by collecting the frequencies of player's attack and then stored into a 9x3 array. We can calculate all the conditional probabilities and store the results in the conditional probability table as shown in Table

5.9. NPCs will pick the highest probability of attack C as a prediction of which attack type the player has a high chance to use given the first two previous attacks (attack A and attack B).

The calculation of the attack prediction is

P(C2\AX,By) = Px+y,z x,y,z £ (melee attack, ranged attack, spell attack); melee attack = 0, ranged attack = 1, spell attack = 2

Table 5.9 Conditional probability table for attack prediction Probability of Attack C Attack A Attack B Melee attack Ranged attack Spell attack Melee attack Melee attack Poo P01 P02 Melee attack Ranged attack Pio Pn P12 Melee attack Spell attack P20 P21 P22 Ranged attack Spell attack P30 P31 P32 Ranged attack Ranged attack P40 P41 P42 Ranged attack Spell attack P50 P51 P52

150 Spell attack Melee attack Peo Pei P62 Spell attack Ranged attack P70 P71 P72 Spell attack Spell attack Pso Psi P82

The NPCs can be designed in different ways to suit the type of character and the game genre. Developer can use this design as a guideline to create their own believable

NPCs for a RPG or a MMORPG. Thus, believable NPCs are able to play with the player in the "humanlike" ways in both online and offline mode, as each of them is unique due to their learning ability and they have their past experience. These characteristics support the concept of believability that is one of our proofs of concept.

5.1.11 Game architecture

ROG is developed under the game specification that covers most of the new game design concept. The game specification shows the features and limitations of ROG. The game specification is shown in Table 5.1.

5.1.12 Game editor tools

Game editor tools are used to create props in game such as maps and tile sets. This section presents three game editor tools that are used in this game development: a sprite maker, a tile set maker, and a map editor. A sprite maker tool is a simple tool allows user to load a sequence of images and convert it to an animated sprite. A tile set maker tool reads a text file that contains a list of tile properties (image file name and terrain characteristics), and then convert it to a tile set. A map editor tool is used to create the game world map from a tile set. The map editor user interface is shown in Figure 5.10.

These tools are suited to creating props for 2D games, such as the prototype.

151 5.2 Implementation

ROG is a prototype to prove the concept of this thesis. The ROG is developed using pure Java programming language (JDK 1.6) with NetBeans 6.1 IDE [219]. Based on the design in previous section, all five quests are implemented to test the game concept with all the proposed features such as ubiquity, interactivity, believable NPCs, online mode, offline mode, and platform independence.

To accelerate the development process, the prototype is developed using the open source game engine "GNU MMOPRG for Java" [220] and is also developed to follow the proposed framework. This open source game engine provides the basic game elements with client/server structure for MMORPG, and adds proposed features to create ROG.

ROG is implemented for Windows, OSX, and Linux to show that it supports platform independence. There are two main components for this implementation: game server and game client.

5.2.1 Game server

The game server is a remote or local host used by game clients to play multiplayer games. ROG's server is like most other online games that operate via a connection from each game client. The server can be registered up to 200 users and support 20 concurrent game clients for this prototype. However, the server can be extended using dedicated servers that can support large number of users due to increased processing and bandwidth.

The game server has three major tasks: authentication of users, handling game messages, and keeping track of user information. There are some additional features that

152 are provided by the server like tools for monitoring, editing the game world, and logging.

The game server architecture is shown in Figure 5.17.

J , : ' " *" ""'4 VK---H ••^'^^•s^ !i"-Y X"™T"' '"*"'"<((* "" "«%^ ~"'"s '•

Game Server Server Services

^ftejgistration and ij^nnection |*Whentication iiiiiiiiiiiiuiiiiiiiiiiiiijiii Game World Resources f Monitor management

Messages Backup handling Game States

Figure 5.17 ROG's game server architecture

This game server architecture is designed to minimized the resources of the game server as much as possible but provides the necessary features for the ROG. To increase the performance of the game server, the game server handles only the necessary tasks and distributes the high load tasks to the game clients. For instance, the game server processes only the critical messages (e.g. authentication or disconnection) and bounces all the rest messages to the game clients; the physic calculations, and NPCs are executed on the game client to reduce the load of the server.

However, if a game client is run on a less-powerful platform like a cellular phone, the game server will do the process of load balancing so that high loads are handled by the server if the client cannot process certain intensive tasks. For example, if a user logs onto

153 ROG using a cell phone or Nintendo DS, the game sever recognizes the game device and allocates resources for physics calculations and NPC actions. If another user logs onto

ROG using a desktop computer, however, the server notes the power of the computer and allows the user's computer to handle physics and NPC actions.)

Table 5.10 describes the game server's components.

Table 5.10 Game server components Module Description Server Services Connection manages the network connections from the game clients Registration and registers new users and authenticate user login; and authentication manages user profile data Resource management loads and store resources in the game server and prepares theses resources for the game client (e.g. map, sprites pack, and believable NPCs) Message handling handles all the messages that sent to the server Monitor keeps tracking network connections and terminates any inactive connections Backup stores the important data periodically to make sure that the server will have the updated data after restart or recovery Data store components Game world a game world map that is distributed to all game clients Game states keeps the recent game states of all current connections this component is manage by three services: messages handling, monitor, and backup User profiles contains user profiles that are registered with the game including user authentication and user status Believable NPC handles all NPCs that are loaded and stored by the resource repository management service Backup replicates all the data store components in the game server Service tools Game editor provides the game editor tools to update the game world: map editor, sprite maker, and tile set maker Game management provides basic game server management command (e.g. send messages, ping game client, and terminate client) this tool is a GUI of the server as a server console Logging stores game server messages in the logs

154 The implementation detail can be found on. the supplementary DVD. The ROG's game server console is shown in Figure 5.18.

Figure 5.18 ROG's game server console

5.2.2 Game client

ROG's game client is a video game application for the users. It can run on many devices and is platform independent. As a prototype, the game client is implemented for

Windows, OSX, and Linux platforms. The game client provide the game for users to play in their device in both online and offline modes. The game client is composed into two parts: the game engine and client services. The game engine agent is a core part of this component, and the client services associate with the game engine to add some features to the game. The ROG's game client architecture is illustrated in Figure 5.19.

155 Game Client

• WHim"*WW"*1**! •* •* mut^mmt^mmmmmiim iiiiiiiM^? Game Engine : S*VP^V« * ^ .

h Game Logic Hardware * User Interfaces .1 Interface drivers \

5 i^fafaphics

Sound Believavble Interactions NPCs Ai r A Profile uuumutuiuujuujuuuuui i] Network 1-

••.l.V. IJHJ 'I'll.' Figure 5.19 ROG's game client architecture

The game engine agent and the client services agents are explained in the following:

5.2.2.1 Game engine It is a core component of the game client that directly interacts with the user; it provides a game for user to play on their device. Basically, the game engine does everything necessary for the user to play the game in both online (multi-players) and offline (stand-alone) modes.

The game engine contains the game logic, graphics, sound, user profile and network.

The game logic handles all main tasks and states in the game (controls, gameplay, rules, and game mechanic). The graphics and sound handle the multimedia tasks (visual, sound, and user interface) and cooperate with the user interface service. This game engine uses

2D graphics with a frame buffer that can provide a frame rate of 33 frames per second on all three platforms. The sound component plays background music and sound effects in game and supports multiple audio formats such as midi, wav, and MP3.

156 The profile is used to store user information and saved game status. The network component handles the networking tasks for the game client: to manage client/server connection, to monitor the network connection to the game server. The network component will seamlessly change from online mode to the offline mode after it detects a network connection problem (e.g. lost connection, server down, or out of network coverage).

5.2.2.2 Client services Game client services are executed along with the game engine to add more features to the game client. To minimize resource use, the game engine loads only the necessary client services when it needs to use them.

1. Hardware interface drivers:

This service utilizes the different attached devices in the game. For instance, the hardware interface device drivers control and deliver the information from the generic

GPS device and pass to the interaction service to interpret the GPS data. This service helps the game to deal with additional devices and peripherals. The main task of this service is to initialize the devices and retrieve the data from them and pass this information to other services or game engine.

For this prototype, the hardware interface driver is implemented to support only generic GPS units that provide data via a COM port and USB camera for video interaction.

2. User interface:

The user interface service helps the game engine agent to deal with a device configuration of the game interface that is different from the game engine platform. The

157 user interface service detects the current device configuration such as platform type, screen resolution, and inputs. This service then sets the appropriate user interfaces and sends the configuration to the game engine.

For this prototype, this service fixes the screen resolution at 640*480 pixels for

Windows, OSX, and Linux platforms to ensure that game client can be able to display on the screen (user interface safe mode). The user interface service also deals with the inputs for the game engine, including keyboard, mouse, joystick, and touch screen input.

3. Interactions:

The interaction service is designed for supporting interactivity, such as image, video, sound, and location, between the user and the game. This service deals with the interaction associated in game.

The interaction service is implemented to support in particular interactions in three quests, listed in Table 5.11.

Table 5.11 Interactions service feature Interaction types Descriptions Image provides the image processing interaction by using template matching method Video provide the real-time video processing interaction in quest three Sound provides sound interaction in quest four Location provides location interaction in quest two by mapping physical world coordination to the game world map

4. Believable NPCs:

The implementations of believable NPCs follow the design standards of the previous section. There are two roles for believable NPCs: to play as a user opponent and to play as a user.

158 NPCs can play well against users and they have the abilities to learn and imitate user behavior. Each NPC has an individual memory and can store up to 200 user responses to interaction with the NPC (either fighting or chatting). Based on this type of memory, each believable NPC is unique and exhibits a different personality that makes the game as a whole more varied and challenging to play.

The NPCs are also implemented as a bot to play the game on behalf of the owner. It will take control of an avatar when users change to "auto" mode. The NPCs can imitate user behavior that it had learned from users in the past. In the game client, N+l believable NPCs are being executed; where N is the total number of users that are playing in the game world. N believable NPCs are learning each user's behaviors (fighting and chatting), and one believable NPC is just an opponent that was sent from the server to run on the game client for reducing processing at the server. When the game client changes from online mode to offline mode, these N believable NPCs immediately take control of the other users' avatars to play with the user. This mechanism helps solving the network connectivity in online game and support the ubiquitous concept that allow user to play game anywhere anytime. The offline to online transition is not implemented at this stage, but an implementation is discussed in the future work section.

In addition, there is one special NPC called "Guru" who is a chatter bot with extensive knowledge about the ROG and that acts as a narrator to answer questions from and assist the user. The Guru is implemented like other NPCs but he has more predefined knowledge for chatting purposes, including hardwired English words, phrases, and sentences to deal with specific questions relevant to the quests and the ROG story.

159 5.3 Verification and validation

Usually, software testing "is referred to as verification and validation" [221].

Verification (as "low-level tests") that is conducted to guarantee that the tested applications meet their specifications [221, 222]. Validation (as "high-level test") is conducted to guarantee that the applications are developed as per user requirements [221,

222].

For verification of ROG, testing started from unit testing and progress to integration testing [221]. Unit testing was performed to verify the individual components such as method or class. The integration testing was conducted after unit testing to prove that all the components perform tasks correctly under a system execution level. Then, the validation was conducted to ensure that the ROG met its requirements [221].

5.3.1 Unit testing

A unit test was conducted to ensure that ROG was implemented as it was designed.

Each individual unit was tested. ROG is an online game with tools, and each component in game server and game client and game editor tools were considered as a unit in the test. A unit could be a method, a class, a program depending on the tested component.

For instance, a unit test for believable NPCs is broken down into small units, with each

AI techniques was considered as a unit. The test focused on the internal structure of each individual unit with the use of white box testing to verify that a piece of software is properly implemented [223]. In this test, each unit was executed, and its functions were traced by checking a log. All functions were verified based on their known inputs and outputs. If all expected outputs appeared in the log when the specified inputs were applied, this meant all the functions were properly implemented.

160 For example, as per the game specification, believable NPCs must be able to play against players with some ability to learn from and to plan for fighting. Attack prediction and defensive strategies must be implemented in the believable NPCs. These two functions were checked to determine whether or not they were implemented in the believable NPCs. The verification method chosen was to check the outputs on the log. If the actual outputs were the same as the expected outputs, those two functions were verified as implemented. The tests below are the examples of testing two functions of the believable NPCs.

1. Attack prediction testing:

The attack prediction is designed to predict an opponent's attack. The inference module is implemented to predict the pending attack from the past memory that NPC encountered the player. The testing is broken into two approaches: an uncertain attack mode in which the player always randomly attacks and a patterned attack mode in which the player usually follows a specific attack pattern. The outputs are determined by using a successful prediction rate which should more than 30%. The testing results are shown below:

Uncertain attack mode: Input data sets contain the random attack (Melee, Ranged, and Spell) 1. 100 random attacks: the result is about 30% of successful prediction. 2. 1000000 random attacks: the result is about 33% of successful prediction. 100 random attack 1 Strike = 0 Prediction == 2 false --> Success/Ratio 0 / 0.0 2 Strike = 1 Prediction = 1 true --> Success/Ratio 1 / 0.5 3 Strike = 1 Prediction = 2 false --> Success/Ratio 1 / 0.3333333333333333 4 Strike = 2 Prediction == 1 false --> Success/Ratio 1 / 0.25 5 Strike = 1 Prediction = 0 false --> Success/Ratio 1 / 0.2 6 Strike = 2 Prediction = 0 false -> Success/Ratio 1 / 0.16666666666666666 7 Strike = 2 Prediction = 0 false --> Success/Ratio 1/0.14285714285714285 8 Strike = 0 Prediction == 2 false --> Success/Ratio 1 / 0.125

161 9 Strike = 2 Prediction = 1 false --> Success/Ratio 1 / 0.1111111111111111 10 Strike = 1 Prediction = 1 true --> Success/Ratio 2 / 0.2 20 Strike = 2 Prediction = 0 false --> Success/Ratio 6 / 0.3 30 Strike = 1 Prediction = 2 false -> Success/Ratio 9 / 0.3 40 Strike = 2 Prediction = 0 false -> Success/Ratio 12/0.3 50 Strike = 1 Prediction = 0 false --> Success/Ratio 16 / 0.32 60 Strike = 2 Prediction = 0 false -> Success/Ratio 19 / 0.31666666666666665 70 Strike = 0 Prediction = 2 false --> Success/Ratio 22 / 0.3142857142857143 80 Strike = 1 Prediction = 1 true --> Success/Ratio 25 / 0.3125 90 Strike = 2 Prediction = 0 false --> Success/Ratio 28/0.3111111111111111 100 Strike = 0 Prediction = 1 false --> Success/Ratio 30 / 0.3

Patterned attack mode:

Input data sets contain the patterns attack such as Melee Melee Melee, Melee Melee Ranged, Spell Spell Melee, and etc. We use 1000 attack per input data sets with different numbers of patterns. 1. 1 pattern: the result is about 99.6% of successful prediction. 2. 2 patterns: the result is about 79% of successful prediction. 3. 3 patterns: the result is about 70% of successful prediction. 4. 4 patterns: the result is about 66% of successful prediction. 5. 5 patterns: the result is about 65% of successful prediction. 6. 6 patterns: the result is about 64% of successful prediction. 7. 7 patterns: the result is about 64% of successful prediction. 8. 4 patterns with 100 random attacks: the result is about 64% of successful prediction. 9. 4 patterns with 200 random attacks: the result is about 63% of successful prediction 10.4 patterns with 300 random attacks: the result is about 63% of successful prediction 2 patterns of attack: 79% successful prediction 100 Strike = 0 Prediction = 0 true --> Success/Ratio 77 / 0.7676767676767676 P(Melee) = 0.5862068965517241 P(Ranged) = 0.0 P(Spell)= 0.41379310344827586 200 Strike = 0 Prediction = 0 true --> Success/Ratio 159 / 0.7939698492462312 P(Melee) = 0.18181818181818182 P(Ranged) = 0.8181818181818182 P(Spell)= 0.0 300 Strike = 0 Prediction = 0 true --> Success/Ratio 235 / 0.782608695652174 P(Melee) = 0.5222222222222223 P(Ranged) = 0.0 P(Spell)= 0.4777777777777778 400 Strike = 0 Prediction = 0 true --> Success/Ratio 316 / 0.7894736842105263 P(Melee) = 0.5416666666666666 P(Ranged) = 0.0 P(Spell)= 0.4583333333333333 500 Strike = 1 Prediction = 1 true --> Success/Ratio 396 / 0.7915831663326653 P(Melee) = 1.0 P(Ranged) = 0.0 P(Spell)= 0.0 600 Strike = 0 Prediction = 0 true -> Success/Ratio 475 / 0.7913188647746243

162 P(Melee) = 0.5388888888888889 P(Ranged) = 0.0 P(Spell)= 0.46111111111111114 700 Strike = 2 Prediction = 0 false --> Success/Ratio 556 / 0.7954220314735336 P(Melee) = 0.0 P(Ranged) = 1.0 P(Spell)= 0.0 800 Strike = 1 Prediction = 1 true --> Success/Ratio 635 / 0.7934918648310388 P(Melee) = 1.0 P(Ranged) = 0.0 P(Spell)= 0.0 900 Strike = 0 Prediction = 0 true -> Success/Ratio 714 / 0.7931034482758621 P(Melee) = 0.5350553505535055 P(Ranged) = 0.0 P(Spell)= 0.46494464944649444 1000 Strike = 0 Prediction = 0 true --> Success/Ratio 795 / 0.7947947947947948 P(Melee) = 0.5415282392026578 P(Ranged) = 0.0 P(Spell)= 0.4584717607973422 7 patterns of attack: 64% successful prediction 100 Strike = 2 Prediction = 2 true --> Success/Ratio 64 / 0.6363636363636364 P(Melee) = 0.0 P(Ranged) = 1.0 P(Spell)= 0.0 200 Strike = 2 Prediction = 0 false --> Success/Ratio 128 / 0.6432160804020101 P(Melee) = 0.5 P(Ranged) = 0.5 P(Spell)= 0.0 300 Strike = 0 Prediction = 0 true --> Success/Ratio 190 / 0.6321070234113713 P(Melee) = 0.7413793103448276 P(Ranged) = 0.017241379310344827 P(Spell)= 0.2413793103448276 400 Strike = 2 Prediction = 2 true --> Success/Ratio 257 / 0.6416040100250626 P(Melee) = 0.0 P(Ranged) = 1.0 P(Spell)= 0.0 500 Strike = 0 Prediction = 0 true --> Success/Ratio 320 / 0.6392785571142284 P(Melee) = 0.5248618784530387 P(Ranged) = 0.27624309392265195 P(Spell)= 0.19889502762430938 600 Strike = 1 Prediction = 1 true --> Success/Ratio 379 / 0.6310517529215359

2. Defensive strategy testing:

The defensive strategy is used to plan a strategy to play against the user by predicting a user's attack strategy. The implementation consists of memory and inference which are used to predict the user's attack strategy in an upcoming battle. Each NPC has an individual memory to keep track of the user's battle history. The inference is used to calculate the user's attack strategy from the battle history (memory), then the NPC plans a defensive strategy based on the prediction result. The inference was tested by using four different memory sets to test the correctness of the inference. Four memory sets keep the battle history in different winning scenarios: the player mostly used melee attacks; the player mostly used ranged attacks; the player mostly used both attacks; and the player equally used melee, ranged, and both attack.

163 First winning scenario: player mostly used melee attacks: This test calculate conditional probability for player wins Calculation based on 100 battles. Player won 50 by melee attacks only 30 by ranged attacks only 15 by both attacks 5 Player used 60 melee attacks and used 50 ranged attacks. Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.6 P(R) = 0.5 0.1 0.03 0.11 p(M) = 0.6 P(~R) = 0.5 0.6 0.18 0.66 p(~M) = 0.4 P(R) = 0.5 0.3 0.06 0.22 I ZP(Pw) 0.27 This calculation shows the player wins 27% of the battles when using melee attack

(66%). Next, we revise the probability table to find the probability of the player winning

an upcoming battle.

Melee Attack only P(M) is raised to 1.0 Melee Attack Range Attack P(Pw| MflR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R) = 0.5 0.1 0.05 0.14 p(M)=1.0 P(~R) = 0.5 0.6 0.3 0.85 p(~M) = 0.0 P(R) = 0.5 0.3 0.0 0.0 ZP(Pw) 0.35 Ranged Attack only P(R) is raised to 1.0 Melee Attack Range Attack P(Pw| MflR) P(Pw) Normalized P(Pw) p(M) = 0.6 P(R)=1.0 0.1 0.06 0.33 p(M) = 0.6 P(~R) = 0.0 0.6 0.0 0.0 p(~M) = 0.4 P(R)=1.0 0.3 0.12 0.66 ZP(Pw) 0.18 Both Attacks P(M) and P(R) are raised to 1.0 Melee Attack Range Attack P(Pw| MflR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R)=1.0 0.1 0.1 1.0 p(M)=1.0 P(~R) = 0.0 0.6 0.0 0.0 p(~M) = 0.0 P(R)=1.0 0.3 0.0 0.0 IP(Pw) 0.1 In the first case, we raise the P(M) to 1.0 and calculate the new marginal probability.

This raises the probability that the player will be successful to 35% with an 85% chance

that the player will only use melee attacks to win the battle. For the other cases, the

winning probabilities are dropped to 18% by using only ranged attacks and 10% by using

both attacks.

164 The prediction of a player's attack strategy for upcoming battles would be melee attack only based on past experience (NPC's memory).

Second winning scenario: player mostly used ranged attack: This test calculate conditional probability for player wins Calculation based on 100 battles. Player won 60 by melee attack only 15 by ranged attack only 30 by both attack 15 Player used 50 melee attack and used 75 ranged attack. Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.5 P(R) = 0.75 0.25 0.09375 0.3 p(M) = 0.5 P(~R) = 0.25 0.25 0.03125 0.1 p(~M) = 0.5 P(R) = 0.75 0.5 0.1875 0.6 IP(Pw) 0.3125 This calculation shows the player wins 31% of the battles mostly using only ranged attack (60%). Next, we revise the probability table to find the probability of the player wining an upcoming battle.

Melee Attack only P(M) is raised to 1.0 Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R) = 0.75 0.25 0.1875 0.75 p(M) = 1.0 P(~R) = 0.25 0.25 0.0625 0.25 p(~M) = 0.0 P(R) = 0.75 0.5 0.0 0.0 ZP(Pw) 0.25 Ranged Attack only P(R) is raised to 1.0 Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.5 P(R)=1.0 0.25 0.125 0.33 p(M) = 0.5 P(~R) = 0.0 0.25 0.0 0.0 p(~M) = 0.5 P(R)=1.0 0.5 0.25 0.66 SP(Pw) 0.375 Both Attacks P(M) and P(R) are raised to 1.0 Melee Attack Range Attack P(Pw| MPlR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R)=1.0 0.25 0.25 1.0 p(M)=1.0 P(~R) = 0.0 0.25 0.0 0.0 p(~M) = 0.0 P(R)=1.0 0.5 0.0 0.0 IP(Pw) 0.25

In the second case, we raise the P(R) to 1.0 and calculate the new marginal probability, which raises the player winning probability to 37% with a 66% chance of

165 using only ranged attacks to win the battle. For the other cases, the winning probabilities are dropped to 25% by using only melee and by using both attacks.

The prediction of a player's attack strategy for an upcoming battle would be range attack only based on past experience (NPC's memory).

Third winning scenario; player mostly used both melee attack and range attack: This test calculate conditional probability for player wins Calculation based on 100 battles. Player won 50 by melee attack only 13 by ranged attack only 7 by both attack 30 Player used 70 melee attack and used 60 ranged attack. Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.7 P(R) = 0.6 0.6 0.252 0.720 p(M) = 0.7 P(~R) = 0.4 0.26 0.072 0.208 p(~M) = 0.3 P(R) = 0.6 0.14 0.025 0.072 IP(Pw) 035 This calculation shows the player wins 35% of the battles which mostly uses both melee and ranged attacks (72%). Next, we revise the probability table to find the probability of the player win in an upcoming battle.

Melee Attack only P(M) is raised to 1.0 Melee Attack Range Attack P(Pw| MDR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R) = 0.6 0.6 0.36 0.77 p(M)=1.0 P(~R) = 0.4 0.26 0.10 0.22 p(~M) = 0.0 P(R) = 0.6 0.14 0.0 0.0 ZP(Pw) 0.46 Ranged Attack only P(R) is raised to 1.0 Melee Attack Range Attack P(Pw| MflR) P(Pw) Normalized P(Pw) p(M) = 0.7 P(R)=1.0 0.6 0.42 0.9 p(M) = 0.7 P(~R) = 0.0 0.26 0.0 0.0 p(~M) = 0.3 P(R)=1.0 0.14 0.04 0.09 IP(Pw) 0.461 Both Attacks P(M) and P(R) are raised to 1.0 Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R)=1.0 0.6 0.6 1.0 p(M)=1.0 P(~R) = 0.0 0.26 0.0 0.0 p(~M) = 0.0 P(R)=1.0 0.14 0.0 0.0 YP(Pw) 0.6 In the third case, we raise the P(M) and P(R) to 1.0 and calculate the new marginal probability which raises the player winning probability to 60%. For the other cases, the

166 winning probabilities are increased to 46% by using only melee attack and by using only ranged attack.

The prediction of players attack strategy for an upcoming battle would be a combination attacks based on past experience (NPC's memory).

Fourth winning scenario: player equally used melee, ranged, and both attacks: Calculation based on 120 battles. Player won 30 by melee attack only 10 by ranged attack only 10 by both attack 10 Player used 65 melee attack and used 65 ranged attack. Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.54 P(R) = 0.54 0.33 0.097 0.37 p(M) = 0.54 P(~R) = 0.45 0.33 0.082 0.31 p(~M) = 0.45 P(R) = 0.54 0.33 0.082 0.31 IP(Pw) (Uf) This calculation shows that the player wins 26% of the battles. The winning probabilities are equal and the chance of an upcoming attack will rely on the number of melee and ranged attacks. A first row or both attacks always have the highest winning probability because we have equal P(Pw|MflR) and cannot have P(M) + P(R) less than

1.0. Next, we revise the probability table to find the probability of the player winning an upcoming battle. The result shows that the winning probability always increases to 33% and the chance of using an attack strategy in all cases increases. As a result, the prediction of attack strategy for an upcoming battle would be the one that has the highest probability among P(M), P(R), and P(MnR).

Melee Attack only P(M) is raised to 1.0 Melee Attack Range Attack P(Pw| MflR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R) = 0.54 0.33 0.18 0.54 p(M)=1.0 P(~R) = 0.45 0.33 0.15 0.45 p(~M) = 0.0 P(R) = 0.54 0.33 0.0 0.0 ZP(Pw) 0.33 Ranged Attack only P(R) is raised to 1.0 Melee Attack Range Attack P(Pw| MHR) P(Pw) Normalized P(Pw) p(M) = 0.54 P(R)=1.0 0.33 0.18 0.54 p(M) = 0.54 P(~R) = 0.0 0.33 0.0 0.0 p(~M) = 0.45 P(R)=1.0 0.33 0.15 0.45

167 £P(Pw) 0.33 Both Attacks P(M) and P(R) are raised to 1.0 Melee Attack Range Attack P(Pw| MDR) P(Pw) Normalized P(Pw) p(M)=1.0 P(R)=1.0 0.33 0.33 1.0 p(M)=1.0 P(~R) = 0.0 0.33 0.0 0.0 p(~M) = 0.0 P(R)=1.0 0.33 0.0 0.0 ZP(Pw) 033

The calculation of a probability table using a Bayesian network (defensive strategy) is used to find winning probabilities in each strategy based on the NPC's experience

(memory). The attack strategy which has highest winning probability will be revised again to predict an upcoming attack strategy of a user; the prediction includes winning probability and the chance to use the predicted attack strategy. This prediction is used for

NPC's defensive strategy planning against the user.

As a result, the outcome gave the same results as the expected output, so these two believable NPCs' functions were verified as correctly implemented.

5.3.2 Integration testing

After ensuring that each unit works as per specification, the entire ROG system was then tested. The integration testing is composed in two parts: game server testing and game client testing. The purpose of integration testing was to ensure that ROG is playable and worked correctly by checking the game messages in the game server log compares with observed information from the game clients. A test was conducted using a series of test cases. Each test case known inputs and expected outputs before the test was performed. The results were checked to determine whether or not they corresponded to the expected outputs.

168 There are three test case studies for the integration test of ROG: the game server test case, a game client test case, and ROG test case. The game server test case focuses on testing the game server capability based on its specifications. The game client test case focuses on testing the game client features. The ROG test case is for testing the entire system performance, stability, and interoperability according to its specifications; the testing scenario involves five users playing the game on a game server.

1. Test case 1: Game server testing

This test case emphasizes checking the correctness of the game server under its specification.

Procedure 1: Game server registration and authentication testing

Inputs:

Tester registered new 200 user accounts with the game server.

Tester connected to the game server with 5 different login accounts that are registered to

check the game status.

Expected outputs:

Game server stored 200 user accounts in the user profiles.

Game client connected to the game server and resume the latest game state from the last

game session of individual registered accounts.

Results:

Game server accepted the 200th account.

Game server gave a warning message that the server is full (200 user accounts).

Game server gave a warning message if a username or password were invalid.

All random 5 accounts were used to get in to the game world and all of avatar statuses

were resumed from their last session.

169 Server Log: Hanuman id 22 has logged in from 192.168.1.3 Updating presence Sending entities Validating client login

Invalid login Validating client login

Server is full Creating new account

Generating unique client ID Sending map Sending sprites Sending tileset Connection attempt from 192.168.1.3

Witcha is alive at 192.168.1.3

Witcha id 200 has logged in from 192.168.1.3 Updating presence Sending entities Account created Creating new account

Generating unique client ID Sending map Sending sprites Sending tileset Connection attempt from 192.168.1.3

Server supports maximum 20 clients Server Started Successfully Starting Server...at [email protected] :8910 Registered Players at the server are 199

170 Procedure 2: game server messages handling testing

Inputs:

Tester executed all the command in game server console.

Game server received game all messages from the game clients.

Expected outputs:

Game clients received command messages from the game server.

Game server correctly responded to game client messages.

Results:

Table 5.12 below contains the game messages from the server command, and Table

5.13 shows game server messages and responses.

Table 5.12 Game server command messages Server Messages Client command Send message Sends "MSG Server: (message)" to a specific game client Received Send message all Sends "MSG Server: (message)" to all game clients Send alert Sends "ALR Server: (message)" to a specific game client Received Send alert all Sends "ALR Server: (message)" to all game client Terminate Sends "ALR Terminated by server" to a specific game Received client Sends "TMN" to a specific game client Terminate all Sends "ALR Terminated by server" to all game clients Sends "TMN" to all game clients Ping Sends "PING" to a specific game client Received Shut down Sends "ALR Server is shutting down" to all game clients Received Sends "TMN" to all game clients

Table 5.13 Game server messages and its response Server messages Responses Status "MSG + msg" Sends "msg" as a chat message to a specific game client Correct "SAY + msg" Sends "msg" as a chat message to all game clients Correct "INIT + msg" Sends initialization message to all game clients Correct Add new game client entity to the game world "DST + msg" Sends disconnect message to all game clients Correct Remove game client entity from the game world "UPD + msg" Sends updated message to all game clients Correct Updates user status

171 "HIT + msg" Sends "hit" message to all game clients Correct "CMD + msg" Interpret command in the message Correct Sends message back to a game client if the command usage was invalid "PING + msg" Displays the ping time on the game server console Correct "BONG + msg" Displays keep alive message on the game server console Correct "NPCUPD + msg" Updates the believable NPC information Correct "NPCRET + msg" Stores the believable NPC back to the repository Correct * "msg" is a message content.

The two main testing procedures were conducted, and the game server passed the tests. The game server can perform all tasks as its design within the specification.

2. Test case 2: Game client testing

This test case emphasizes checking the correctness game client features. Each game client feature was tested to check whether or not it can provide game features as its design. Table 5.14 illustrated the game client's features that were tested.

Table 5.14 Game client testing results Feature Results Connection Game client can connect to the game server by using either game server IP address or game server name with a specific port. Registration Game client can be used to create a new user account or login to and authentication the server. Resume last session Game client received and correctly resume last game session from the game server. Online mode Game client can connect to the game server that provides the shared game world with others. Testers can play ROG together. Offline mode Game client can be play in a single player mode, and it can be manually or automatically switched from the online to offline mode. Controls All controls were tested without any problems. Testers can control the avatar via keyboard, mouse, joystick, and touch screen. Visual Map and animated sprites were correctly displayed. The graphic frame rate is 33 frames per second at 640*480 resolutions. Sound The background sound was correctly synthesized based on the game state. The sound effects were correctly synthesized respect to the game states and the avatar actions.

172 Gameplay Game client offered the gameplay as its design under the game rules. Chat All the chat messages were delivered in both public and private chat modes. Commands All the commands were tested on the game client without any problems. The invalid usage commands were reported to the user. Game quests All five quests were tested, and tester can complete all the quests. Believable NPCs The believable NPCs can perform as its design and can play well with the users. The believable NPCs can play on behalf of users and can imitate their behaviors. Peripheral Game client can receive location information from GPS that support serial communication (COM port) and use NMEA protocol. Game client sometime cannot initialize the camera and need to reinitialize to solve the problem. Error report Game client can catch the anticipated errors and report to the users with the recommendation for solving the problems.

3. Test case 3: ROG testing

This test case emphasizes checking the correctness, performance, and stability of the entire system based on its specifications. The testing was conducted to test the ROG by having five users connected to play ROG on the same game server. Many testing scenarios were applied to test the correctness, performance, stability, and interoperability of ROG. The results are shown in Table 5.15 below.

Table 5.15 ROG testing results Objective Results Connection Game Server can handle all 5 connections and also supports up to 20 game clients simultaneously. Registration and If more than one users start connecting around the same time, Authentication game server will handle the connection process in first come first (connection process) serve fashion. Sometimes, a user has to wait for a while for the connection process when the game server handles many connection processes in the same time. Communication All messages in game are correctly spread through the system. Game server can handles all messages with least delay since the game server normally does only bounce message to all

173 connections. Chat All the chat messages were correctly delivered. Private messages were sent directly between two users. Fight ROG offers fair play for all users including the believable NPCs which have to play game under the same rules. Commands All the commands from both game server and game client work as its design. User interfaces Game server console interface and game client interface were displayed correctly and user can use it precisely. Controls Testers can control the game client precisely with fast response. Feedbacks ROG provides immediate feedback on both visual and sound. Visual Game client can keep frame rate at 33 frames per seconds even run 5 game clients at the same computer. Sound No problems Network No network lack with 5 users Online mode No problems Offline mode Seamlessly change from online to offline mode All believable NPCs play well in offline mode. Believable NPCs All believable NPCs play well with the users as its design. Game server Jar file = 532 KB performance Memory usage = 71,980 KB(with none client) plus 14,370 KB(per a client) CPU usage = 1-9 percents (with 5 clients) Game client Jar file = 532 KB performance Memory usage = 78,325 KB CPU usage = 1-5 percents Network N = number of game clients Game server sends/receives approximately 50xN messages per second. Game client receives approximately 50xN messages per second. Game client sends approximately 50 messages per second. An average size of the message is 24 B. Stability Game server and game clients have high stability and both were run continuously for 48 hours without any problems. All known bugs or errors were fixed before the public test. Interoperability ROG can be run on Windows, OSX, and Linux. All players can play ROG together from different platforms. Figure 5.20 shown the interoperability of ROG.

174 iitliiiSU •-Q-. •- W..M,i:M^!^?^.>MM^,M.iM^'.

FVrtKj I "• VW !*>!»!

mm 4&P feopS?" I

.A . Jk • .A

<£» *^&usrfoffig[

*>-,v**j>f _,» J a&*ti*^ gWHwrop

•• .* • I .-• . .: .s.\ -• • - - ... r

Figure 5.20 ROG interoperability

175 5.3.3 Validation

Validation is the process of checking that software functions meet the system requirements [221]. The system requirements contain features that were produced since the analysis and design phases. The ROG has the features of ubiquity, interactivity, believability, and platform independence. All of these features were implemented in

ROG and were tested. The validation process was done by having the developer play

ROG to test all the features.

ROG can be played on computers or mobile devices on Windows, OSX, and Linux platforms. The offline mode help solving the network connectivity issue of the online game.

ROG provides some interactivity to prove the concept that appears in quest two, 3, and 4 as location, video, and sound interaction respectively. The interactivity in ROG was tested and it works as designed.

The believability in ROG refers to believable NPCs which help making users believe that they are playing game with others. The believable NPCs also help solving network connectivity issue by taking control over the other avatars after the game client changed to the offline mode.

All of these features above were validated to ensure that they existed and were able to prove the concepts of this thesis.

This chapter presented the prototype design, implementation, verification, and validation. The prototype design can be used as a guide for developer to design a game that uses the proposed concept in this thesis. The implementation section is an example of

176 how to implement a game that follows the framework, and introduces some game libraries such as AI techniques for believable NPCs. Verification and validation were conducted to ensure that ROG was implemented as its specification and met all the requirements.

The next chapter presents more detail about ROG testing and results. The ROG was tested by twenty volunteers. The testing in next chapter focuses on qualitative game evaluation rather than the software testing (verification and validation) in this chapter.

177 6 TESTING AND RESULTS

6.1 Purpose

To test the hypothesis of this thesis, a prototype was developed and used to test the hypothesis by conducting user studies. User evaluations can provide meaningful feedback to researchers that can be used to confirm or reject the hypothesis, and to verify and validate design. There are many methods and procedures to evaluate the software but not for game evaluation. A game evaluation model and game design criteria in chapter 3 are used in this testing and evaluations.

A user study was conducted to evaluate the ROG. A common procedure for game evaluation is to ask participants to play a game and assign participants some various tasks

(game quests) to perform during testing session. Then, participants evaluate the game based on game evaluation criteria. Researcher observed participants' activities during the testing session or may discuss with participants after finish playing game. In this study, the ethical approval was received by Research Ethics Board, University of Regina.

In this study, participants are assigned to play the prototype (ROG) that requires them to play and finish five quests. At the end of each testing session, participants provide feedback for this game to the researcher by answering a questionnaire and having an individual discussion. The users' evaluations are used to evaluate the prototype and confirm the hypothesis of this thesis. These three concepts were tested and evaluated to prove the hypothesis: ubiquity, an expanded interactivity model, and believability.

178 6.2 Methods In order to test and evaluate the effectiveness of the prototype, participants played and evaluated the prototype in five main features of game: ubiquity, location interaction, video interaction, sound interaction, social interaction, and believability.

Participants are required to play ROG with 5 quests that cover all the main features.

Each quest is designed to provide the main features to the participants to play.

Quest one "Ask 'Guru' how to find the 'Orchid'."

Guru is waiting for you at North.

Quest two "Collect the 'Orchid'"

Quest three "Capture 15 invisible birds"

Magic window can reveal them.

They can be found at yellow mead.

Quest four "Find a 'magic element'"

Listen to the source of sound.

Quest five "Reach level 13"

After finishing the testing session, participants evaluated ROG by answering a questionnaire and having discussion with the researcher. User evaluations are analyzed to form the results of this research.

In order to reduce any biasing effects, participants were asked to rotate between two game quests for testing location interaction feature and image interaction feature with the same device. This method helps researcher control the game environment in order to deliver a similar experience to all participants. The features tested in evaluation are presented in more detail in the following section.

179 6.3 Procedure

This evaluation consists of two sessions. In the first session, participants are asked to play ROG for about 45-60 minutes within the University of Regina area with a researcher. The researcher provided a sanitized portable computer for playing the game.

There are several tasks (game quests) that each participant needed to perform while they are playing this game. After they finish playing the game, the researcher asked them to answer a questionnaire to evaluate the game. Some were asked to discuss their experience in the game; such conversations were audio-taped and transcribed. Conversely, some were asked to describe their experience in writing. This evaluation process took about 45-

60 minutes.

6.4 Analysis

The collected data was analyzed by using both quantitative and qualitative analysis.

The questionnaire asked participants to answer the questions in both a Likert 5 point scale

[224] and with open answers. The scaled data in each question was represented by a median that was calculated from all participants' answers. A game evaluation model was used to evaluate the quantitative results (scaled items in the questionnaire) and report the evaluation result in form of a game score that represents the quality of ROG. The qualitative results (opinions, beliefs, comments, suggestions, observation data, and some scaled items in the questionnaire) were analyzed to validate the thesis concepts and to uncover hidden issues.

180 6.5 Results

6.5.1 Participant demographics

Twenty participants were recruited from both undergraduate and graduate students at the University of Regina to participate in this study. The Table 6.1 shows the participant demographics.

Table 6.1 Participant demographics Demographics Categories Percent (N = 20) Gender Male 75% Female 25% Age (years) 18-24 45% 25-29 40% 30-40 15% Game experience (years) <2 5% 2-5 15% 5-10 35% >10 45% Time spend playing game (hours in an average week) <2 45% 2-5 15% 5-10 25% > 10 15% Favorite game genre Action 5% Action adventure 15% Role playing 20% Sport simulation 15% Strategy 25% Vehicle simulation 10% Puzzle 10% Online game experience (M VIORPG) Never played MMORPG 50% Played MMORPGs 50%

181 Before testing started, the participants were asked about MMORPGs. Half of the participants had played MMORPGs before. According to Table 6.1, participants showed a wide range in game experience.

6.5.2 Quest one: "Ask 'Guru' how to find the 'Orchid'"

All twenty participants were able to find and chat with a believable NPC called

"Guru". All participants explored around the game world and followed the quest hint to find Guru. Guru was able to guide the participant and instruct them about how to find the

"Orchid". Guru was found to chat well with the participants, and answered some particular questions such as questions about ROG, the city of Regina, and the University of Regina.

Some participants selected the chatting system as the most favorite part in game and they enjoyed chatting with all avatars including Guru, NPCs, and other users. This evidently showed that chatting is an important element for social interaction in game.

In support of the goal to create believable NPCs, some participants believed that Guru was a human. One participant claimed that he enjoyed chatting with Guru and spent a lot of time chatting with him. He was particularly impressed with the sentences and phrases generated by Guru.

6.5.3 Quest two: "Collect the 'Orchid'"

This quest offered the location-based interaction that mapped participant physical location with the game world. Most participants enjoyed playing this quest and recognized the connection between the physical world and game world. Participants said the following about this aspect of the game: "I can actually feel that the physical world

182 and virtual world are merging together."; "it was really neat that it was based on the academic green."; "It merges the physical world and the real world together." and "I can play in the actual world. It's a good idea to combine both worlds". The results of this quest are shown in Table 6.2.

Table 6.2 Quest two results Questions 0 Not at all - 4 Very much Did you enjoy playing quest two? 3 Have you ever played any game that had a quest like this before? 2 Does this quest provide intuitive control? 3 Do you get an immediate location feedback? 3 Did you experience any mapping problems between your avatar and your physical position? 2 Do you recognize the connection between the game world and the real world? 3 Did you have any negative feedback during or after playing this quest? (e.g. fatigue, or pain) 0 Does this quest encourage you to do more physical activity while you are playing video game? 2 Were you becoming less aware of your surrounding when you were playing this quest? 2 Do you think playing this quest can benefit your health? 2 Do you want to play this quest within the scale of a city? (game world mapping to the entire city of Regina) 3

According to Table 6.2, the results showed that this location based interaction quest can encourage participants to do more physical activity while they are playing games.

Playing this quest can benefit the participants' health or at the very least not impact the player's health negatively. This quest also immerses participants in the game while they are playing: "The location quest was cool, and I like the idea of more immersive games.";

"The physical activities in the real world affect the activities in the game world". Most of the participants discovered a new game experience from this quest, and all of them liked it. Most of the participants wanted to play this location-based interaction quest on a larger scale (the entire city, for instance).

183 In short, this quest provided a new game experience and immersed participants by using location-based interaction that merged physical world and game world together.

This quest was the most enjoyable element among all five quests that were rated by ten participants.

6.5.4 Quest three "Capture 15 invisible birds"

This quest provided video interaction that allowed participants to interact with the virtual objects overlaid on the physical world. Participants used a tablet PC equipped with a video camera to capture the invisible birds. This quest was designed with mixed reality concept with the intuitive controls. All participants enjoyed playing this quest, and one third of them chose this quest as their most favorite quest.

Most participants easily perceived the concept of merging the physical world and game world together, and they could control the virtual hand intuitively within a very short period of time, usually less than 30 seconds. Comments from the participants are as follows: "It merges the physical world and the real world together."; "I like chasing the birds visually in the real world. That was the best part and unique."; "I also liked the bird catching by moving the tablet PC". The results of this quest are shown in Table 6.3.

Table 6.3 Quest three results Questions 0 Not at all - 4 Very much Did you enjoy playing quest three? 3 Have you ever played any game that had a quest like this before? 0 Does this quest provide intuitive control? 3 Do you get an immediate feedback? 3 Did you experience any mapping problems between the virtual monster and the physical world? 1 Do you agree that this quest use the camera as a window to look into the virtual world? 3 Did you have any negative feedback during or after playing this quest? (e.g. fatigue, or eye strain) 0 Dose this quest encourage you to do more physical activity while you are playing video game? 3

184 Does this quest use sound to arouse your interest? 2 Do you get an immediate sound feedback? 3 Does this quest use meaningful sound feedback? 2 Were you becoming less aware of your surrounding when you were playing this quest? 3 Do you think playing this quest can benefit your health? 3 Do you agree that the virtual world and the physical world will be merged together in the near future? 3

The results above showed that this quest can encourage participants to do more physical activity while they are playing games. Playing this quest can benefit the participants' health or at the very least not impact the player's health negatively. This quest also provided an immersive environment to allow the participants to feel as if they were actually in the game, and most of them were becoming less aware of their surroundings.

Most participants received a new game experience from this quest, and all of them enjoyed it. They also agreed that this quest utilizes the camera as the window to look into the virtual world, which is one of the proposed concepts of this thesis.

In short, this quest offered the new game experience and immersed participants by using video interaction that merged the physical world and game world together.

6.5.5 Quest four "Find a 'magic element'"

This quest provided sound interaction that asked participants to find the magic element by following the source of sound. This quest was designed with a simple concept and was intended to be easy to play. All participants could find the magic element within

15 minutes. However, only one participant chose this quest as the most favorite quest in

ROG.

185 Most participants enjoyed playing this quest and they perceived the concept of this quest very well. The results showed that this quest provided the appropriate sound with immediate feedback to arouse the participants' interest. This quest received good scores in all aspects as shown in Table 6.4.

Table 6.4 Quest four results Questions 0 Not at ail - 4 Very much Did you enjoy playing quest four? 3 Do you understand the concept of this quest (sound volume versus distance)? 3 Did this quest use sound to arouse your interest? 3 Did you get an immediate sound feedback? 3 Did this quest use meaningful sound feedback? 3

According to the results, making use of sound interaction and using the appropriate sound in games is an important element for game design. The results confirm that simple sound interaction quests can enhance the participant's enjoyment of a game.

6.5.6 Quest five "Reach level 13"

None of the participants completed this quest within the testing session. A participant reached level 9, the highest level among all participants. This quest encouraged participants to fight with others to increase their level. They perceived a level up mechanism as one reward from the game, and is in fact one of the general mechanisms used in MMORPGs to reward players. As a result, this quest offers a challenge for users and encourages them to compete with others. As none of the participants could complete this quest, they could only provide qualitative feedback.

186 6.5.7 Social interaction results

The ROG provide social interaction in game in both fighting and chatting. ROG allows participants to fight in competitive and cooperative ways. The chat system allows participants to chat with all avatars in game including Guru. Most participants preferred to play and chat with others. The results were illustrated in Table 6.5

Table 6.5 Socail interaction results Questions 0 Not at all - 4 Very much Do you like to play with other players? 3 Do you enjoy chatting with other players? 3 Do you enjoy chatting with "Guru" (quest one)? 3 Does "Guru" chat like a human being? 2 Do you prefer to chat with "Guru" more than other players? 1 Would you like to meet and play the game with other players in the physical world? 3 Would you like to have face-to-face interaction with other players, if it is the only way to trade the game's items? 3 Would you like to join our game community? (e.g. message board, or blogs) 3

Most participants enjoyed chatting with Guru; however, they prefer to chat with the other users rather than the Guru. The results show that most participants would like to interact with others in the physical world. They also want to join the game community.

ROG offered a great social interaction for the participants and encouraged participants to have some social activities with others in both game world and physical world.

6.5.8 Believability results

The Turing test was used as a model tool for testing the believability in games [196,

198, 199]. Believable NPCs must have intelligent capabilities to convince the users that they are interesting and intelligent characters. It is hard for believable NPCs to pass the ideal Turing test [198]. The test requires the participants to decide whether the believable

NPCs actions and behaviors are intelligent and believable or not.

187 To avoid bias, the questions were asked after participants finished playing ROG, and the researcher did not allow all participants to ask others about their avatar name during the testing session. The Likert 5 points scale was used to evaluate the participants' justification about other avatars they faced during the test session. This testing model is analogous to the Turing test: participants can fight and chat with all other avatars that were controlled by human or computer, and decided whether each avatar was a human or an NPC.

There were six NPCs that were randomly placed in the game world to play with the participants. The participants might not encounter all the believable NPCs due to a large game world map. The believability results were illustrated in Table 6.6.

Table 6.6 Believability results NPC name Justification Degrees of "Humanlike" 0 Human - 4 Artificial 0 Artificial - 9 Humanlike JoJo 3 (probably artificial) 6 Binoo 3 (probably artificial) 4 DuckVader 3 (probably artificial) 6 Panda 3 (probably artificial) 5 Jasmin 3 (probably artificial) 7 Imitated NPCs 1 (probably human) 7

According to Table 6.6, five believable NPCs were justified as probably artificial and that they tended to be humanlike. On the other hand, the imitated NPCs were justified as probably human with high degrees of "humanlike".

Five participants classified the NPCs as artificial, with most of them giving the same reason: NPCs did not answer their chat messages. Researcher noted that these participants did not correctly type the name of believable NPCs (case sensitive). Had they done so, the NPCs would have responded and the participants might have rated the

NPCs as more humanlike. Ten participants classified the NPCs as either "probably

188 artificial" or "artificial." Six participants classified the NPCs as "probably human" and

"human." Three participants were answered as "do not know".

The imitated NPCs refer to the believable NPCs that took over the avatar when the participants played in offline mode. The NPCs learnt the participants' behavior and used this knowledge to play with the participant in the offline mode. Fourteen out of sixteen participants did not realize that they were disconnected from the game server to play in offline mode. All fourteen participants did not know that they were playing with the

NPCs that took control over other participants' avatar, or even that they had played in offline mode for twenty minutes. Two participants were excluded from the offline mode testing because they saw the researcher unplug the Ethernet cable from the game server to offline the game world.

The results proved that the believable NPCs interact with participants in intelligent and believable ways, allowing users to believe they were playing with others. These believable NPCs made ROG unique and different from any MMORPGs because participants played the game both online and offline without necessarily being aware of the difference between these two modes. This feature is a breakthrough technology for

MMORPGs that allow users to play game anywhere and anytime.

6.5.9 Level design results

According to Table 6.7, the level design was rated as good and most participants enjoyed playing it as indicated in the previous sections. This level design demonstrated the main features of ROG in each quests. The participants said this about the level design: "It is easy to understand but it is not easy to compete."; "very nice and attractive to play"; "The quests are well designed."; "Each quest shows the features of the game.";

189 "Very original"; "too shallow; however with unique idea"; "they are quite original although not entirely things like sound interface are common".

This level design suited the prototype testing and all the participants could complete all quests except quest five, which required more time to play. Thus, the level design of

ROG was able to engage the participants to play and complete most of the quests. Some participants kept playing ROG after they finished testing session, and they also asked for a copy of ROG to play at home. They claimed that ROG engaged them especially when they were playing with their friends.

6.5.10 Game evaluation results

The game evaluation results consist of two parts: overall game evaluation results from the questionnaire and game evaluation score from the game evaluation model. The overall rating for ROG is good (rated at 3) according to the results from the questionnaire. The results confirmed that adding the proposed features can make a good game like ROG. The overall game evaluation results were illustrated in Table 6.7.

Table 6.7 Overall game evaluation results Questions 0 Very bad - 4 Very good Overall rating for this game based on your expectation 3 Game interface 2 Game control 2 Visuals (graphic & animation) 2 Sound (soundtrack &sound effect) 2 Gameplay 3 Immersion 2 Social interaction 3 Level design (Quests) 3 0 Not at all - 4 Very much Does this game provide non-intrusive game interface? 2 Is the game interface easy to understand? 3 Is the control minimized and simple? 3

190 Does this game provide the control that is intuitive and mapped in the natural way? 3 Does this game immediately respond to your inputs? 2 Dose this game follow the trend set (interface & control) of other MMORPGs? 2 Does this game use visuals to arouse your interest? 3 Do you get an immediate visual feedback? 2 Does this game use sound to arouse your interest? 2 Do you get an immediate sound feedback? 3 Does this game use meaningful sound feedback? 3 Do you think this game is replayable? 3 Does this game provide the clear intermediate goals and present them to you at the appropriate times? 3 Were you becoming less aware of your surrounding when you were playing this game? 3 Do you enjoy interacting with other players? 3 Do you like the chatting system? 3 Did you feel engaged while you were playing this game? 3 Have you found any network problems? (e.g. disconnect) 2

According to the results in Table 6.7, the participants rated as fair (2) for these items: game interface, game control, visuals, sound, and immersion. Gameplay, social interaction, and level design were rated as good (3). These results were acceptable for the prototype that was developed by one developer. Some questions were taken from the game evaluation model and were used to calculate the final score of the game evaluation model.

Game evaluation model was used to evaluate ROG and provided the outcome in form of a score that represented the quality of game. Some results from the Table 6.7 were used to calculate in the game evaluation model, and some evaluation criteria were obtained from ROG design. The Table 6.8 shown the calculation of the prediction score

(see Equation 3.1, and Table 3.1).

Table 6.8 ROG's game evaluation score Criteria Weight Descriptions Result Score A 5.5 Is the control minimized and simple? 3 16.5 B 1.9 Dose this game follow the trend set (interface & control) of other MMORPGs? 2 3.8 C 1.6 Players should be able to save games in different states 3 4.8

191 D 2.4 Does this game provide the clear intermediate goals and present them to you at the appropriate times? 3 7.2 E 1.9 Do you think this game is replayable? 3 5.7 F 4.5 Does this game use visuals to arouse your interest? Does this game use sound to arouse your interest? 2.5 11.25 G 4.8 Were you becoming less aware of your surrounding when you were playing this game? 3 14.4 H 6.6 Game should increase the players' skill at the appropriate pace as they progress through the game. 1 6.6 I 3.3 Allow player to build content 1 3.3 J 3.3 Build as though the world is going on whether your character is there or not 1 3.3 ROG's game evaluation score 76.85

The result from the game evaluation model shown that ROG received 76.85 out of

100 points, which is considered a good game according to METASCORE ranges (0-49 bad, 50-74 average, 75-100 good) from metacritic.com [205]. The overall rating for ROG is also good (3) as well which is same as the game evaluation score.

As the result, this evaluation results can conclude that the ROG is a good quality game with the score of 76.85.

6.6 Discussion

The results from ROG testing shows that adding ubiquity, interactivity, and believability to ROG can make the participants enjoy playing it. ROG also brings a new gameplay experience, engagement, and immersion to the participants, while avoiding the health concerns and that current games raise. ROG is a good prototype that can be used to prove all the thesis concepts.

Platform independence and offline mode support the ubiquitous idea of this thesis.

Most participants agreed that using mobile device and offline mode allowed them to play games anywhere and anytime they want, unlike the other online games that always need a live network connection. The believable NPCs also played a main role to support the

192 offline mode. Most participants did not realize that they were playing in offline mode with the believable NPCs. The offline mode and believable NPCs make ROG stand out from the other MMORPGs.

ROG provides interactivity for users to interact with: location based interaction, video interaction, and sound interaction that brought the new game experience to the users.

Most participants enjoyed playing ROG with these interactions, and they claimed that they had a new game experience from ROG different from other games they have ever played. The chat system provides social interaction between participants in ROG. Some participants chose the chat system and social interaction in game as their most favorite component of the game. Some users play MMORPGs just for social interaction and usually via chat system; ROG offers a solid chat system with the chatbot feature in all believable NPCs. At the very least, users can chat with believable NPCs when no other users are online or while the user is in offline mode.

Believable NPCs in ROG are used to play with the users. The believable NPCs can learn and interact very well with the participants and most of them did not know that they were playing with the believable NPCs.

According to the discussion with participants, most participants were impressed by

ROG and had a good time while playing it. Some common comments from some participants include: the avatar should be able to run or walk faster; the avatar sometime cannot catch up the participant's location in location based quests (GPS updated position in 1 Hz); and ROG should have more sound and music.

In short, ROG results support the thesis hypothesis, and the game development framework can be used to create a game that contains these thesis concepts.

193 6.7 Ramakian online game postmortem

This prototype was developed by one developer and one graphic designer. The total development time took about 15 months for design, development, and testing. In order to prove the thesis concepts, the proposed concepts and features were added into the ROG.

The ROG story, theme, and setting based on the Ramakian epic. The graphic designer took about four mounts to work on the character design, artwork, and visual artifacts in

ROG. The only obstacle for the graphic design was the cooperation between the graphic designer and the developer due to the fact that the graphic designer worked remotely from Thailand. After ROG was finished, the developer tested the individual modules to make sure that all the modules worked properly. These processes took lot of time and effort: the developer had to work 6 days a week to do so. To shorten development time, some modules were taken from the open source with some modifications to make them fit with ROG. There are many obstacles in the programming part and it certainly took some time for the developer to overcome these struggles.

In the last month of development, ROG was polished and foreseeable bugs were fixed before testing the game with participants. ROG is a playable prototype that has a level design (five quests) suited for a one hour testing session. Some minor problems occurred during the testing session such as installation problem on the participants' computers and some network connection problem due to using defective Ethernet cable.

According to the testing results, ROG qualifies as a good game and provides features that can prove the thesis concepts. Most participants agreed that ROG could be extended to be a commercial game.

194 7 CONCLUSIONS AND FUTURE WORK

7.1 Summary of research

This research investigates the state of the art in electronic entertainment and video games and game technologies. It also indicates the common problems in game design and proposed solutions. The hypothesis of this thesis is that adding ubiquity, an expanded interactivity model, and believability to current games can bring new experience, engagement, enjoyment, and immersion for users, while avoiding the health concerns that current games raise.

There are two apparently incompatible issues in the previous statement: gamers wish for a challenging, immersive game in which they can have some sort of social interactions; and immersive games tend to be unhealthy for gamers. This contrast exists because gamers appreciate an immersive game, even if this game can lead to the reduction of their wellness.

The solution for this is to create games are still immersive and entertaining, but that effectively turn users away from their desktop computers or televisions in order to experience some degree of social interaction in the real world, possibly mediated by game devices and game environments. The solution emphasizes the creation of cutting edge game design that includes ubiquity, interactivity, and believability. The game development framework for supporting these concepts was written up as a development guide for new games. To prove the thesis concepts, a prototype (ROG) was developed and tested by participants.

195 A game evaluation model was created to justify the quality of the game and was used as a guide for creating a good game. The game design criteria in the game evaluation model were considered as the primary design criteria for the game development framework and prototype.

A users study was conducted to evaluate the quality of the ROG. In this study, twenty participants were recruited to test ROG; ROG was rated as a good game and provided all the features needed to prove the thesis concepts. ROG received an evaluation score 76.85 from the game evaluation model. The results from this study were very positive; all participants enjoyed playing ROG and most of them were impressed.

In conclusion, this research demonstrates a new game design, with the results of this research including new game evaluation model, the framework facilitating the design of future games, and ROG. ROG proved that having ubiquity, new interactivity model, and believability can bring new experience, engagement, enjoyment, and immersion for users, while avoiding the health concerns that current games raise.

7.2 Contribution of research

My contribution covers in the areas of ubiquity, new interactivity models, and believable NPCs that can be added to the current games to improve the level of fun, immersion, and engagement, while eluding the health concerns that current game raise.

Also, a game evaluation model can be used to evaluate any games, from design to the final product.

Game development framework: this framework supports a new type of gameplay.

This framework utilizes mobile agent technology as the main architectural element which provides multi-platform collaboration and the many features of mobile agents like

196 autonomy, mobility, and communication. The framework allows developers to easily add new features such as ubiquity, new interactivity, and believability to their game.

Developers can use and follow the framework as a development guideline tool.

Game design concepts: ubiquity includes platform independent feature, allowing users to play games on a wide variety of devices. This opens up opportunities for a wide audience of users. The pervasive and ubiquitous concepts are applied with interactivity and believable NPCs. Interactivity supports many different methods, including text, images, sound, locations, sensors, and networks, all of which allow users to interact with the game world and physical world. Both the game world and the physical world merge together to provide an immersive game environment. Believable NPCs interact with users in intelligent and believable ways, allowing users to believe they are playing with other users. These believable NPCs make this game unique and different from any MMORPGs because users can play the game both online and offline without necessarily being aware of the difference between these two modes. This feature is a breakthrough technology for

MMORPGs. These game concepts support ubiquity which let users play the game anywhere and anytime.

Game evaluation model: this model derived from both game industrial evaluation and academic game evaluation, and it focused on assessing the level of enjoyment in games. The game evaluation model consists often criteria that can be used to evaluate the quality of game and also defines a set of the game design criteria for fun as well. The game evaluation model can be used to evaluate and to guide any game from game design to the final product.

197 7.3 Future work

Further development of the game framework: the framework can be extended to support more game development, including other game libraries and game development tools. Game libraries will be added to include more functions which will support a wider range of game applications. The framework will have more game development tools to support various game development tasks for most game genres. Furthermore, the game development framework may be ported to various programming language to support more platforms that do not support Java (e.g. C++ for some mobile platforms).

Further research on game evaluation: the game evaluation model can be used to evaluate most games and represent the quality of a game in the form of a score out of

100. The game evaluation model may be used by the game industry. In that case, feedback from the industry can confirm the fitness of the game evaluation model.

Further research on interactivity: new interactivity means new experiences for users. Hence, the new interactivity model should be explored to find the new and even more interactive ways to play games. There are some opportunities to explore new interactivity methods, to explore the new devices, and to combine existing interactions.

New devices in terms of both inputs and outputs can contribute towards this goal. Mixed interactivity may offer new game experiences to users.

Further research on believable NPCs: The believable NPCs are different based on their roles and type of game. Selecting appropriate AI techniques for the specific believable NPCs helps to increase the believability of the NPCs. Therefore, AI techniques should be categorized based on the type of the believable NPCs. More AI techniques may be investigated to see whether they increase the believability of current NPCs.

198 Further evaluation of believability: Although the evaluation of believability in this study was conducted in this research, additional evaluation is required. This is the case even though the results from this study were very positive. The additional evaluation of this framework's NPCs may use different methods, including using observers instead of users to evaluate the believable NPCs by watching recorded videos of the game being played.

ROG version 2.0: ROG will be improved from the current version by using the comments and suggestions from the participants. All the drawbacks found in the study will be fixed, such as increasing the speed of the avatar and adding more sound and music. Some new features will be added, such as more interactivity and more quests. The graphics and sound of ROG will be improved. The game world will be expanded with more interactive props in the map. The ROG will be ported to more device platforms such as iPhone/iPod, mobile phone, and game consoles.

ROG will offer a seamless offline to online transition. Before the transition, the

NPCs will walk to the other users' position. After all NPCs are in their position, the game server will put the user back into the game world to play online with others.

Commercialization: Most participants agreed that the ROG can be extended to be a commercial product. There is a potential to bring this thesis concepts to develop a commercial-grade game. Development team and resources are required to make this possible.

199 Appendix A User Study

In the user study conducted in this research, participants played a proof of concept

(Ramakian Online Game) and then evaluated it by answering a questionnaire and having a discussion with the researcher. All game quests provide the main features to participants to test the concepts of this research.

This appendix included the formal approval received from the Research Ethics

Board, and also included the evaluation documents.

200 sn UNIVERSITY OF OFFICE OF RESEARCH SERVICES REGINA M K M O K V N I) 0 M

DATE: June 12, 2008

TO; Witcha Feungchan c/o Faculty of Engineering - Electronic Systems Engineering

FROM: Bruce Ptauffe Chair, Research Ethics Board

RE: Ramakian Online Game (proof of concept) for Ubiquitous Electronic Entertainment Evaluation (73S0708)

Please be advised that the University of Regina Research Ethics 8oar

3?' 1. APPROVED AS SUBMITTED. Only applicants with this designation have ethical approval to woceed with their research as described ir» theif applications. For research lasting mere than one year {Section IF). ETHICAL APPROVAL MUST BE RENEWED BY SUBMITTING A BRIEF STATUS REPORT EVERY TWELVE MONTHS. Approval will be revoked unless a satisfactory status report is received, Any substariwe changes In methodology or instrumentation must also be approved prior to their implementation.

D 2. ACCEPTABLE SUBJECT TO MINOR CHANGES AND PRECAUTIONS (SEE ATTACHED).. Changes rrusi be submitted to the REB and approved pror to beginning research. Please submit a supoleroentary memo addressing the concerns to the Chair of 1ne REB," Do not submit a new application, Once changes are deemed acceptable, ethical approval will be granted. • 3 ACCEPTABLE SUBJECT TO CHANGES AND PRECAUTIONS (SEE ATTACHED) Changes must be submitted to the REB and approver prior to beginning research. Please submit a supplementary memo addressing the concerns to the Chair of the REB.** Do not subrrit a new application. Once changes are deemed acceptable ethical approval will be granted,

D 4. UNACCEPTABLE AS SUBMITTED- The proposal requires substantial additions or redesign. Please contact the Chair of the REB for advice en how Ihe project proposal might be revsed.

Of. Bruce Plouffe /'/ c.c- Or, Luigi Benedieerti - Faculty of Engineering

** ssjsplementary memo shcuWfee forwarde d to !he Chatr of Ihe Researchfethns Board at Ihe Office of Research Services (LBA 109 - il.ab Buftlmg Add«6oiJ) orfcy e-tna» ) to SSiarctLSlfiiESSiiiSaffllifii

201 UNIVERSITY OF FACULTY OF ENGINEERING Regina, Saskatchewan T7/T1 TXT A c'maJa ?4S 0A2 R JCVJ LIN/\ rliom-: (306)585.4734 fax: (106)585.4855 wwv.urt'gtna.G'i/cn^i.' Consent Form Title: Ramakian Online Game (proof of concept) for Ubiquitous Electronic Entertainment Evaluation (73S0708) Researcher: Witcha Feungchan (306) 581-2923, e-mail [email protected] Introduction: This study is being conducted as a research about electronic entertainment design (). The hypothesis of this research is that adding ubiquity, an expanded interactivity model, and believability to current games can bring new experience, engagement, enjoyment, and immersion for users. To test this hypothesis, a proof of concept "Ramakian Online Game" will be played and evaluated. Procedure: This evaluation consists of two sessions. In the first session, you will be asked to play our game for about 45-60 minutes within the University of Regina area with us. There are several tasks that you must perform while you are playing this game. After you finish playing game, we will ask you to answer a questionnaire to evaluate our game. You may be asked to discuss your experience in our game, and this conversation will be audio-taped and transcribed. Conversely, you may be asked to describe your experience in writing. This evaluation process should take about 45-60 minutes. Risk and Benefits: There are no anticipated risks involved in this evaluation. The only cost to you will be the time required to complete two evaluation sessions. You may get the new experience and enjoy playing our game. This research will help to evaluate the proof of concept which influences the new game design concept.

I understand that this project was approved by the Research Ethics Board, University of Regina. If I have any questions or concerns about their rights or treatment as participant, I may contact the Chair of the Research Ethics Board at 585-4775 or by e- mail: [email protected]. I, have read the above protocol and voluntarily agree to participate. The procedure and goals of the study have been explained to me by the researcher and I understand them. I understand that I am free to withdraw from this study at anytime without penalty. I understand that refusal to participate will not influence or jeopardize services I may receive from the university. I understand that may refuse to perform any tasks or to answer any items. I understand that my answer will be used as aggregate data and my opinion may be quoted. I also understand that although the data from this study may be published, my identity will be kept confidential, as all data will be identified by number only and signed consent forms will be stored separately from the data. I have received a copy of this consent form.

(signature) (date)

(researcher)

202 Ramakian Online Game (proof of concept) for Ubiquitous Electronic Entertainment Evaluation (73S0708)

Introduction Nowadays, computer and video games are growing fast and are becoming more and more sophisticated in terms of the quality of graphics and Artificial Intelligence (AI), both of which increase the level of immersion and challenge. Most users remain in front of their computer or television playing games for a long time, which is not healthy both physically, due to lack of exercise, and mentally, due to the fact that games cause users to be isolated from society or even their family. A solution for these issues is to create games which turn these users away from their computer or television in order to experience social interaction and physical activities in the real world. The hypothesis of this thesis is that adding ubiquity, an expanded interactivity model, and believability to current games can bring new experience, engagement, enjoyment, and immersion for users, while simultaneously promoting both exercise and socialization. To demonstrate the soundness of the concepts at the basis of the general framework, a game proof of concept was developed: "Ramakian Online Game." The proof of concept game must be evaluated and given opinion by you in order to test the hypothesis.

Procedure You will be given the research background information and your role as a participant. The game testing instructions will be given upon setting an appointment. You must read and sign a consent form before the evaluation takes place. This evaluation consists of two sessions. In the first session, you will be asked to play our game for about 45-60 minutes within the University of Regina area with us. We will provide a sanitized portable computer for playing our game. There are several tasks that you must perform while you are playing this game. After you finish playing game, we will ask you to answer this questionnaire to evaluate our game. You may be asked to discuss your experience in our game, and this conversation will be audio-taped and transcribed. Conversely, you may be asked to describe your experience in writing. This evaluation process should take about 45-60 minutes.

Confidentiality of the data and information Your answer will be used as aggregate data and your opinion may be quoted. The data from this study may be published. Your identity will be kept confidential, as all data will be identified by number only and signed consent forms will be stored separately from the data. The result will be posted on the website at https://jasmin.homeserver.com/ROGameEvaluation.

Researcher: Supervisor: Witcha Feungchan Luigi Benedicenti, Ph.D., P.Eng. Electronic Systems Engineering Software Systems Engineering Faculty of Engineering Faculty of Engineering University of Regina University of Regina (306)581-2923 (306)585-4701 e-mail [email protected] e-mail: Luigi,[email protected]

203 Ramakian Online Questionnaire

1. Personal information

Date: Evaluation period: Email: Age: Gender: Occupation:,

2. Video game habits and experiences

Have you ever played a video game? If NO, then skip to the section 3. • Yes • No

How interested in video game? Not interested Very interested • • • • •

Do you consider yourself as a: • Casual gamer • Serious(Hardcore) gamer • Both • Don't know

Which of the following do you own and/or use for playing video games? • Computer • Portable computer • PDA • Game console D Portable game console • Mobile phone

In an average week, how many hours do you spend playing video game • Less than 2 • 2-5 D5-10 • 10+

How experienced at playing video game are you (years)? • Less than 2 • 2-5 • 5-10 • 10+

What is your most favorite game genre? • Action • Action-adventure • Role-playing • Simulation • Strategy • Vehicle simulation QPuzzle

What game do you play the most now?

In an average week, how many hours did you spend playing single player video games (offline games)

204 • Less than 2 • 2-5 D5-10 D 10+

Have you ever played Massively multiplayer online role-playing games (MMORPGs)? (E.g. World of WarCraft) D Yes • No if yes, what is your favorite MMORPG?

In an average week, how many hours do you spend playing online MMORPGs? • Less than 2 • 2-5 D5-10 • 10+

How strong is your preference for a single player (offline) video game compared to multi-player online video game? Strongly prefer single player Like both equally Strongly prefer multi- player • • • • • Please describe your primary reason for your selected preference:

How do you think video game use affects any aspect of your physical lifestyle either positively or negatively (please describe)?

How do you think video game use affects any aspect of your social lifestyle either positively or negatively (please describe)?

205 Please answer the following questions in regards to your experience from playing the Ramakian online game. The following 95 questions are divided into three sections: questions regarding overall game evaluation, questions regarding game interaction, and questions regarding game believability. Finally, there are some open-ended questions where you can add any comments that you feel need to be addressed.

Very bac Very good Overall rating for this game based on your expectation • • • • • Game interface • • • • • Game control • • • • D Visuals (graphic & animation) • • • • • Sound (soundtrack &sound effect) • • • • • Gameplay • • • • • Immersion • • • • • Social interaction • • • • D Level design (Quests) • • • • • Not at al Very much Does this game provide non-intrusive game interface? • • • • • Is the game interface easy to understand? • • • • • Is the control minimized and simple? • • • • • Does this game provide the control that is intuitive and • • • • • mapped in the natural way? Does this game immediately respond to your inputs? • • • • • Dose this game follow the trend set (interface & control) of • • • • • other MMORPGs? Does this game use visuals to arouse your interest? • • • • • Do you get an immediate visual feedback? • • D • D Does this game use sound to arouse your interest? • • • • • Do you get an immediate sound feedback? • • • • • Does this game use meaningful sound feedback? • • • • • Do you think this game is replayable? • • • • • Does this game provide the clear intermediate goals and • • • • • present them to you at the appropriate times? Were you becoming less aware of your surrounding when you • • • • • were playing this game? Do you enjoy interacting with other players? • • • D D Do you like the chatting system? • • • • • Did you feel engaged while you were playing this game? • • • • • Have you found any network problems? (e.g. disconnect) D • • • •

206 4. Game Interaction (location, nnageswideo, sound, social) Quest Two (location based interaction) Not at al Very much Did you enjoy playing quest two? • • • • • Have you ever played any game that had a quest like this • • • • • before? Does this quest provide intuitive control? • • D • • Do you get an immediate location feedback? • • • • • Did you experience any mapping problems between your • • • • • avatar and your physical position? Do you recognize the connection between the game world • • • • • and the real world? Did you have any negative feedback during or after playing • • • • • this quest? (e.g. fatigue, or pain) Does this quest encourage you to do more physical activity • • • • • while you are playing video game? Were you becoming less aware of your surrounding when you • • • • • were playing this quest? Do you think playing this quest can benefit your health? • • • • • Do you want to play this quest within the scale of a city? • • • • • (game world mapping to the entire city of Regina)

Quest Three (ImagesWideo interaction) Not at al Very much Did you enjoy playing quest three? • • • • • Have you ever played any game that had a quest like this • D • • • before? Does this quest provide intuitive control? • • • • • Do you get an immediate feedback? • • • • • Did you experience any mapping problems between the • • • • • virtual monster and the physical world? Do you agree that this quest use the camera as a window to • • • • • look into the virtual world? Did you have any negative feedback during or after playing • • • • • this quest? (e.g. fatigue, or eye strain) Does this quest encourage you to do more physical activity • • • • • while you are playing video game?

207 Does this quest use sound to arouse your interest? • • • a a Do you get an immediate sound feedback? • • • a a Does this quest use meaningful sound feedback? • • • a • Were you becoming less aware of your surrounding when you • • • • a were playing this quest? Do you think playing this quest can benefit your health? • • • • a Do you agree that the virtual world and the physical world • • • • • will be merged together in the near future?

Quest Four (Sound interaction) Not at al Very much Did you enjoy playing quest Four? • • • • • Do you understand the concept of this quest (sound volume • • a • • versus distance)? Did this quest use sound to arouse your interest? • • a • • Did you get an immediate sound feedback? • • a • • Did this quest use meaningful sound feedback? • • a a a

Social interaction Not at al Very much Do you like to play with other players? • • a • • Do you enjoy chatting with other players? • • a • • Do you enjoy chatting with "Guru" (Quest One)? • • a • a Does "Guru" chat like a human being? • • a a • Do you prefer to chat with "Guru" more than other players? • • • • a Would you like to meet and play the game with other players • • • a • in the physical world? Would you like to have face-to-face interaction with other • • a a • players, if it is the only way to trade the game's items? Would you like to join our game community? (e.g. message • • • a a board, or blogs)

208 The following questions are designed for evaluation of the believability of NPCs. An NPC is any characters (or Artificial intelligence character) in this game that is not controlled by a player (Non-player character). These questions ask you to identify whether characters in your game session are NPCs or player character. Normally, each game session contain at least nine characters and we encourage you to rate as many characters as you can.

Human Probably Human Don't Know Probably Artificial Artificial Name • • • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • • • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • • D • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • • • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • D D • • • •

What are the reasons for your justification?(optional)

209 Human Probably Human Don't Know Probably Artificial Artificial Name • • • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • D • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • • • • • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

Human Probably Human Don't Know Probably Artificial Artificial Name • • D D • If it is a NPC, could you rate how Not at all "Humanlike" "humanlike" you perceive it? • • • • • • • • • •

What are the reasons for your justification?(optional)

210 6. Open-ended questions

What do you like about this game?

What is your favorite part in the game?

What do you think about the level design (quests)?

Do you have any comments, ideas, or suggestions?

Do you think this game prototype can be extended to be a commercial game?

Do you have any questions that should be addressed and added to this questionnaire?

Would you like to participate in our lucky draw prize (a Nintendo DS Lite)? Q Yes • No If yes, we will send you an e-mail if yon win the prize, (please provide your e-mail address in the first section)

211 Raprakiap Online Gmr>e ^-» Have fun and WIN! Beta-test our new videogame for a chance to win a Nintendo ^L DS lite. All you need to do Is play our game for 2 hours; then fill a questionnaire J-^ ' and we will enter your name for the draw, Ifs that simple - and fun!

5TTI7 ' ** '*ML-*\ * fl^iii * * > 'i tp < > jf t

"i\ ' >' * s I

Contact Information: Wtcha Feungchan Electronic Systems Engineering, Faculty of Engineering, University of Reglna Tel. 1306)581 2923, E-mail:[email protected]

212 Appendix B Evaluation factors

A list of evaluation factors from the game industrial is shown below:

No. Evaluation factors 1 Overall 2 Gameplay 3 Graphic 4 Sound 5 Fun, Entertainment 6 Value 7 Replayable, 8 Lifespan, Longevity, Durability 9 Control 10 Innovation, Originality 11 Concept 12 Impression 13 Presentation 14 Community 15 Multiplayer 16 Learning Curve 17 Tilt 18 Lasting appeal '19 Mainstream appeal 20 Experience 21 Plot, Story 22 Polish 23 Interface

The most common factors used to calculate the overall score including gameplay, graphic, sound, control, and replayability. The evaluation metric is composed of 59 variables which are classified into five main groups: game interface, game play, game mechanic, immersion, and social interaction.

213 A list of the evaluation variables is shown as the following:

No. Evaluation variables Game Interface 1 Controls should be customizable and default to industry standard settings 2 Controls should be intuitive and mapped in a natural way 3 Minimize control options 4 The interface should be as non-intrusive as possible 5 For PC games, consider hiding the main computer interface during game play 6 A player should always be able to identify their score/status in the game 7 Follow the trends set by the gaming community to shorten the learning curve 8 Interfaces should be consistent in control, color, typography, and dialog design 9 Minimize the menu layers of an interface (menus within menus) 10 Use sound to provide meaningful feedback 11 Do not expect the user to read a manual 12 Should include online help so players do not need to exit the game 13 Provide means for error prevention and recovery through the use of warning messages 14 Players should be able to save games in different states. 15 Players should feel a sense of control over the game shell (starting, stopping, saving, etc.) Game Play 16 There should be a clear overriding goal of the game presented early 17 Intermediate goals should be clear and presented at appropriate times 18 There should be variable difficulty level 19 Challenges in games must match the players' skill levels 20 The level of challenge should increase as the player progresses through the game and increases their skill level 21 There should be multiple goals on each level 22 "A good game should be easy to learn and hard to master" (Nolan Bushnell) 23 The game should have an unexpected outcome 24 Artificial intelligence should be reasonable yet unpredictable 25 Game play should be balanced so that there is no definite way to win 26 Play should be fair 27 The game should give hints, but not too many 28 The game should give rewards 29 Games should increase the players' skills at an appropriate pace as they progress through the game 30 Pace the game to apply pressure to, but not frustrate the player 31 Provide an interesting and absorbing tutorial 32 Players should be able to start playing the game without reading the manual 33 Allow players to build content

214 34 Make the game replayable 35 Create a great storyline 36 There must not be any single optimal winning strategy 37 Should use visual and audio effects to arouse interest 38 Should provide a lot of stimuli from different sources 39 Include a lot of interactive props for the player to interact with 40 Teach skills early that you expect the players to use later 41 Design for multiple paths through the game 42 One reward of playing should be the acquisition of skill 43 Build as though the world is going on whether your character is there or not 44 If the game cannot be modeless, it should feel modeless to the player 45 Get the player involved quickly and easily 46 Should quickly grab the players' attention and maintain their focus throughout the game 47 Should not distract player from tasks that they want or need to concentrate on Game Mechanic 48 Mechanics should feel natural and have correct weight and 49 Players should feel a sense of control over their characters or unit and their movements and interactions in the game world 50 Players should feel a sense of control over the game interface and input devices 51 Feedback should be given immediately to display user control Immersion 52 Players should become less aware of their surroundings 53 Players should become less self-aware and less worried about everyday life or self 54 Players should experience an altered sense of time 55 Players should feel emotionally involved in the game 56 Players should feel viscerally involved in the game Social Interaction 57 Should support competition and cooperation between players 58 Should support social interaction between players (chat, etc.) 59 Should support social communities inside and outside the game

Two highly score games, Half Life 2 and The Elder Scrolls IV: Oblivion, were evaluated. An expert evaluated these two games, and then used the models to predict the score as a level of fun from 0 to 100.

A full detail of a Case Study's game evaluation can be found in chapter 3.

215 The evaluation model with 10 criteria

Predicted Score = 5.5A+1.9B+1.6C+2.4D+1.9E+4.5F+4.8G+6.6H+3.3I+3.3J

HalfLife2 The Elder Scrolls IV: Criteria Coefficient Expert's score Model's score Expert's score Model's score A 5.5 4 22 4 22 B 1.9 4 7.6 3 5.7 C 1.6 4 6.4 4 6.4 D 2.4 4 9.6 4 9.6 E 1.9 3 5.7 3 5.7 F 4.5 4 18 4 18 G 4.8 4 19.2 4 19.2 H 6.6 1 6.6 1 6.6 I 3.3 1 3.3 0 0 J 3.3 0 0 1 3.3 Predicted Score 98.4 96.5 Industrial Score 96 93

The evaluation model with 10 criteria

Predicted Score = 5A+3.5C+4E+5F+5.2G+10.2H

Half Life2 The Elder Scro Is IV: Oblivion Criteria Coefficient Expert's score Model's score Expert's score Model's score A 5 4 20 4 20 C 3.5 4 14 4 14 E 3.9 3 11.7 3 11.7 F 5 4 20 4 20 G 5.2 4 20.8 4 20.8 H 10.2 1 10.2 1 10.2 Predicted Score 96.7 96.7 Industrial Score 96 93

216 Bibliography

[I] R. M. Ryan, C. S. Rigby, and A. Przybylski, "The Motivational Pull of Video Games: A Self-Determination Theory Approach," Motivation and Emotion, vol. 30, pp. 344-360, November 29 2006. [2] C. Crawford, "The Art of Computer Game Design," Washington State University Vancouver, 1997. [3] M. Morrison, "Beginning game programming," Indianapolis, IN: SAMS, 2004, pp. xvii, 601 p. [4] "ESA'S 2006 Essential Fact About the Computer and Video Game Industry," Internet: http://www.theesa.com/facts/pdfs/ESA EF 2006.pdf. May 10 2006. [5] P. Sweetser and P. Wyeth, "GameFlow: a model for evaluating player enjoyment in games," Computer in Entertainment (CIE), vol. 3, 2005. [6] M. A. Federoff, "Heuristics and usability guidelines for the creation and evaluation of fun in video games." Master of Science: Indiana University, 2002, pp. viii, 86 leaves. [7] B. Serviss and D. D. Seligmann, "Escaping the world: high and low resolution in gaming," Multimedia, IEEE, vol. 12, pp. 4-8, 2005. [8] S. Kline, N. Dyer-Witheford, and G. D. Peuter, Digital play : the interaction of technology, culture, and marketing. Montreal, Canada: McGill-Queen's University Press, 2003. [9] "Trend Index Video Games." Internet: http://www.nielsen.com/rnedia/toptens games.html, November 2008 [January 17, 2009]. [10] M. Griffiths, "Computer Game Playing in Early Adolescence," Youth & Society, vol. 29, pp. 223-237, 1997. [II] "S Korean dies after games session." Internet: http://news.bbc.co.Uk/l/hi/technology/4137782.stm. August 10, 2005 [February 22, 2006]. [12] R. A. T. Salguero and R. M. B. Moran, "Measuring problem video game playing in adolescents," Addiction, vol. 97, pp. 1601-1606, 2002. [13] M. D. Griffiths, M. N. O. Davies, and D. Chappell, "Online computer gaming: a comparison of adolescent and adult gamers," Journal of Adolescence, vol. 27, pp. 87-96, 2004. [14] V. W. Setzer and G. E. Duckett, "The Risk to Children Using Electronic Games," 2006. [15] A. Rollings and E. Adams, Andrew Rollings and Ernest Adams on game design, 1st ed. Indianapolis, IN: New Riders, 2003. [16] G. McGraw and G. Hoglund, "Cheating Online Games," Upper Saddle River, NJ: Addison Wesley, 2006. [17] "Game," in The Canadian Oxford Dictionary, K. Barber, Ed.: Oxford University Press, 2004. [18] R. W. Schmittberger, "Game," in Microsoft® Encarta® 2006 [DVDJ Redmond, WA: Microsoft Corporation, 2005.

217 [53] I. Lindt, J. Ohlenburg, U. Pankoke-Babatz, W. Prinz, and S. Ghellal, "Combining multiple gaming interfaces in epidemic menace," in CHI '06 extended abstracts on Human factors in computing systems Montreal, Canada: ACM, 2006. E. Guizzo, "The game-frame guild," Spectrum, IEEE, vol. 45, pp. 44-52, 2008. J. Mulligan and B. Patrovsky, "Developing online games an insider's guide," Indianapolis, IN: New Riders, 2003, pp. xxx, 495 p. T. Barron, Multiplayer game programming. Roseville, CA: Prima Tech, 2001. Yohoho! Puzzle Pirates. [Download]. San Francisco, CA: Three Rings Design, 2003. B. Burns, "Darkstar: The Java Game Server," Sebastopol, CA: O'Reilly, 2007. "Can You Run it?" Internet: http://www.svstemrequirementslab.com/referrer/srtest. 2008 [November 1, 2008]. "The First Video Game." Internet: http://www.bnl.gov/bnlweb/history/higinbotham.asp, [December 19, 2005]. H. J. Evry, "Beginning game graphics," Boston, MA: Thomson Course Technology PTR, 2005, pp. xvi, 379 p. W. Forster, R. Dyll, and D. McCarthy, The encyclopedia of game.machines : consoles, handhelds & home computers 1972-2005. Utting, Germany: Gameplan, 2005. B. G. Farkas, The Xbox 360 Pocket Guide, First ed. Berkeley, CA: Peachpit Press, 2007. C. Nuttall. "Sony sets 150m sales target for PS3." Internet: http://www.ft.eom/crns/s/0/lc46ad2e-5678-1 ldd-8686- 000077b07658.html?nclick check=l. July 20, 2008 [November 2, 2008]. P. Osbakk and E. Rydgren, "Ubiquitous Computing for the Public," in 3rd International Conference on Pervasive Computing, Workshop on Pervasive Mobile Interaction Devices Munich, 2005. P. Valkkynen and T. Tuomisto, "Physical Browsing Research," in 3rd International Conference on Pervasive Computing, Workshop on Pervasive Mobile Interaction Devices Munich, 2005. B. G. Farkas, The Nintendo Wii Pocket Guide. Berkeley, CA: Peachpit Press, 2007. J. Durham, Secrets of the PlayStation Portable: Peachpit Press, 2006. "Terminator: The Sarah Conner Chronicles Ambush." Internet: http://www.terminatorambush.com/. November, 2008 [November, 2008]. K. Leichtenstern, A. D. Luca, and E. Rukzio, "Analysis of Built-in Mobile Phone Sensors for Supporting Interactions with the Real World," in 3rd International Conference on Pervasive Computing, Workshop on Pervasive Mobile Interaction Devices Munich, 2005. D. Fox and R. Verhovsek, Micro Java game development. Boston, MA: Addison- Wesley, 2002. "Windows Mobile." Internet: http://www.microsoft.com/windowsmobile/default.mspx, [December 23, 2005]. "Symbian OS - the mobile operating system." Internet: http://www.svmbian.com. [December 23, 2005].

219 "New Record for GSM as 100 Million Subscribers Added in Q3 2005." Internet: http://www.gsacom .com/news/gsa_ 188.php4, November 17, 2005 [December 24, 2005]. C. Magerkurth, A. D. Cheok, R. L. Mandryk, and T. Nilsen, "Pervasive games: bringing computer entertainment back to the real world," Computer in Entertainment (CIE), vol. 3, pp. 4-4, 2005. G. Sukthankar, "The dynadoom visualization agent: A handheld interface for live action gaming," in Conference on Intelligent Agents and Multiagent Systems, Workshop on Ubiquitous Agents on Embedded, Wearable, and Mobile Devices Bologna, Italy, 2002. P. Holleis, M. Kranz, A. Winter, and A. Schmidt, "Playing with the Real World," in 3rd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Munich, 2005. M. Casamassina. "Controller Concepts: Gun Games." Internet: http://uk.cube.ign.com/articles/653/653867pl.html, September 26, 2005 [May 1, 2009]. "EyeToy." Internet: http://www.eyetoy.com, January 9, 2005 [November 27, 2005]. O. Cakmakci and J. Rolland, "Head-worn displays: a review," Display Technology, vol. 2, pp. 199-216, 2006. M. Chalmers, L. Barkhuus, M. Bell, B. Brown, M. Hall, S. Sherwood, and P. Tennent, "Gaming on the Edge: Using Seams in Pervasive Games," in 3rd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Munich, 2005. WarioWare Twisted! [Cartridge]. Japan: Nintendo, 2004. J. Schneider and G. Kortuem, "How to Host a Pervasive Game Supporting Face- to-Face Interactions in Live-Action Roleplaying," in Designing Ubiquitous Computing Games Workshop at the International Conference on Ubiquitous Computing (Ubicomp) Atlanta, GA, 2001. T. Nilsen and J. Looser, "Tankwar - Tabletop war gaming in augmented reality," in 3rd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Munich, 2005. S. Pape, L. Dietz, and P. Tandler, "Single Display Gaming: Examining Collaborative Games for Multi-User Tabletops," in 2nd International Conference on Pervasive Computing Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. A. Papargyris and A. Poulymenakou, "Learning to fly in persistent digital worlds: the case of Massively Multiplayer Online Role Playing Games," SIGGROUP Bull, vol. 25, pp. 41-49, 2005. D. Cermak-Sassenrath, M. Faust, and H. Rosch, "AirKanoid - Visual Presentation vs. Physical Proximity in Mixed Reality Entertainment Applications," in 3rd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Munich, 2005. F. F. Mueller and S. Agamanolis, "Sports over a distance," Computer in Entertainment (CIE), vol. 3, pp. 4-4, 2005.

220 [89] S. Cornett, "The usability of massively multiplayer online roleplaying games: designing for new users," in Proceedings of the SIGCHI conference on Human factors in computing systems Vienna, Austria: ACM Press, 2004. [90] S. Natkin and C. Yan, "User model in multiplayer mixed reality entertainment applications," in Proceedings of the 2006 ACM SIGCHI international conference on Advances in computer entertainment technology Hollywood, CA: ACM Press, 2006. [91] P. Sweetser, D. Johnson, J. Sweetser, and J. Wiles, "Creating engaging artificial characters for games," in Proceedings of the 2nd international conference on Entertainment computing Pittsburgh, PA: Carnegie Mellon University, 2003. [92] T. Graepel and R. Herbrich, "Ranking and matchmaking: grouping online players for competitive gaming," Game Developer, vol. 13, pp. 25-31, 2006. [93] R. V. Yampolskiy and V. Govindaraju, "Embedded noninteractive continuous bot detection," Computer in Entertainment (CIE), vol. 5, pp. 1-11, 2007. [94] R. Bartle, Designing Virtual Worlds. Indianapolis, IN: New Riders, 2003. [95] Neverwinter Nights. United States: AOL, 1991. [96] Ultima Online. [CD-ROM]. United States: Electronic Arts, 1997. [97] World of Warcraft. [CD-ROM]. United States: Blizzard Entertainment, 2004. [98] EverQuest. [CD-ROM]. United States: Sony Online Entertainment, 1999. [99] "World of WarCraft Community Site." Internet: http://www.worldofwarcraft.com/index.xml. January 9, 2009 [January 9, 2009]. [100] "MMORPG Game List." Internet: http://www.mmorpg.com. May 9, 2009 [May 9, 2009]. [101] The Lord of the Rings Online. [DVD]. Westwood, MA: Turbine Inc., 2007. [102] Atlantica Online. [Download]. El Segundo, CA: NDOORS Interactive, 2008. [103] Warhammer Online: Age of Reckoning. [DVD]. United States: Electronic Arts, 2008. [104] EVE Online. [Download]. Reykjavik, Iceland: CPC Games, 2003. [105] Vendetta Online. [CD-ROM]. Montreal, Canada: Strategy First, 2004. [106] Anarchy Online. [Download]. Oslo, Norway: Funcom, 2001. [107] WWII Online: Battleground Europe. [Download]. Dallas, Texas: Trisynergy, 2006. [108] Second Life. [Download]. United States: Linden Lab, 2003. [109] RAN Online. [Download]. Korea: Min Communications, 2006. [110] City of Heroes. [CD-ROM]. United States: NCsoft, 2004. [Ill] City of Villains. [CD-ROM]. United States: NCsoft, 2005. [112] Shot Online. [Download]. United States: Games Campus, 2005. [113] Kicks Online. [Download]. Milano, Italy: Game Tribe, 2007. [114] Requiem: Bloodymare. [Download]. Seoul, South Korea: Gravity Corporation, 2008. [115] A. Ray and S. Kurkovsky, "A Survey of Intelligent Pervasive Computing," in Proceedings of 2003 International Conference on Artificial Intelligence, Las Vegas, NV, 2003 [116] M. B. Rosson and J. M. Carroll, Usability engineering: scenario-based development of human-computer interaction. CA: Morgan Kaufmann Publishers Inc., 2002.

221 [117] T. Martins, T. Romao, C. Sommerer, L. Mignonneau, and N. Correia, "Towards an interface for untethered ubiquitous gaming," in Proceedings of the 2008 International Conference on Advances in Computer Entertainment Technology Yokohama, Japan: ACM, 2008, pp. 26-33. [118] A. Waern, S. Benford, V. Goetcherian, K.-P. Akesson's, T. Soderlund, S. Bjork, F. Mayra, J. Holopainen, L. Schafer, and S. Ghellal, "iPerG Position Paper," in 2nd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [119] B. K. Walther, "Atomic actions ~ molecular experience: theory of pervasive gaming," Computers in Entertainment (CIE), vol. 3, pp. 4-4, 2005. [120] A. Jagoe, Mobile Location Services: The Definitive Guide. Upper Saddle River, NJ: Prentice Hall, 2003. [121] G. Dedes and A. G. Dempster, "Indoor GPS Positioning: Challenges and Opportunities," in IEEE 62nd Vehicular Technology Dallas, TX, 2005. [122] N. B. Priyantha, "The Cricket Indoor Location System," Massachusetts Institute of Technology, 2005, p. 199 p. [123] A. Krohn, T. Zimmer, and M. Beigl, "Enhancing Tabletop Games with Relative Positioning Technology," in 2nd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [124] O. Sotamaa, "All The World's A Botfighter Stage: Notes on Location-based Multi-User Gaming," in Computer Games and Digital Cultures, Tampere, Finland, 2002, pp. 35-44. [125] I. Smith, S. Consolvo, and A. LaMarca, "The Drop: pragmatic problems in the design of a compelling, pervasive game," Computers in Entertainment (CIE), vol. 3, pp. 4-4, 2005. [126] E. H.-K. Ko, "NLOS mobile location determination in CDMA cellular systems." vol. Master Ottawa, Canada: University of Toronto, 1999, p. 95. [127] A. Haeberlen, E. Flannery, A. M. Ladd, A. Rudys, D. S. Wallach, and L. E. Kavraki, "Practical robust localization over large-scale 802.11 wireless networks," in Proceedings of the 10th annual international conference on Mobile computing and networking Philadelphia, PA: ACM Press, 2004. [128] V. Paelke and C. Reimann, "Vision-Based Interaction - A First Glance at Playing MR Games in the Real-World Around Us," in 3rd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Munich, 2005. [129] J. Heidemann, F. Silva, C. Intanagonwiwat, R. Govindan, D. Estrin, and D. Ganesan, "Building efficient wireless sensor networks with low-level naming," in Proceedings of the 18th ACM symposium on Operating systems principles Banff, Alberta, Canada: ACM Press, 2001. [130] M. Handy, F. Golatowski, and D. Timmermann, "Lessons Learned from Developing a Bluetooth Multiplayer-Game," in 2nd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [131] D. O'Sullivan and T. Igoe, Physical computing: sensing and controlling the physical world with computers. Boston, MA: Thomson, 2004.

222 [132] J. Bohn, "The Smart Jigsaw Puzzle Assistant: Using RFID Technology for Building Augmented Real-World Games," in 2nd International Conference on Pervasive Computing Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [133] "SmartBrain Technologies." Internet: http://www.siTiartbraintech.com/, [November 27, 2005]. [134] Bhagyavati and S. Kurkovsky, "Wireless Grid Enables Ubiquitous Computing," in Proceedings of The 16th International Conference on Parallel and Distributed Computing Systems (PDCS-2003) Reno, NV, 2003. [135] J. Peitz, D. Eriksson, and S. Bjork. "Socially Adaptable Game Prototypes." Internet: http://www.pervasive-gaming.org/pressl.php. October 11 [December 2, 2005]. [136] "The Smart-Its Project." Internet: http://www.smart-its.org/. [May 9, 2009]. [137] I. Lindt and L. Schafer, "Challenges and Opportunities in the area of Collaborative Augmented Reality Games," in 2nd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [138] J. Santiago, L. Romero, B. Kripphal, M. Mendes, and N. Correia, "A Framework for Exploration and Gaming in Mixed Reality," in 2nd International Conference on Pervasive Computing, Workshop on Gaming Applications in Pervasive Computing Environments Linz, Vienna, 2004. [139] S. A. Drab and N. M. Artner, "Motion Detection as Interaction Technique for Games & Applications on Mobile Devices," in 3rd International Conference on Pervasive Computing, Workshop on Pervasive Mobile Interaction Devices Munich, 2005. [140] T. Thorsteinsson. "2006 FIFA World Cup: Pocket TrainerSiemens Business Services develops augmented reality solutions." Internet: https ://www.nwe.siemens.com/denmark/internet/dk/produkter/it/news/Pages/2006 _fifa_world_cup pocketjrainer.aspx. February 2, 2006 [February 9, 2006]. [141] C. Geiger, B. Kleinnjohann, C. Reimann, and D. Stichling, "Mobile AR4ALL," in Proceedings of the IEEE and ACM International Symposium on Augmented Reality (ISAR'01), 2001, pp. 181-182. [142] A. D. Cheok, K. H. Goh, F. Farbiz, W. Liu, Y. Li, S. W. Fong, X. Yang, and S. L. Teo, "Human pacman: a wide area socio-physical interactive entertainment system in mixed reality," in CHI '04 extended abstracts on Human factors in computing systems Vienna, Austria: ACM Press, 2004. [143] A. Glende, "Agent design to pass computer games," in Proceedings of the 42nd annual Southeast regional conference Huntsville, Alabama: ACM Press, 2004. [144] A. Nareyek, "AI in Computer Games," Queue, vol. 1, pp. 58-65, 2004. [145] W. Swartout and M. v. Lent, "Making a game of system design," Communications of the ACM, vol. 46, pp. 32-39, 2003. [146] R. S. Amant and R. M. Young, "Links: artificial intelligence and interactive entertainment," Intelligence, vol. 12, pp. 17-19, 2001. [147] D. J. H. Burden, "Deploying embodied AI into virtual worlds," Knowledge-Based Systems (In Press), 2009.

223 B.-K. Lee, C.-S. Park, J.-H. Kim, S.-J. Youk, and K. H. Ryu, "An Intelligent NPC Framework for Context Awareness in MMORPG," in Proceedings of 2008 international Conference on Convergence and Hybrid Information Technology, ICHIT '08., 2008, pp. 190-195. M. K. Perdikeasa, F. G. Chatzipapadopoulosa, I. S. Venierisl, and G. Marinob, "Mobile agent standards and available platforms," Computer Networks, vol. 31, pp. 1999-2016, 1999. J. Cao, X. Feng, J. Lu, and S. K. Das, "Mailbox-based scheme for mobile agent communications," Computer, vol. 35, pp. 54-60, 2002. K. Smith, R. Paranjape, and L. Benedicenti, "Agent behavior and agent models in unregulated markets," ACMSIGAPP Applied Computing Review, vol. 9, pp. 2-12, 2001. K. Smith and R. Paranjape, "Mobile Web Agents for Telemedicine," in Proceedings of 1st International Workshop on Mobile Agents for Telecommunication Applications (MATA 99) Ottawa, Canada: ACM Press, 1999. R. Broos, B. Dillenseger, P. Dini, T. Hong, A. Leichsenring, M. Leith, E. Malville, M. Nietfeld, K. Sadi, and M. Zell, "Mobile Agent Platform Assessment Report," The MIAMI Project. T. Magedanz, C. Baumer, M. Breugst, and S. Choy, "Agents Technologies in Europe - ACTS Activities," The InfoWin Thematic Issues, 1999. "The Foundation for Intelligent Physical Agents " Internet: http://www.fipa.org/. January 12 T. Finin, R. Fritzson, D. McKay, and R. McEntire, "KQML as an agent communication language," in Proceedings of the 3rd international conference on Information and knowledge management Gaithersburg, MD: ACM, 1994. D. Wong, N. Paciorek, and D. Moore, "Java-based mobile agents," Communications of the ACM, vol. 42, pp. 92-ff., 1999. B. Emako, R. H. Glitho, and S. Pierre, "A mobile agent-based advanced service architecture for wireless Internet telephony: design, implementation, and evaluation," Computers, IEEE Transactions on, vol. 52, pp. 690-705, 2003. L. Klug, J. Altmann, F. Gruber, W. Stockner, and E. Weippl, "Using Mobile Agents in Real World: A Survey and Evaluation of Agent Platforms," in Proceedings of the 2nd International Workshop on Infrastructure for Agents, MAS, and Scalable MAS at the 5th International Conference on Autonomous Agents Montreal, Canada: ACM Press, 2001. L. s. M. Silva, G. Soares, P. Martins, V. Batista, and L. s. Santos, "The performance of mobile agent platforms," in Agent Systems and Applications, 1999 and Third International Symposium on Mobile Agents, 1999, pp. 270-271. C. Baumer and T. Magedanz, "Grasshopper - A Mobile Agent Platform for Active Telecommunication Networks," in Intelligent Agents for Telecommunication Applications, vol. 1699 Heidelberg, Germany: Springer-Berlin, 1999, p. 690. "Aglets." Internet: http://www.research.ibm.com/trl/aglets/. March 14, 2002 [January 13,2006]. "Voyager." Internet: http://www.recursionsw.com/. [January 12, 2006]. R. Martens, W. Hu, A. Liu, J. Mahovsky, K. Saenchai, T. Schauenberg, M. Zhou, R. Paranjape, and L. Benedicenti. "TEEMA TRLabs Execution Environment for

224 Mobile Agents." Internet: http://agent.reg.trlabs.ca/java.php. December 12, 2001 [December 19, 2005]. [165] J. Vince, Virtual reality systems: ACM Press/Addison-Wesley Publishing Co., 1995. [166] R. Stuart, The design of virtual environments. New York: McGraw-Hill, 1996. 167] G. C. Burdea and P. Coiffet, Virtual reality technology. New York: J. Wiley & Sons, 2003. 168] T. Lang, B. Maclntyre, and I. J. Zugaza, "Massively Multiplayer Online Worlds as a Platform for Augmented Reality Experiences," in Virtual Reality Conference, 2008. VR '08. IEEE, 2008, pp. 67-70. [169] C. Fairclough, M. Fagan, B. M. Namee, and P. d. Cunningham, "Research Directions for AI in Computer Games," in Proceedings of the 12th Irish Conference on Artificial Intelligence and Cognitive Science, 2001. [170] D. a. Isla and B. Blumberg, "New Challenges for Character-Based AI for Games," in Proceedings of the AAAI Spring Symposium on AI and Interactive Entertainment, 2002. 171] A.J. Champandard, AI game development: synthetic creatures with learning and reactive behaviors. Indianapolis, IN: New Riders, 2003. [172] A. LaMothe, Tricks of the Windows game programming gurus, 2nd ed. Indianapolis, IN: Sams, 2002. [173] G. F. Luger, Artificial intelligence : structures and strategies for complex problem solving, 4th ed. Harlow, UK.: Pearson Education, 2002. [174] J. Funge, "Cognitive modeling for games and animation," Communications of the ACM, vol. 43, pp. 40-48, 2000. [175] A. caplinskas, "AI paradigms," Journal of Intelligent Manufacturing, vol. 9, pp. 493-502, 1998. 176] S. Rabin, AI game programming wisdom. Hingham, MA: Charles River Media, 2002. [177] S. Rabin, AI game programming wisdom 2. Hingham, MA: Charles River Media, 2004. [178] S. Rabin, AI game programming wisdom 3, 1st ed. Boston, MA: Charles River Media, 2006. [ 179] S. Rabin, AI game programming wisdom 4. Boston, MA: Course Technology, Cengage Learning, 2008. 180] D. M. Bourg and G. Seemann, Alfor game developers, 1st ed. Sebastopol, CA: O'Reilly, 2004. 181] M. Buckland, AI Techniques for Game Programming. Cincinnati, OH: Premier Press, 2002. [182] D. Brackeen, B. Barker, and L. Vanhelsuwe, Developing games in Java. Boston, MA: New Riders, 2004. [183] D. S. n.-C. Dalmau, Core techniques and algorithms in game programming. Indianapolis, IN: New Riders, 2003. [184] J. E. Laird and M. v. Lent, "Human-Level AI's Killer Application: Interactive Computer Games," in Proceedings of the 17th National Conference on Artificial Intelligence and 12th Conference on Innovative Applications of Artificial Intelligence: AAAI Press / The MIT Press, 2000.

225 A. Bartish and C. Thevathayan, "BDI agents for game development," in Proceedings of the 1st international joint conference on Autonomous agents and multiagent systems: part 2 Bologna, Italy: ACM Press, 2002. L. A. Zadeh, "Outline of a new approach to the analysis of complex systems and decision processes," IEEE Trans, on Systems, Man, and Cybernetics, vol. SMC-3, pp. 28-44, 1973. "Python Programming Language." Internet: http://www.python.org, October 2, 2008 [November 2, 2008]. P. E. Hart, N. J. Nilsson, and B. Raphael, "A Formal Basis for the Heuristic Determination of Minimum Cost Paths," in IEEE Transactions on Systems Science and Cybernetics SSC4, 1968, pp. 100-107. P. E. Hart, N. J. Nilsson, and B. Raphael, "Correction to "A Formal Basis for the Heuristic Determination of Minimum Cost Paths"," SIGART Bull, pp. 28-29, 1972. Black & White. [CD-ROM]. United States: EA Games, 2001. Creatures 2. [CD-ROM]. United States: Mindscape, 1998. J. Pearl, "Bayesian networks: A model of self-activated memory for evidential reasoning," in Proceedings of the 7th Conference of the Cognitive Science Society, Irvine, CA, 1985, pp. 329-334. J. Weizenbaum, "ELIZA - A Computer Program For the Study of Natural Language Communication Between Man And Machine," Communication ACM, vol. 9, pp. 36-45, 1966. J. Hutchens and M. Alder, "Introducing MegaHAL," in NeMLaP3 / CoNLL98, Workshop on Human-Computer Conversation: ACL, 1998. J. E. Laird, "Research in human-level AI using computer games," Communications of the ACM, vol. 45, pp. 32-35, 2002. B. Gorman, C. Thurau, C. Bauckhage, and M. Humphrys, "Believability Testing and Bayesian Imitation in Interactive Computer Games," in From Animals to Animats 9 Rome, Italy: Springer-Verlag New York, 2006, pp. 655-666. A. M. Turing, "Computing Machinery and Intelligence," Mind, vol. 59, pp. 433- 460, 1950. S. Harnad, "Minds, Machines and Turing," Journal of Logic, Language and Information, vol. 9, pp. 425-445, 2000. D. Livingstone, "Turing's test and believable AI in games," Computer in Entertainment, vol. 4, p. 6, 2006. P. Lopes and L. l. Roque. "Digital game evaluation, a formal approach." Internet: http://www.scratchvdreams.com/msc/sem 1 -article-I.pdf. September 1, 2007 [September 1,2006]. A. Tychsen, M. Hitchens, T. Brolund, D. Mcllwain, and M. Kavakli, "Group play: determining factors on the gaming experience in multiplayer role-playing games," Computer in Entertainment (CIE), vol. 5, pp. 1-29, 2007. S. Song and J. Lee, "Key factors of heuristic evaluation for game design: Towards massively multi-player online role-playing game," International Journal of Human-Computer Studies, vol. 65, pp. 709-723, 2007.

226 [19] "electronic game." Encyclopedia Britannica. Internet: http://wwvv.britannica.com/EBchecked/topic/183800/electronic-game. [May 15, 2009]. [20] "video game," in The Oxford Dictionary of English (revised edition), C. Soanes and A. Stevenson, Eds.: Oxford University Press, 2005. [21] "computer games," in A Dictionary of Computing, J. Daintith and E. Wright, Eds.: Oxford University Press, 2008. [22] S. Bjork, S. Lundgren, and J. Holopainen, "Game Design Patterns," in Proceedings of Digital Games Research Conference, Utrecht, The Netherlands, 2003. [23] C. A. Lindley. "Game Taxonimies: A High Level Framework for Game Analysis and Design." Internet: http://www.gamasutra.com/features/20031003/lindley_01 .shtml, October 3, 2003 [June, 10, 2006]. [24] T. H. Apperley, "Genre and game studies: Toward a critical approach to video game genres," Simulation and Gaming, vol. 37, pp. 6-23, 2006. [25] Donkey Kong. [Arcade]. Kyoto, Japan: Nintendo, 1981. [26] Super Mario Bros. [Cartridge]. Kyoto, Japan: Nintendo, 1985. [27] Wolfenstein 3D. [Floppy Disk]. Mesquite, Texas: id Software, 1991. [28] Quake. [CD-ROM]. Mesquite, Texas: id Software, 1996. [29] Halo: Combat Evolved. [DVD]. United States: Microsoft Game Studios, 2001. [30] Max Payne. [DVD]. New York City, New York: Rockstar Games, 2001. [31] Devil May Cry. [DVD]. Japan: Capcom, 2001. [32] Grand Theft Auto IV. [DVD]. New York, NY: Rockstar Games, 2008. [33] Zork I. [Floppy Disk]. United States: Infocom, 1980. [34] The Secret of Monkey Island. [CD-ROM]. San Francisco, CA: LucasArts, 1990. [35] Grim Fandango. [CD-ROM]. San Francisco, CA: LucasArts, 1998. [36] Myst. [Download]. Cupertino, CA: Apple Inc., 2009. [37] Ultima. [Floppy Disk]. United States: California Pacific Compuer Co., 1980. [38] Final Fantasy. [Cartridge]. Japan: Square, 1987. [39] Age of Empires. [CD-ROM]. United States: Microsoft Game Studios, 1997. [40] Empire: Total War. [DVD]. United States: Sega, 2009. [41] StarCraft. [CD-ROM]. United States: Blizzard Entertainment, 1998. [42] WarCraft III. [CD-ROM]. United States: Blizzard Entertainment, 2002. [43] FIFA 09. [DVD]. United States: EA Sports, 2008. [44] Championship Manager 2008. [DVD]. United States: Eidos, 2007. [45] Tiger Woods PGA Tour 09. [DVD]. United States: EA Sports, 2008. [46] NHL 09. [DVD]. United States: EA Sports, 2008. [47] NASCAR 09. [DVD]. United States: EA Sports, 2008. [48] SimCity. [Floppy Disk]. United States: Maxis, 1989. [49] The Sims 2. [DVD]. United States: Electronic Arts, 2004. [50] Harvest Moon: A Wonderful Life. [DVD]. United States: Natsume, 2004. [51] Tetris. Russia: Alexey Pajitnov, 1985. [52] Puzzle Bobble. [Cartridge]. Japan: Taito Corporation, 1994.

218 E. Brown and P. Cairns, "A grounded investigation of game immersion," in CHI '04 extended abstracts on Human factors in computing systems Vienna, Austria: ACM Press, 2004. M. B. Oliver and R. L. Nabi, "Exploring the Concept of Media Enjoyment: An Introduction to the Special Issue," Communication Theory, vol. 14, pp. 285-287, November 1,2004 2004. Metacritic.com. "About Metascores." Internet: http^/vvwvv.metacritic.com/about/scoring.shtml. [April, 10, 2009]. IS09241-11, "Ergonomic Requirements for Office Work with Visual Display Terminals (VDTs) Part 11: Guidance on Usability," International Organization for Standardization, International StandardMarch 15 1998. B. FOX, Game interface design. Boston, MA: Thomson Course Technology, 2005. W. G. Cochran, Sampling techniques, 3d ed. New York: Wiley, 1977. J. E. Bartlettll, J. W. Kotrlik, and C. C. Higgins, "Organizational Research: Determining Appropriate Sample Size in Survey Research," Information Technology, Learning, and Performance, vol. 19, pp. 43-50, 2001. W. Mendenhall and T. Sincich, Statistics for engineering and the sciences, 4th ed. Upper Saddle River, NJ: Prentice Hall, 1995. SPSS Inc., SPSS Base 9.0 applications guide. Chicago, IL: SPSS Inc., 1999. I. T. Jolliffe, Principal Component Analysis, 2nd ed. New York: Springer, 2002. N. R. Draper and H. Smith, Applied regression analysis, 3rd ed. New York, NY: Wiley, 1998. B. Shelley. "Guidelines for Developing Successful Games." Internet: http://www.gamasutra.com/features/20010815/shelley_01 .htm, August 15 , 2001 [July, 10,2006]. D. S.-C. Dalmau. "Learn Faster to Play Better: How to Shorten the Learning Cycle." Internet: http://www.gamasutra.cotn/features/19991108/dalmau_0I.htm, November 8, 1999 [July, 10, 2006]. T. W. Malone, "Heuristics for designing enjoyable user interfaces: Lessons from computer games," in Proceedings of the 1982 conference on Human factors in computing systems Gaithersburg, MD: ACM Press, 1982. The Ramakian [Ramayana] Mural Paintings along the Galleries of the Temple of the Emerald Buddha, 3 ed. Bangkok: Thai Lottery Bureau, 1995. K. D. Forbus, J. V. Mahoney, and K. Dill, "How qualitative spatial reasoning can improve strategy game AIs," Intelligent Systems, IEEE, vol. 17, pp. 25-30, 2002. "NetBeans IDE." Internet: http://www.netbeans.org/, November 27, 2008 [November 27, 2008]. "GNU MMORPG for Java." Internet: http://sourceforge.net/proiects/gmrjA September 4, 2007 [November 17, 2007]. R. S. Pressman, Software Engineering: A Practitioner's Approach, 5th ed. Singapore: McGraw-Hill Higher Education, 2001. R. T. Futrell, D. F. Shafer, and L. Shafer, Quality software project management. Upper Saddle River, NJ: Prentice Hall PTR, 2002.

227 [223] C. Wallin, "Verification and Validation of Software Components and Component Based Software System," in Building Reliable Component-Based Software Systems, I. C. a. M. Larsson, Ed. Norwood, MA: Artech House, 2002, pp. 29-37. [224] R. Likert, "A technique for the measurement of attitudes," Archives of psychology, vol. 22, pp. 1-55, 1932.

228