Geometry Friends A cooperative game using the Wii Remote José Bernardo Guimarães Rocha Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Júri Presidente: Professor Doutor Joaquim Armando Pires Jorge Orientador: Professor Doutor Rui Filipe Fernandes Prada Co-Orientador: Professor Doutor Mário Rui Fonseca Dos Santos Gomes Vogal: Professor Doutor Nuno Manuel Robalo Correia Maio de 2009 Acknowledgements I would like to acknowledge Samuel Mascarenhas for the work done in the development of Geometry Friends. I would also like to thank all the people that were involved with testing Geometry Friends. Additionally, I would like to thank Sandra Gama for supplying me with the LaTeX model for this document, invaluable LaTeX tips and proof reading this document. i ii Resumo e palavras-chave Resumo Nestre trabalho, apresentamos a nossa experiência no desenho e desenvolvimento de um jogo cooperativo simples e co-localizado que utiliza o Wii Remote para controlar as personagens. De acordo com um estudo recente, existe uma demografia inteira de pontenciais jogadores que perfere este tipo de jogo e não joga actualmente devido a falta de ofertas. Começamos com a exposição do trabalho relacionado - Desafios de Gameplay; Padrões de Desenho para Jogos; Teorias de Tarefas de Grupo (do campo de Psicologia Social); Análise de jogos cooperativos; A Wii, o seu comando e o software para o utilizar num PC. Continuamos através da exploração do potencial para a cooperação de cada um dos tipos de Tarefas de Grupo e através da formalização de várias mecânicas de jogo que encontrámos durante a análise de jogos. De seguida, examinamos a nossa experiência no desenho e desenvolvimento de Geometry Friends. Em termos de desenho, tivemos o cuidado de utilizar os Padrões de Desenho para Jogos e Desafios de Gameplay que suportavam jogabilidade cooperativa. Enquanto, em termos de desenvolvimento tecnológico utilizámos várias tecnologias que nos permitram criar o jogo que intencionávamos criar - um motor de jogo (XNA), um motor de física (Farseer) e uma API que permitia utilizar o Wii Remote (WiimoteLib). Realizámos vários testes com utilizadores durante o desenvolvimento do jogo para determinar se o jogo era divertiado, cooperativo e se os controlos eram adequados. Globalmente, os resultados dos testes foram positivos. Palavras-chave: Jogo Cooperativo Co-localizado, Wii Remote, Desafios de Gameplay, Padrões de Desenho para Jogos iii iv Abstract and keywords Abstract In this paper, we expose our experience in designing and developing a simple co-located and cooperative game that uses the Wii Remote for character control. According to a recent study, there is an entire demographic of potential players that favours this type of game and does not currently play due to lack of offerings. We begin by exposing related work - Gameplay Chalenges; Game Design Patterns; Group Task Theories (from the field of Social Psychology); Analysis of cooperative games; The Wii, it’s controller and software for using it on a PC. We continue by exploring the potential for cooperation of each of the Group Task types and formalizing several game mechanics we encountered while doing our game analysis. We then proceed to examine our experience in designing and developing Geometry Friends. From a design perspective, we carefully used some of the Design Patterns and Gameplay Challenges that were supportive of cooperative gameplay. While, from a technological development perspective we used several technological solutions that allowed us to create the game we set out to create. These were - a game engine (XNA), a physics engine (Farseer) and an API that allowed interfacing with the Wii Remote (WiimoteLib). Several user tests were made during the development of the game so that we could ascertain if the game was fun, cooperative and if the controls were adequate. Overall, the results of the evaluation were positive. Keywords: Co-located Cooperative Video Games, Wii Remote, Gameplay Challenges, Game Design Patterns v vi Contents Acknowledgements i Index vi List of Figures ix List of Tables x 1 Introduction 1 2 State of the Art 2.1 Challenges . . . . . . . . . . . 2.1.1 Pure Challenges . . . . 2.1.2 Applied Challenges . . 2.2 Game Design Patterns . . . . . 2.3 Social Psychology . . . . . . . 2.3.1 Ringelmann effect . . . 2.3.2 Task Classification . . . 2.4 Game Analysis . . . . . . . . . 2.4.1 World of Warcraft . . . . 2.4.2 Lego Star Wars . . . . . 2.4.3 Team Fortress 2 . . . . 2.4.4 Left 4 Dead . . . . . . . 2.4.5 Counter-Strike . . . . . 2.5 Wii . . . . . . . . . . . . . . . . 2.5.1 Wii Remote . . . . . . . 2.5.2 Nunchuk . . . . . . . . 2.5.3 Wii Remote and the PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 6 8 9 9 9 10 10 12 13 15 17 19 19 20 20 3 Conceptual Model 3.1 Task potential for cooperation . . . . . . 3.1.1 Divisibility . . . . . . . . . . . . . 3.1.2 Optimizing . . . . . . . . . . . . 3.1.3 Combinability . . . . . . . . . . . 3.2 Challenges used in Cooperative Games 3.2.1 Pure Challenges . . . . . . . . . 3.2.2 Applied Challenges . . . . . . . 3.3 Design Patterns for Cooperative games 3.3.1 Complementarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 26 26 26 26 27 27 30 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii viii CONTENTS 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 Synergies between abilities . . . . . . . . . Support Abilities . . . . . . . . . . . . . . . Shared Goals . . . . . . . . . . . . . . . . . Synergies between goals . . . . . . . . . . Special Rules for Players of the same Team Mechanisms for sharing . . . . . . . . . . . 4 Geometry Friends 4.1 Main Characteristics . . . . . 4.2 Overview . . . . . . . . . . . 4.2.1 Player Motivation. . . 4.2.2 Game Genre. . . . . . 4.2.3 Target Customer. . . . 4.2.4 Target Platforms. . . . 4.2.5 Design Objectives. . . 4.3 Designing Geometry Friends 4.3.1 Patterns Used . . . . 4.3.2 Challenges used . . . 4.3.3 Tasks used . . . . . . 4.4 Technological Solutions . . . 4.4.1 XNA . . . . . . . . . . 4.4.2 Farseer . . . . . . . . 4.4.3 WiimoteLib . . . . . . 4.4.4 Wiigle . . . . . . . . . 4.5 Development Process . . . . 4.5.1 First Prototype . . . . 4.5.2 Second Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 32 32 33 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 35 36 36 36 36 36 36 37 37 37 37 38 38 38 39 39 40 40 42 5 Evaluation 5.1 Mojo Evaluation . . . . . . . . . . . . . . . . . . . 5.1.1 Tester’s Characteristics . . . . . . . . . . 5.1.2 Results . . . . . . . . . . . . . . . . . . . 5.1.3 Adjustments made due to User Feedback 5.2 Final Evaluation . . . . . . . . . . . . . . . . . . . 5.2.1 Method . . . . . . . . . . . . . . . . . . . 5.2.2 Test User’s profiles . . . . . . . . . . . . . 5.2.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 45 46 47 48 48 49 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Conclusions 55 Bibliography 56 List of Figures 2.1 The Wii Remote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 The Wii’s Nunchuk accessory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 3.1 Conceptual Model Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 35 35 35 40 40 40 42 42 42 42 42 42 Initial sketch of a level . . . . . Actions of the Ball character . . Actions of the Square character Level 1 of the first prototype . . Level 2 of the first prototype . . Level 3 of the first prototype . . Level 1 of the second prototype Level 2 of the second prototype Level 3 of the second prototype Level 4 of the second prototype Level 5 of the second prototype Level 6 of the second prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x LIST OF FIGURES List of Tables 2.1 2.2 2.3 2.4 Driver and API License Overview . . . . . . . Wii Remote Support Overview . . . . . . . . Wii Remote Extra Features Support Overview NunChuk Support Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 23 23 24 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 Sample Characteristics . . . . . . . . . . . . . . Experience with the Wii . . . . . . . . . . . . . . Game Evaluation Overview . . . . . . . . . . . . Level Difficulty Evaluation . . . . . . . . . . . . . Evaluation of the Fun of each level . . . . . . . . Level Evaluation from a Character’s Perspective DGD1 profiles of the sample . . . . . . . . . . . Casual vs Hardcore . . . . . . . . . . . . . . . . Concentration . . . . . . . . . . . . . . . . . . . . Challenge . . . . . . . . . . . . . . . . . . . . . . Player Skills . . . . . . . . . . . . . . . . . . . . . Control . . . . . . . . . . . . . . . . . . . . . . . Clear Goals . . . . . . . . . . . . . . . . . . . . . Feedback . . . . . . . . . . . . . . . . . . . . . . Immersion . . . . . . . . . . . . . . . . . . . . . . Social Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 46 47 47 48 49 49 50 50 51 52 52 52 53 53 xi . . . . Chapter 1 Introduction Nowadays, some of the most successful games offer some sort of cooperative gameplay. In fact, one of the most successful games of the market is an MMORPG1 , a game genre which tends to be very focused on cooperation between different players (we are of course referring to World of Warcraft2 ). Similarly, several other high profile games have a cooperative nature - Counter-Strike3 , one of the most popular Multiplayer FPS4 games ever, is essentially a game where players cooperate in teams while attempting to defeat the other team; More recently, Valve (the company behind Counter-Strike) has released Team Fortress 25 , a sequel to one of the most popular QuakeWorld mods, uses a class-based teamplay as one of its core mechanics (much like the original mod). Other games have suddenly returned the focus to the possibility of playing games cooperatively, such as was present on most games during the early years of the games consoles - Lego Star Wars6 and its sequel are clear examples of this type. These are games that allow a second player to join in on the fun, despite being able to be played in single-player mode; The latest Mario, Super Mario Galaxy7 , also allows a second player to play cooperatively. This sudden re-emergence of cooperative play is supported by the fact that studies on the demographics of players suggest that there is a whole group of potential players that currently do not play because games are not made for them[1]. This group favors cooperative experiences and play experiences shared with others in the same physical space. This fact may justify the success of Nintendo’s Wii and some titles such as the Buzz8 series. Another important benefit of cooperative modes, is that they allow players of different skill levels to play together. This is their main advantage to competitive player modes. In competitive player modes, the difference in skill levels between a novice player and an expert player can make it impossible for a novice player to enjoy the game. This causes a huge barrier to entry for new players which can prevent the expansion of a game’s player base[7]. Due to its wide user base, interesting and different controller, in addition to its already giant success in attracting non gamers, the Wii console is a clear opportunity to attempt to reach the previously mentioned 1 Massive Multiplayer Online Role Playing Games of Warcraft official website: www.worldofwarcraft.com 3 Counter-Strike official website: www.counter-strike.net 4 First Person Shooter 5 Team Fortress 2 official website: orange.half-life2.com/tf2.html 6 Lego Star Wars official website: www.legostarwarsthevideogame.com 7 Super Mario Galaxy official website: www.supermariogalaxy.com 8 Buzz official website: www.buzzthegame.com 2 World 1 2 CHAPTER 1. INTRODUCTION demographic. In order to reach this demographic, we developed a simple co-located cooperative game named Geometry Friends that uses the Wii Remote for input. This document is organized into six chapters. The first chapter is this introduction, in which we expose the motivation behind this project and the structure of this document. The following one presents several existing concepts that are helpful when designing a cooperative game. We start by presenting the concept of gameplay challenges[9] as proposed by Rollings and Adams. It then continues to explore the notion of design patterns as applied to gameplay elements[2]. The following section exposes relevant social psychology theories for cooperative games - the Ringelmann effect[6] and Steiner’s task typology[14]. After this initial presentation, we analyse some successful games with cooperative elements so that we can understand how they manage to create interesting cooperative experiences. Finally, we present information regarding the Wii console, the Wii remote and the current development stage of using a Wii Remote on the PC. In chapter three, we present the conceptual model used for developing Geometry Friends. We start by gauging the potential for cooperation of each of the task types presented in the previous chapter. This allows us to quickly assess wether a task is supportive of cooperative gameplay by determining its task type. We the proceed to examine how the challenge types are used to promote cooperation and which archetypical challenges exist within each type. The last section of this chapter presents game design patterns that are used to support and promote cooperation in games. The following chapter, chapter four, presents our work in developing a simple two player cooperative game using the Wiimote. It begins by laying out our high concept for the game. We continue this chapter by exposing the technological solutions we chose to employ in the development of the game, as well as the justifications for their use. In the next chapter we present our evaluation process and results from testing the game using two different methodologies. One based on a questionnaire that was constructed by us, while the other is based on Gameflow’s Criteria for Player Enjoyement[16]. The last chapter exposes the conclusions we drew from our work in this game. Chapter 2 State of the Art In order to better understand how a game can be made to be more cooperative, several theories were analysed - Gameplay Challenges, Game Design Patterns and Social Psychology theories. 2.1 Challenges Rollings and Adams define gameplay formally as: "‘One or more casually linked series of challenges in a simulated environment"[9]. This definition of gameplay makes us understand the potential utility of challenges when designing a cooperative game. If gameplay is viewed as series of linked challenges, surely, by making sure that the challenges used effectivly promote cooperation, we design a better cooperative game. They also propose a categorization of gameplay challenges [9]. This categorization separates the challenges into two groups - Pure and Applied Challenges. They also define two other classes of challenges implicit (a challenge that is not specifically designed, and is instead an emergent feature of the game design) and explicit (intentionally designed challenges). 2.1.1 Pure Challenges Pure challenges are singular units of gameplay, and as such limit themselves to a particular archetype of gameplay. Typically, in games, challenges are hybrid and rarely appear in their pure form. Logic and Inference challenges "‘This type of challenges tests the ability of players to assimilate information and use that information to decide upon the best course of action"[9]. Logic challenges are usually applied in games with perfect information (games where the players know the complete state of play). Whereas Inference challenges are typically present in games with imperfect information (games where players do not know the complete state of play), in which players must atttempt to draw conclusions about the hidden parts of the state of play. 3 4 CHAPTER 2. STATE OF THE ART Lateral Thinking challenges "‘A lateral-thinking challenge tasks the player to draw on their previous experience and knowledge and combine them in a new and unexpected way "[9]. The knowledge used to surpass these challenges can be either intrisic (obtained inside the game world) or extrinsic (gained outside the game world, real life for example). Memory challenges "‘Memory challenges tax the player’s memory of recent (and sometimes not so recent) game events"[9]. They rely only on memory of game events, and not memory of events that happened outside the game. It is important to note that these challenges appear quite often in games as implicit challenges. Intelligence challenges "‘Intelligence-based challenges rely purely on the intelligence quotient of the player "[9]. This type of challenges does not exist in its pure form in games, the only place where this type of challenge is present is in intelligence quotient (IQ) tests. They often appear as a part of other challenges. A more intelligent player will perform better in a game that uses the more cerebral challenges. Knowledge challenges "‘These rely on the knowledge of player "[9]. They can be dependent of intrisic knowledge or extrinsic knowledge. Intricic knowledge challenges exist in practically all games, but are most common to games with a heavy emphasis on background story and characters (such as role-playing games and adventure games). Extrinsic knowledge challenges are quite common in quiz-type games such as Trivial Pursuit. Pattern-Recognition challenges "‘The impressive abilities of the human brain mainly stem from one basic ability: pattern recognition"[9]. This ability can be used effectively in games, by making the player have to recognize a pattern of attack (Super Mario Advance), a complex system for spells (Dungeon Master) or even secret rooms (Doom). It is important to be careful when designing games around these challenges, because they can make or break a game - a player that can make 100% accurate preddictions about an entirely deterministic game will easily ruin the fun factor for other players. Moral challenges "‘High-level challenges that operate at universal, cultural, tribal and personal level. Each successive level affects a smaller area. Usually, lower levels have precedence"[9]. Universal moral challenges are invariant no matter what the context is. They concern the good of all living beings within the confines of the simulated universe, this type of challenges assumes a single correct choice independently of your own position. Cultural moral challenges relate to the good of a culture (a loosely affiliated collection of individuals all living by roughly the same standards) as a whole, unlike universal moral challenges, by 2.1. CHALLENGES 5 changing the point of view to that of another culture the correct choice will change aswell. Tribal cultural challenges deal with the good of any group of closely affiliated individuals. Personal cultural challenges are a moral choice made for an individual with a direct outcome on that individual’s own well-being and state of mind. An interesting way to create moral challenges is by challenging the player on different moral levels at the same time (i.e. the needs of the many outweight the needs of the few). Spatial Awareness challenges "‘The purpose of this type of challenge is to test the spatial awareness of the player "[9]. Typically, spatial awareness challenges are implicit, and as such have only been explored implicitly with success in a handful of games such as Snakes and Tron. Flight simulators, space-flying games and 3D combat games usually rely heavily on spatial awareness challenges. Coordination challenges "‘This type of challenges tests the ability of the player to perform many simultaneous actions."[9] They are usually found combined with reflex/reaction time challenges. The pure form of this challenge does not depend on any time constraints, but this challenge is only found occasionally in its pure form. It is important to consider the degree of precision that this type of challenges should require - allow a degree of sloppyness or require a delicate touch. A concept that is associated with coordination challenges is timing - "‘the ability to overcome an obstacle by coordinating player moves with something else happening on the screen"[9]. Another important concept to grasp is the notion of special moves - "‘special abilities that are triggered by using a complex sequence of joystick moves and button presses". Games that rely too heavily on special moves are difficult to balance due to the emphasis on the physical dexterity of a player. Reflex/reaction challenges "‘Testing the timing abilities of the player is the focus of this type of challenges"[9]. It is uncommon to find this type of challenges used in an isolated form and, as was stated above, it is quite common to find coordination challeges combined with these. Usually, these challenges are a factor in most games, and only a few types tend not to rely on them - turn-based games, adventures and role-playing games. Physical challenges "‘Like expected physical challenges challenge the physical being of a player "[9], and this is in part the reason why they are rare in games. This is mostly due to the fact that most input methods for computer games are inadequate for this type of challenge, and supplying an adequate intput device is expensive. However with advent of the Wii, and the propagation of accelerometer techonology to the other two consoles, it has become more common to find this type of challenges in games. 6 CHAPTER 2. STATE OF THE ART 2.1.2 Applied Challenges "‘An applied challenge is the combination of one or more pure challenge forms applied to a given gameplay situation or style"[9]. Race "‘A race is an attempt to accomplish something before someone else does"[9]. This can be extremely varied, from an actual physical race through space, to a race for accumulation of resources, to practically anything else. Despite our typical perception of races as competition without conflict they can be combined with conflict as well. Due to the fact that races put time pressure on a player, they discourage careful strategic thought and instead encourage direct, brute force solutions. Puzzles "‘A puzzle is primarly a mental challenge"[9], that typically is presented as a lock that when solved opens up another part of the game. Due to the difference in brainpower in each individual, a time limit on a puzzle may make the puzzle impossible for some players. Puzzles that require trial and error to complete are a case of bad game design, and should instead be solved by considering the hints and clues provided inside the game. Exploration "‘Exploration is a key element of many games and is often its own reward"[9]. Despite this, exploration cannot be devoid of challenge or it becomes merely sightseeing, which is quickly exhausted. Some common obstacles exist to pose challenges to a player’s exploration: 1. Locked door - A common obstacle is the locked door, this does not have to be a literal locked door, but can be "‘any device that can prevent player progress until the player has done something to unlock it"[9]. 2. Trap - Another typical obstacle to exploration is the trap - "‘a device that somehow harms the player’s avatar when it is triggered"[9]. It is important to note that, for players, the real fun to be had with traps comes from finding them and disabling. 3. Maze - "‘An area where every place looks alike"[9]. The player needs to discover how the places are related to get out, usually by wandering around. In good mazes, there are usually clues to the maze’s organization found in the rooms, while in poor mazes the player needs to find the way out by trial and error. 4. Illogical spaces - "‘Illogical spaces are a variant on the maze theme"[9]. Going South of area A to area B and then North of area B does not bring back to area A, and thus the players are required to keep a map so that they can find their bearings. This type of obstacle should be used sparringly and only in places where there is an explanation for it. 5. Teleporters - A teleporter is any mechanism that suddenly transports the player from where he is to somewhere else. They are the modern equivalent of illogical spaces. Teleporters can be one-way (allowing for a one way trip only) or two way (they allow the player to teleport back to his previous 2.1. CHALLENGES 7 position). Hidden teleporters can make an area very difficult to explore, if there are many of them in the area. Conflict "‘To win a game, a player must beat the other players. If he beats them by attacking them directly in some way, the game is about conflict"[9]. The challenges associated with conflict depend on the following: • Scale of the action - from individuals to whole armies. • Speed at which the conflict takes place - from turn-based (allowing all the time you want) to frenetic activity. • Complexity of victory conditions - from simple survival to complex missions with goals and subgoals. Scale • Strategy - "‘Strategy is the mental act of planning: taking advantage of your situation and resources, antecipating your opponent’s moves, knowing and minimizing your weaknesses"[9]. Strategic challenges require that the player assess the game situation carefully and devise a plan of action. Pure strategy games favour players with a certain type of talent, and appeal more to these players. Due to the fact that games try to appeal to a broader audience, strategic challenges tend to include elements of chance and missing information. • Tactics - "‘Tactics involves putting a plan into execution, the process of accomplishing the goals that strategy calls for "[9]. Responding to unexpected events or conditions also falls into the domain of tactics. Tactical games that require no strategy are possible - a small squad combat game in which the soldiers are always moving into unknown territory contains no opportunities for strategy. • Logistics - "‘Logistics deals with supporting troops in the field and bringing fresh troops to the front lines"[9]. Most computer games avoid most of the logistical challenges posed by real life warfare, such as bringing fuel and food to where they are needed, due to the fact that players find them boring and distracting from the main focus of the game - combat. However, there is one important logistical challenge in modern real-time strategy (RTS) games - weapons production (or unit production). In most RPGs the limited size of the character’s inventories presents another logistical challenge - a significant portion of the player’s time is spent equiping and balancing a party of different characters with all they require to fend off against the world. • Personal - "‘At a personal level, the player controls an avatar who battles directly against one or more opponents, often at very high speeds"[9]. The challenge of personal combat is immediate, exciting and visceral. Victory conditions • Survival - "‘The fundamental challenge in any conflict-based challenge is survival"[9]. Survival is about defending oneself, but many games require that the player defend other (usually defenseless) things. The player must prepared to sacrifice some things in order to protect others. In most conflict games survival in itself is not the victory condition, but it is nevertheless a key component to victory. 8 CHAPTER 2. STATE OF THE ART • Stealth - "‘Stealth challenges deal with the ability to move undetected"[9]. They are typically used in games when a player is placed in situations where he is at a disadvantage and direct combat is ill-advised. Economics "‘An economy is a system in which resources move around, either physically from place to place, or conceptually, from owner to owner "[9]. This does not necessarily imply money, any resource that can be created, moved, stored, earned, exchanged, or destroyed can be involved. Economic challenges are defined in terms of the flow of resources. In some games the challenge is simply to acumulate resources - the main challenge here comes from understanding the mechanisms by which wealth is created and to optimize them to his own advantage. A more interesting challenge, comes from attempting to attain a balance in an economy - produce too little of a vital resource and the whole economy grinds; produce too much, and it piles up, taking up space and wasting time and resources that could be better used elsewhere. A peculiar economic challenge involves looking after a small number of entities (or even a single one), the challenge is making sure their needs are met and perhapes improve their growth. Conceptual challenges "‘These require that the player understands something new"[9]. They often occur in construction and management simulations (where the player must come to understand the processes being simulated). From a game design perspective, they are the richest and most interesting to design because these offer broadest scope for innovation. However, they can be difficult to design and even more difficult to program. 2.2 Game Design Patterns In 2003, Björk and Lundgren propose the formalisation of game design patterns in a manner much like the one used by software design patterns[3]. Part of the intent of this formalisation is to have a well supported language that allows people to understand each other perfectly when analysing and designing games. The formalisation of design patterns, as proposed by Björk and Lundgren is as follows: 1. Name - As expected, states the name of pattern, Björk and Lundgren suggest that the names used should be short, specific and idiomatic, but not necessarily intuitive, so that it can provide mneumonic support after the description has been read. 2. Description - The description should be a concise description of the pattern, with notes refering to the game where it was identified, as well as examples of games where the pattern is typically found and also containing information on how the pattern can effect the structural framework. 3. Consequences - Should present the consequences and trade-offs of the solution that the pattern suggests, so that an educated choice can be made. 4. Using the pattern - This should present common choices that relate to the pattern’s usage, exemplified by specific game elements from published games. 2.3. SOCIAL PSYCHOLOGY 9 5. Relations - Describes how a pattern relates to other patterns, i.e.: possible conflicts between the usage of different patterns alongside this one, patterns that are either a more general abstraction of this pattern, or a more concrete implementation of the pattern described. According to the authors, one of the important aspects of their choice of design patterns over game mechanics as common language for game design, is that game mechanics can easily be turned into a design pattern, while the opposite is not true. The relevance of design patterns in this work, as opposed to challenges, is that they allow us to formalise more abstract aspects that help create a coooperative game. In order to reduce redundancy, we chose to only formalise the aspects that proved to difficult to formalise as challenges. Plus, challenges have the added benefit of using categories that aid in identifying in which game genre a specific type of challenge should be used. 2.3 Social Psychology In the field of social psychology, some work has been done in studying and classifying group tasks. We decided to include Steiner’s typology[14] due to the fact that it can be used to quickly assess the pontential for cooperation presented by the several challenge types - it is essentially, a handy assessment tool, that can help us understand the face value of any given challenge for cooperation. We also present an interesting phenomena that happens in groups (and which is also clearly visible in most large group games) - the Ringelmann effect[6]. 2.3.1 Ringelmann effect An interesting effect that happens when groups of people perform tasks is known as the Ringelmann effect - imagine that if individual people were able to pull at an average weight of 63 kg by themselves, two people working in group will not pull a weight of 126 kg, neither will three people be able to pull 189 kg. The number of people in a group has an inverse relationship with the individual effort. Steiner proposes that this is caused by deficient effort coordination. Another alternative justification for this problem is that members of the group decrease their motivation. 2.3.2 Task Classification Steiner[14] proposes a typology of group tasks: • Divisibility - divisible (doing a math proof) versus unitary (e.g., reading a page) • Optimizing - maximizing/optimizing (optimizing is a term used for qualitative measures, such as [writing a good essay]) or minimizing • Combinability – Additive - group result is the sum of those of its members-e.g.: group pulling a weight using a rope – Compensatory - group result is the average of those of its members-e.g., estimating a pig’s weight based on farmers’ guesses – Disjunctive - group result is a chosen outcome from some member 10 CHAPTER 2. STATE OF THE ART – Conjunctive - group result requires every member to contribute-e.g.: a relay race – Discretionary - group result depends on how individuals’ results are weighted. 2.4 Game Analysis In order to better understand the game mechanics of cooperative games, several game titles with cooperative gameplay options were examined. This allowed for a better understanding of common mechanics between several titles, and how certain cooperative game mechanics transcended genres. 2.4.1 World of Warcraft One of the most popular MMORPGs is World of Warcraft[4]. Like City of Heroes, and many other RPGs, this game also uses a class template in order to make the gameplay varied. Each one of the games’ classes typically fulfills a role within a group, the most typical way to define the roles each character plays within a group is called the Holy Trinity[31]: • Tank - The purpose of this role is to soak most of the damage done by enemies. Typically, tanks can take more damage than characters performing the other roles before dying, plus they also mitigate and avoid more of it than others. • Healer - As expected, the purpose of this role is to heal the members of the group, in order to keep them from dying. • Damage Dealer - Characters playing in this role will deal most of the damage done to enemies by the group. There are two types of damage dealers, ranged and melee damage dealers. This game currently has ten classes that players can play as: • Druid - a shapeshifting class that can choose to play as either one of the three roles and is also capable of stealth; • Hunter - a ranged damage dealer that has the support of a pet, that is able to set traps; • Mage - a ranged damage dealer; • Paladin - a holy warrior that is able to be played as a tank, healer, or melee damage dealer; • Priest - a class that can choose to play as a healer or as a ranged damage dealer; • Rogue - a melee damage dealer with stealth, that is capable of opening locks and disarming traps; • Shaman - a class that is capable of being a healer, melee damage dealer or ranged damage dealer; • Warlock - a ranged damage dealer that has demonic minions as pets; • Warrior - a class that can fill the role of tank or melee damage dealer; • Death Knight- a Hero class added in the latest expansion that can be played as a melee damage dealer or as a tank; World of Warcraft is a real-time conflict game at a personal scale, but, due to it being a MMO, is somewhat open-ended and victory conditions as such do not exist for the game itself, but rather for specific aspects of the game. An important separation in WoW and most MMPORPG’s is the difference between Player versus Player (PvP) and Player versus Environment (PvE). 2.4. GAME ANALYSIS 11 In PvE players fight against computer controlled enemies and the gameplay revolves around doing quests and dungeons. The objectives of quests are too varied to list here, but the game allows the sharing of quests so that grouping with other players is both encouraged and viable. Players also have the option of going into dungeons. These have tougher enemies, and while most of the content that exists outside it can be easily done by a single player, dungeons are made for groups of players. Most dungeons are intended for groups of five players, while the bigger ones (which are also known as raids) are intended for groups of 10 or 25 players. Due to the way that this dungeons are setup, they require a certain amount of tanks, healers and damage dealers. Healers support the group by keeping it alive, Damage Dealers support it by dealing damage to the enemies and Tanks support it by minimizing the damage that it takes. PvP in WoW is separated into three types - World PvP, Battlegrounds and Arena. The victory conditions depend on the type of PvP in which players are engaged in: • World PvP - This type of PvP action is typically without goals or objectives, it mostly comes down to a simple question of survival. However, certain zones of the game have more complex and optional objectives. These typically involve capturing certain zones, or grabbing and taking an object into a capture point. • Battlegrounds - These are essentially PvP maps that have a player limit in them. Objectives are varied and depend on what battleground you are in – Warsong Gulch[34] - A typical Capture the Flag map where the first team to achieve three captures wins. This variant does not allow players to perform a flag capture if their flag is not in its starting position. This causes most of the action in this battleground to occur around the flag’s starting position and the flag carrier’s position. Which in turn makes it hard for a single player to succeed in grabbing a flag or taking down a flag carrier. Some of the classes in this game are better at carrying and running flags beacause they have better survivability and mobility. Flag carriers are key part of this battleground and should be supported by their teams; – Arathi Basin[28] - A capture and hold type of map where players must capture certain zones and keep control of it so that they can generate points periodically (the first team to 2000 points wins). There are only five locations to capture in this map and they are captured by using a flag. While doing so, a player is unable to do anything else and any damage taken will stop prevent the capture. This makes it important for a team to support and protect allies that are attempting to capture a location. It is quite common that the classes that can use stealth try and capture a location while the opposition is focused elsewhere; – Alterac Valley[27] - Here, the objective is depleting your opponents’ reinforcements (killing members of the enemy team reduces their reinforcement count by one, eliminating their general is an instant victory, capturing certain buildings and eliminating other non player characters also reduces their reinforcement count). Capturing a building works the same way as in Arathi Basin, and, despite not being vital to winning the map, there are some important benefits to doing so. A captured graveyard helps with the logistical aspect of conflict, letting players that have died respawn closer to where the action is taking place. A team’s general is protected by four characters, these are linked to that team’s four towers. If the towers are captured for the first time they are despawned. This makes it easier to eliminate the enemy’s general not only because he loses protection, but also because while these characters are alive the general is stronger; 12 CHAPTER 2. STATE OF THE ART – Eye of the storm[30] - A mixture between Warsong Gulch and Arathi Basin, is a race for points where having control over towers yelds points periodically, and capturing a flag (that starts in the center of the map) in one of your towers also awards a number of points (depending on how many towers that team is holding). Unlike the other battlegrounds that allow the capturing of locations, in Eye of the Storm capturing does not require using a flag. Instead the team that has the most players in a location will start capturing it. This provides incentive for players to group together so that they can capture a location. Like in Warsong gulch, certain classes are better suited for flag carrying; – Strand of the Ancients[33] - In this battleground, teams take turns attacking and defending a relic. The team that captures the relic in the shortest ammount of time wins. In order to reach the relic the attacking team needs to destroy the walls that are blocking the way. Similarly to the Alterac Valley battleground, graveyards can be captured so that a team can reinforce its front lines more quickly. However, only the attacking team can do so, and the defending team cannot recover a captured graveyard. One of the main focus for the attacking team is using siege weapons to break down the walls. The defending team has turrets at the walls that help them deal with these siege weapons and enemy players. Another way to break down the walls is by using explosive charges that they can pick up at special places. These deal 25% damage to the wall after 10 seconds. Defending players can defuse them and it is imperative that they do so. In this battleground , it is important for players to support (in the case of the attacking team) or work together to destroy (in the case of the defending team) siege weapons due to their importance to the race challenge ineherent to the victory condition. • Arena[29] - This is the simplest PvP battle, the objective of which is simply eliminating the other team. The are three size formats in the Arena: two versus two, three versus three and five versus five. The small scale of this makes every player an extremely important part of the team, where losing even a single teammate can put your team at a severe disadvantage. This is the reason why healing is vital to a team in the Arena in all but smaller format. Since we are dealing with a computer RPG, there is a logistical challenge to the game in the form of equipping a character with suitable gear. This is a central piece of the gameplay in most MMORPGs, and, since most of better gear is obtainable only in high level dungeons (or raids) or through the PvP system, it is one of the most important incentives that players have to group together. Like many other MMORPGs, there are professions[32] that players can choose to take, these usually fall within the crafter or gatherer category. This allows for a form of cooperation to emerge between gatherers and crafters. By using the game’s auction houses and currency, gatherers can sell the raw materials obtained from their profession while crafters then buy them and transform them into other items (or gear) that players can then use. 2.4.2 Lego Star Wars Lego Star Wars: The Video Game[24] is a platform game that can be played cooperatively with two players (or alternatively, the second player can be played by a the game’s Artificial Intelligence). The games consist of essentially two modes - story mode and free play mode. Free play is unlocked after finishing a level in story mode. While in story mode the objective is simply reaching the end of the level, in free play mode, players scounder the levels trying to amass lego studs and kit pieces (an economic challenge). The lego studs are scattered throughout the levels or dropped by enemies and can be used 2.4. GAME ANALYSIS 13 to purchase additional characters, cheats and some fun items. This game uses a class-based design in order to distinguish its types of characters, and it has six different and useful types of characters: • Jedi - This type of characters can double jump, allowing them to reach higher places. They can also use the force on certain items or lego blocks to solve puzzles. They attack enemies at melee range and deflect blaster shots with their lightsabers; • Sith - The dark Jedi have the same abilities as normal Jedi, but they can also manipulate certain objects with the dark force; • Super Jumper - Characters that are part of this type can jump even higher than Jedi, making them great for collecting items that seem to be out of reach; • Grappler - Blaster wielding characters can shoot targets at a distance and also use a grapple on certain platforms to reach higher places; • Protocol Droid - This type of character is unable to jump or attack, its main ability is opening and using certain doors or switches; • Astromech Droid - Like the Protocol Droid type, these can also open some special doors and switches and are unable to jump, but additionally they can hover in the air for a certain period of time. Despite not being able to attack enemies they can stun them for a brief period of time with their taser. This game focuses heavily on puzzles, most of them require that the player uses a particular type or types of character in order to move forward or acquire a kit piece. Other puzzles require players to use multiple characters to pull levers or press floor plates simultaneously (which is also a coordination challenge). As expected of a platform game, spatial awareness, coordination and reflex/reaction challenges are present throughout the game and an integral part of the gameplay. This real-time game has several conflict challenges at a personal scale and allows opportunities to use strategy and tactics to quickly resolve these. However, the conflict challenges present in this game are quite forgiving. The only penalty for dying is dropping a part of the studs you have amassed in the current level which you can then collect before they disappear. Health is plentiful in the game, which makes the related economical challenge easy and also helps make combat more forgiving. Playing this game with a second player, not only allows players to progress through the game faster than by using the game’s AI partner, but it also makes it easier to recover the pieces that are dropped when a player dies. 2.4.3 Team Fortress 2 The latest installement[13] of the Team Fortress series does not stray too far from the Team Fortress[25] and Team Fortress Classic[26] - it still is, in its essence, a real time conflict game at a personal level. However, the game has refined the old Team Fortress game modes and introduced some new ones with interesting new victory conditions: • Capture the flag[23] - Team Fortress 2 provides a variant of Capture the Flag (a gameplay mode where the objective is capturing the enemies’ flag). The objective is being the first team to achieve a set number of captures (typically three) before the time runs out. The major difference between this variant and most CTF gameplay modes in other games is that a player can make a capture while his own flag is not in its starting position; 14 CHAPTER 2. STATE OF THE ART • Control Point[23] - This gameplay mode is centered around control points (areas of a map that can be captured by a team). These are captured by having more players than the opposing team on them over a duration of time. It comes in two variants: – Traditional Control Point[23] - Maps played in this mode are symmetrical, with both teams starting with the same number of control points, and an additional uncontrolled one in the middle. The team that manages to capture all control points wins. – Attack/Defend[23] - The RED team starts with all control points and must prevent the other team (BLU) to capture them. The BLU team wins if it can capture all the control points; • Territorial Control[23] - This gameplay mode is best explained as a campaign of small Traditional Control maps, where the objective is capturing the opposing team’s home territory. When attacking a team’s home territory, the gameplay switches to the Attack/Defend mode; • Payload[23] - The objective of this mode for the BLU team is to escort a cart full of explosives through a series of checkpoints and into the RED team’s base in a limit of time. The cart is pushed by having players near it; • Arena[23] - In this gameplay mode, dead players do not respawn and victory can be achieved either by wiping out the enemy team, or by capturing a control point in the center of the map that unlocks after one minute has passed. When a map ends without any team achieving its objective the game goes into sudden death mode. In this mode players that are killed will not respawn, while in this mode survival becomes much more important. This emphasis on survival is also shared by the Arena gameplay mode. Team Fortress 2 is a class-based FPS game where players have a choice to play as one of nine classes: • Scout[22] - The fastest class in the game carries a short range double-barreled shotgun and is able to double jump. This high mobility makes the Scout perfect for flag carrying on CTF maps. He also counts as two characters for the purpose of pushing mine carts and capturing locations. This makes the scout valuable addition to a team in these types of maps; • Soldier[22] - One of the slower characters in the game, the Soldier has a rocket launcher and high health. This allows him to take vertical shortcuts by rocket jumping (a techinique that involves jumping and shooting a rocket into the ground to jump higher) into higher ground. The rocket launcher is a high damage weapon that makes the soldier an intricate part of a team’s attack. The rocket’s splash damage and knockback allows the soldier to control areas which makes him well suited for defense aswell; • Pyro[22] - The flamethrower yelding character has medium speed and health and is able to use a compression blast to push rockets and explosives in another direction. The high spread of his weapon can be used to ignite cloaked or disguised spies. Additionally, he can be quite useful as an ambush class due to its area of effect weapon; • Demoman[22] - Another medium speed and health character, this one specialises in explosives which allows him to setup sticky bombs as traps that can be exploded on demand. This makes the Demoman perfect for controlling zones both in a team’s offense and defense by adding a trap challenge to exploration. A typical usage of sticky bombs is protecting either your team’s flag with it, a capture point or even the cart. His secondary weapon throws grenades, which like the soldier’s rockets can also be used to control areas. • Heavy[22] - This class has the highest health and the slowest speed in the game, its weapon is a minigun. The minigun’s high rate of fire and wide cone allows him to quickly dispose of most 2.4. GAME ANALYSIS 15 enemies, aswell as taking one a large number of enemies. This allows the Heavy to control zones despite not having an explosive weapon. However, the minigun needs to spin up before firing and firing it forces the Heavy to move extremely slowly making him an easy target (specially for enemy snipers). Heavys are one of the medic’s best healing target due to their high health and potential for damage and it is quite common to see them together; • Engineer[22] - The Engineer is able to build sentry guns, teleporters and dispensers. These make the Engineer focus on the logistical aspect of conflect by protecting areas, allowing allies to resupply and help them reach the front lines quicker after respawning. The dispenser can also be used as trap (it can be exploded on command by the Engineer that built it). Despite being primarly used in a team’s defense, the engineer can help secure the several resupply zones that exist in maps or even create one for his team’s offense; • Medic[22] - Healing other players is this class’ primary ability. He is also able to make himself and another player invulnerable for a period of time, or boost another player’s damage. While healing other players he is able to grant them more health than their maximum health, giving them a bonus of health that slowly fades away if the medic stops healing. The Medic is essentially a support class, despite being able to stand on his own, he is clearly and important asset in resupplying teammate’s health (which like the engineer, supports the logistical scale of conflict) in both offensive and defensive duties; • Sniper[22] - This low health class is mostly for long range support. The sniper rifle allows him to kill every class in the game with a single shot as long as it is fully charged. This makes the Sniper perfect for eliminating high priority targets. However, at close range the sniper is somewhat weak class. This makes it beneficial to play the sniper stealthly, hiding in hard-to-see areas in order to avoid getting killed; • Spy[22] - This class emphasizes stealth over direct conflict by being able to become invisible for a short time, disguise himself as another class and as a member of the other team. Additionally, he can disable and destroy engineer’s structures while keeping his disguise and quickly kill enemy players by backstabing them. This makes the Spy a perfect unit to infiltrate and disrupt the enemy’s defenses. The various strength and weakness of characters gives players the possibility of complementing each other as team in order to achieve victory in a map. An interesting aspect of this game is that the game itself labels the characters according to three types - Offensive (Scout, Soldier and Pyro), Defensive (Heavy, Demoman and Engineer) and Support (Spy, Sniper and Medic). However, this labeling does not mean that the classes are restricted to being played in these types of roles. Offensive classes are quite often used defensivly, as are Defensive classes used offensivly. The Support classes can used either offensivly or defensivly, and are able to pull their own weight without requiring the assistance of teammates. In a sense, Offensive and Defensive classes can support other teammates by providing cover fire and protecting them from enemies they are unable to attack or spot. 2.4.4 Left 4 Dead This recent game[12] is a cooperative First Person Shooter set in a zombie apocalypse. The typical campaign mode[19] allows up to four players (there are four characters that compose a group, when they are not being controlled by players, the game’s AI takes over) to play cooperatively against hordes of zombies while trying to escape from zombie infested scenarios. The four human characters’ goal is 16 CHAPTER 2. STATE OF THE ART to reach a safe house at the end of each level or an escape vehicle in a campaign’s final map. Besides allowing players to use a melee attack, the game also provides a variety of items and weapons[21] to assist players in fighting off the zombies: • A primary weapon - There are two tiers of primary weapons, each tier has a shotgun, and automatic weapon. The second tier also has a hunting rifle for sniping. Weapon resupplies are spread around the levels, and players can exchange them freely at these zones; • Sidearm - Players start with a single pistol, but can also pickup a second one to duel-wield. Pistols require reloading but have unlimited ammo; • Ammo - Throughout the levels, players will find stacks of ammo where they can refill their ammo freely; • Grenade - The game has two types of grenades (of which a player can only carry one at a time), a pipebomb and a molotov cocktail. The pipebomb is thrown and attracts zombies to it due to its beeping sound, while the molotov coktail leaves a field of flame that burns down enemies; • Health items - Pain pills provide a temporary boost to health, stop you from limping, and can be handed to teammates in need. First-aid kits restore health permanently to a player, these can be used either on yourself or teammates. Players can carry one of each of these types of items; • Area of effect carryables - In the levels you will find gas tanks, oxygen tanks and propane tanks that you can carry in your hands (thereby making a player unable to use his weapons, but still able to use the melee attack). These items are useful for game events where players know they will be attacked by an horde of zombies, due to the effect they have after being shot at (propane tanks explode, gas tanks leave a wide field of flames around them, while oxygen tanks vent flames for a briefly before exploding); • Minigun - In certain areas of a level, players will find a floor mounted minigun to help them hold of the zombie hordes that will come as part of level event. These miniguns are extremely powerful, but can only shoot in a 180 degree radius. An important aspect to consider in this game, is that players on the human team (also known as Survivors[20]) can become incapacitated and require assistance of a teammate in order to get back to their feet. Incapacitated Survivors, typically, are able to shoot in order to provide cover for the players trying to help them get to their feet. This, in addition to the sheer numbers of zombies that attack at certain points in the game, makes it extremely hard for players to go off by themselves while playing the game, rewarding cooperative play. At the end of the last map of a campaign, a race challenge exists, where players are forced to quickly evacuate the level or risk being overrun by massive hordes of zombies. The map will only end when all live Survivors are inside the evacuation vehicle. It can be extremely difficult to survive this last bit of a campaign (specially on the harder levels of difficulty) without players assisting each other. This game has a second gameplay called Versus[19]. This mode allows a second team to play, one team takes the role of the Survivors, while the other takes the role of the special zombies (also known as Infected[18]). The players on the human team need to escape, while the ones on the zombie team need to prevent them from doing so. The map ends when the human team escapes or when all humans are killed. The teams are then reversed, making the players replay the map as the opposite team. After both teams play as both factions, the game calculates the score for both teams and moves on to the next map in the campaign and this process continues. At the end of the campaign the final scores are displayed. The zombie team players will shift around between four classes of special zombies, and are able to choose their spawn position: 2.4. GAME ANALYSIS 17 • Boomer - This type of special zombie can vomit on human players, calling forth a horde of zombies for each survivor vomited on. Additionally, when killed the boomer explodes and covers nearby Survivors with bile, achieving the same effect as if the boomer had vomited on them; • Hunter - A special infected that is capable of wall-jumping and use long-distance jumps to pouce on top of a survivor (leaving him pinned until his allies kill or use a melee attack to get the Hunter off him); • Smoker - This coughing and wheezing infected is capable of using his huge tongue to pull a survivor towards him (leaving him defenseless, until the tongue is shot at or the smoker killed). When killed he leaves a cloud of smoke behind obstructing the Survivors’ view. • Tank - A particularly dangerous special type of infected that is capable of incapacitating Survivors in a few punches. The tank is also able to withstand quite a lot of damage and throw cars and debris at Survivors. One of the most important aspect in playing as infected is coordinating attacks. Any non-tank infected can be quickly eliminated by a team of Survivors. But, by coordinating attacks with each other (and even computer spawned hordes of zombies), it is possible to spread enough chaos to make sure that the players on the Survivor team cannot assist each other. The game uses an artificial intelligence system for game pacing, dramatics and difficulty called the Director. Due to the fact that this entity can spawn extra hordes of zombies if the players take too long in progressing throught the level, there is a certain Race challenge aspect to the game. Exploration is quite necessary so that players can find ammo, health, or even grenades, particularly in the higher difficulty settings where they are rarer. This game is a real-time game of conflict at a personal scale with simple victory conditions (Survivors must get at least a member from point A to point B, while Infected must prevent them from doing so). However, the other levels of scale are also represented - at a strategical level, players will typically plan out how to defend themselves against the waves of zombie horde before a major event in a level; due to its many unknown elements the game has a high emphasis of the tactical level; the logistical level of conflict is visible in the challenge players face when they choose which weapon or type of grenade to take, and by allowing them to move certain exploding objects to use to their advantage. An interesting aspect of this game is that a particular type of enemy the Survivors face (the witch, a special type of computer controlled Infected) is better off avoided, hence the presence of a stealth component to the the conflict. This game has economic challenges in the form of sharing and managing some of the more limited resources - health items and grenades. Additionally, in the harder gameplay modes, managing ammo becomes quite important, due to its increased scarcity. There are some exploration challenges present in this game - Survivors face the threat of additional zombies when they go exploring, and they should stick close together so that they can avoid becoming incapacitated by themselves (which typically leads to death); Infected, on the other hand, are unable to open doors and must destroy them (Survivor players typically close doors behind them) in order to reach the Survivors. 2.4.5 Counter-Strike Counter-Strike[11] is one of the most popular online games where a Counter-Terrorist team faces of against a Terrorist team for a certain number of rounds on a map. This real-time game is entrenched with conflict challenges at a personal scale, where tactics and strategy are involved in achieving victory. It allows a team of players to face off another team of players in a wide variety of scenarios that have different victory conditions. These depend on both the type of map that you are playing and team in 18 CHAPTER 2. STATE OF THE ART which you are playing: • Bomb - In this type of map, the Terrorist’s team objective is planting a bomb and detonating at a bombsite, while the Counter-Terrorist team’s objective is preventing that from happening within the time limit. Additionally, either of the teams can win a round by eliminating the other team (as long as the bomb is not planted), so we also have a survival aspect to this type of maps. Due to the importance of the bomb (and the bomb holder) it is common for the Terrorist team to escort the bomb carrier to a bombsite, so that they have a better chance at planting the bomb. While planting the bomb, a player needs to be stationary, and relies on the protection of teammates. After the bomb is planted, the Terrorist team needs to prevent the Counter-Terrorist team from defusing it. This makes the Terrorist team protect the bomb after it has been planted until it is about to explode. On the other hand, at the beggining of a round, the Counter-Terrorist team will usually protect the bombsites or even move to attempt to intercept the bomb carrier before reaching a bombsite. If they succeed in intercepting the bomb, and due to its importance for this type of map’s goals, they will typically defend it and try to prevent another Terrorist from picking it up. If the bomb is planted, the Counter-Terrorist team needs to figure in which bombsite it is, and assault it in order to defuse the bomb. Players that cooperate have the best chance to do so, since, like a player planting a bomb, a player defusing a bomb is vunerable and can not do anything else. Additionally, bombsites that have a bomb planted are usually protected by the remaining players of the Terrorist team; • Assassination - In assassination maps, a random member of the Counter-Terrorist will spawn as V.I.P. which the rest of the team must escort to a predetermined location in order to win the map. The Terrorist team needs to simply eliminate this V.I.P. before the time runs out or prevent him from escaping. As the Bomb type, a team can win by eliminating the other team. The vitality of the V.I.P. makes it important for the Counter-Terrorist team to escort and protect this player. Terrorist players can expect to find the V.I.P. heavily protected and will have more success in eliminating him by coordinating attacks with each other; • Hostage - The Terrorist team has a certain number of hostages at their starting location. It is the objective of the Counter-Terrorist team to rescue and escort all live hostages to a rescue point within the time limit. The Terrorist team must prevent the Counter-Terrorist team from doing so. Like the other two types, victory is achievable by eliminating the other team. At the beggining of the round, players on the Terrorist team usually use one or a mixture of the following strategies they will either protect the area where the hostages are located, or move to intercept and possibly flank the other team’s assault. Due to this, players on the Counter-Terrorist team need to rely on each other to achieve a successful assault on the hostage’s position. After this, it is beneficial for the Counter-Terrorist team to escort the player (or players) that are leading the hostages to the rescue point, so that they can protect them ambushes from players on the Terrorist team. This game allows players to purchase weapons and items that, due to their differences, allow for some variance in the type of gameplay players can expect (similar to what happens with a class based game). • Sniper rifles allow players to provide long range support at the cost limited mobility (using a sniper rifle accurately requires being stationary). • Assault rifles have a high rate of fire and long range, but are less deadly than sniper rifles at long range, as well as being slightly more innaccurate. • Submachine guns are middle range weapons with a lower rate of fire and damage than automatic rifles, but players using them on the move will be more accurate than players using assault rifles. 2.5. WII 19 • Shotguns are better suited for short range (where they deal the most damage) and lose the least accuracy from moving. • Pistols are mostly used as a backup weapon, when your weapon is inadequate to the situation you are facing (e.g. you have no ammo in a clip, your weapon is better at long range and the enemy is at short range, or your weapon is better at short range and your enemy is at long range). A certain portion of money is gained automatically at the beggining of each round and additional ammounts of money can be made by winning rounds or killing enemy players. This leads to an economic challenge where players need to manage their money between rounds so that they are not under equipped. Players also manage their ammo during a round, and can, if they are running too low on ammo, drop their weapon and pick up a weapon that is on the ground. Selecting the gear that a player wants to use is a logistical challenge that is present at the beggining of each round. This logistical challenge is tied up to the economical challenge ineherent to the game’s currency system. Additionally, providing a broke teammate with a weapon can be viewed as both a logistical and economical challenge that promotes cooperation. Due to the fact that the state of play is hidden, this game provides ample opportunities for the tactical level of conflict. Stealth is intricate part of this game - certain weapons are stealthier than others and players can choose to walk slowly so that the sound of their footsteps does not give their position away. Players can also purchase flashbang and smoke grenades to attempt to blind their enemies or provide cover for teammates. Using these grenades tactically enhances the stealth aspect of the game by enabling deadlier ambushes on the opposition. Like in most conflict based games, offensive abilities can be used to support and protect allies reinforcing the cooperative aspect of the game. 2.5 Wii The current generation of home video game consoles consists of the Microsoft’s Xbox 360, Sony’s Playstation 3 and Nintendo’s Wii. This generation has, for the most part, been about graphics and hi-def content. Both the Playstation 3 and the Xbox 360 were trying to push a norm in hi-def optical discs (Blu-ray and HD DVD, respectively), and rely heavily on their own graphical prowess in rendering quasi photo-realistic shots. On the other side of the spectrum there’s the Wii, a games console that hardware-wise is, at its core, an incremental design over Nintendo’s previous games console - the GameCube. However, the Wii has managed to surpass both these consoles market-wise due to its focus on a different interaction paradigm[10]. The Wii (which was codenamed Revolution at its inception) employs a controller (the Wii Remote) that, despite having traditional gamepad elements, also uses motion based interaction as a command and control mechanism. 2.5.1 Wii Remote The Wii Remote’s design is a radical departure from the typical gamepad, resembling a TV remote controller. However, it still possesses many of the common gamepad inputs - a directional pad; buttons 1 and 2; button A; B trigger button ; home button; plus and minus button; and an off button. Output wise it has the mandatory rumble feedback feature, a low quality speaker, an external port that allows connection to several different accessories (the most notable of which is the NunChuk - most games are controlled with the Wii Remote connected to the NunChuk) and four player LEDs (used to indicate 20 CHAPTER 2. STATE OF THE ART what player the remote is assigned to). Like so many other controllers it also possesses some internal memory. Figure 2.1: The Wii Remote 2.5.2 Nunchuk The NunChuk is a simple accessory for the Wii Remote that provides a few more inputs - an analog stick; a Z trigger button; and a button labeled C. The most relevant of these is the analog stick, due to the fact that it adds one of the most traditional input devices to the Wii Remote, making it an extremely versatile controller. Like the Wii Remote, the NunChuk accessory has an accelerometer that allows it to detect motion along three axes (with the same upper limit of 3G). 2.5.3 Wii Remote and the PC Due to the fact that it uses a Bluetooth connection, several efforts have been made to interface the Wii Remote with a PC. These efforts can be separated into drivers, APIs and Scripts. 2.5. WII 21 Figure 2.2: The Wii’s Nunchuk accessory Driver Several drivers that allow connecting the Wii Remote to a pc are mentioned in the WiiLi webpage[17]: • DarwiinRemote - an open source driver for Mac Os X, it currently supports the Wii Remote fully, but it does not allow usage of the NunChuk’s joystick; • Remote Buddy - a commercial application for Mac Os X that supports several remote controllers, among them the Wii Remote, the Wii Remote’s functionalities are supported, though NunChuk support is inexistent; • WiiinRemote - a Windows Xp driver that supports the Wii Remote and NunChuk; • GlovePie - an application for Windows that emulates joystick, keyboard and mouse input from a variety of devices, it basically maps the Wii Remote’s output to the output of one of those devices through scripting; • RMX Automation - Windows modular interface for user input and output devices that includes a plugin for Wii Remote, it appears to works mostly as an input device wrapper (like GlovePie) and not to support accelerometers; • WMD - a Wii Remote driver for linux that apparently has turned into vapourware; APIs The website (www.WiiLi.org) mentions a decent amount of APIs that support the Wii Remote: • Libwiiimote - a C based Wii Remote library; • WiimoteLib - a managed library for the .NET framework, available as a coding tutorial on the web; • WiimoteCPP - a C++ library for the Wii Remote and NunChuk, it is based on the ManagedWii/WiimoteLib, there has been no source code release yet; • WiiYourself! - a C++ library that currently supports most of the Wii Remote’s and NunChuk’s functionalities; • Wiiuse - a single threaded non-blocking library written in C, supporting both the Wii Remote and the NunChuk; 22 CHAPTER 2. STATE OF THE ART • WiiremoteJ - a java API • WiiJuce - a C++ multiplatform library, it only supports the Wii Remote; Scripts Some scripts for interfacing with the Wii Remote are mentioned in the WiiLi webpage[17], these are: • Wiiewer - a simple python script for plotting a Wii Remote’s motion data; • Wiimotecom - a small python script that allows connecting a Wii Remote, it appears to have no functionality besides establishing the connection; • CWiid - a collection of linux tools written in C that allow interfacing with the Wii Remote; • Perlwiimote - a perl module that interfaces with libwiimote, providing its functionality; Comparison between drivers and APIs In an attempt to shed some light into what each of these drivers and APIs support, four tables are presented bellow. Scripts have been left out of these tables due to the fact that they possess very limited functionality and, for the most part, were created with the intent to serve as a proof of concept work. Table 2.1 is an overview of the software license. Table 2.2 tries to expose the functionalities that pertain to the Wii Remote directly. Table 2.3 illustrates the state in which the secondary functionalities of the Wii Remote are implemented in the different software. Table 2.4 summarizes what each of these drivers and APIs allows in terms of NunChuk usage. When information regarding certain functionalities was impossible to obtain, the corresponding entry in the tables is ’-’ Table 2.1: Driver and API License Overview OS Type License Version Coding Language DarwiinRemote OSX Driver BSD 0.6 Objective C WiiinRemote WINDOWS Driver Open source 2007.1.13 - Remote Buddy OSX Application Commercial 1.8 - GlovePie WINDOWS Application Copyright 0.30 - RMX Automation WINDOWS Application BSD 1.4 C++ Libwiiimote Linux API GPL 0.4 C WiimoteLib Windows API Ms-PL 1.2.0.0 C#, VB WiimoteCPP Windows API BSD release C++ WiiYourself! Windows API BSD 0.99b C++ Wiiuse Multiplatform API GPL 0.9 C WiiremoteJ Multiplatform API - 1.1 Java WiiJuce Multiplatform API GPL3 0.2 C++ These tables illustrate the fact that driver-wise the Wii Remote is not particularly mature yet. But, despite this, interfacing the Wii Remote with a computer is already well developed, plenty of API’s have 2.5. WII 23 Table 2.2: Wii Remote Support Overview Accelerometers IR Buttons Player LEDs DarwiinRemote yes yes yes yes WiiinRemote yes yes yes yes Remote Buddy yes yes yes - GlovePie yes yes yes - RMX Automation yes yes yes - Libwiiimote yes yes yes yes WiimoteLib yes yes yes yes WiimoteCPP - - - - WiiYourself! yes yes yes yes Wiiuse yes yes yes - WiiremoteJ yes yes yes yes WiiJuce yes yes yes yes Table 2.3: Wii Remote Extra Features Support Overview Rumble Speaker Memory Battery status DarwiinRemote yes yes yes yes WiiinRemote yes - - yes Remote Buddy - - - - GlovePie - yes yes - RMX Automation - - - - Libwiiimote yes yes no yes WiimoteLib yes - yes yes WiimoteCPP - - - - WiiYourself! yes yes yes - Wiiuse - no - - WiiremoteJ yes yes - - WiiJuce yes no no no been developed and some of them have most of the important Wii Remote and NunChuk functionalities implemented. Obviously, for this project, the most relevant APIs are the open source ones. Of these solutions, it all comes down to a choice between platform and language chosen for development - with Windows and C# the natural choice falls on WiimoteLib; the WiiYourself! API is an appropriate solution for C++ development on Windows; despite WiiremoteJ appearing to be a natural choice for Java, but the lack of a non-proprietary Bluetooth solution in Java makes it unadvisable; Wiiuse is appropriate for multiplatform development in C; and Libwiimote is adequate for Linux C development. 24 CHAPTER 2. STATE OF THE ART Table 2.4: NunChuk Support Overview Accelerometers Joystick Buttons DarwiinRemote yes yes yes WiiinRemote - yes yes Remote Buddy no no no GlovePie yes yes yes RMX Automation yes yes yes Libwiiimote yes yes yes WiimoteLib yes yes yes WiimoteCPP - - - WiiYourself! yes yes yes Wiiuse yes yes yes WiiremoteJ yes yes yes WiiJuce no no no Chapter 3 Conceptual Model In order to build a cooperative game, we need to understand how the several concepts we have exposed can be used together to create such a game. This brings us to the conceptual model we elaborated for this work. The gameplay definition we approached in the previous chapter, "One or more casually linked series of challenges in a simulated environment"[9], suggests that gameplay challenges would make up an important part of a conceptual model for cooperative games. Additionally, since players perform tasks in order to beat the challenges, it is essencial to understand which types of task have more potential for cooperation. Another concept that can be explored successfully to promote cooperation is the usage of high-level Design Patterns that can either aid the design of a cooperative game, or create additional oportunities for cooperation. Figure 3.1: Conceptual Model Overview 3.1 Task potential for cooperation In this section we explore the potential for cooperation that each of the task types has. This allows us to use this classification to quickly assess the potential for cooperation of any given task that we can 25 26 CHAPTER 3. CONCEPTUAL MODEL classify within these types. 3.1.1 Divisibility The main advantage divisible tasks have over unitary tasks is that they can be divided into smaller pieces that can easily be assigned to individual members of a group. This allows a Divide an Conquer type of approach. Unitary tasks, on the other hand, only require a single member of the group to perform it, and in some cases it can be detrimental to have additional members of a group attempting the same task simultaneously (imagine that the task requires a single resource to perform, that can only be used by a single person at a time). However, unitary tasks in which players provide a service to another player, are an intricate part of cooperative gameplay. 3.1.2 Optimizing Maximization tasks are well-suited for cooperation, since the focus is on quantity over quality, having several people to perform it allows for a larger output than what a single person will typically produce. Optimizing tasks’ focus on quality leads to a different situation, the fact that several members are performing it can raise quality of the work of each member (due to the competitive nature of humans). And, due to it, the quality of the best solution the group has come up with. It is important to note, that in both types of task, the Ringelmann effect can appear and will be detrimental, though in optimization tasks it will cause the most harm. 3.1.3 Combinability Disjunctive tasks are the least interesting for cooperation in this group, only one member is important for the outcome of the task, though the process of selecting the member of the group that does the task can be an interesting group task. The other types are more interesting for cooperation - Additive tasks’ linear sum of the effort of all members helps out weaker members of the group ; Compensatory tasks’ emphasis on averaging the contributions of group members is also supportive of weaker members ; Conjuctive tasks require that every group member contributes towards the outcome, minimizing the impact of the Ringelmann effect; Discretionary tasks give groups the freedom to decide how they can weigh in the contributions of each member allowing for another interesting group choice. 3.2 Challenges used in Cooperative Games In this section we explore how the challenges defined by Rollings and Adams in [9] are used in current cooperative game. 3.2. CHALLENGES USED IN COOPERATIVE GAMES 3.2.1 27 Pure Challenges Physical Challenges. These can be used to promote cooperative play by making the challenges involve physical effort that can’t be done by a single player (e.g.: by requiring players to jump in a platform while at the same time kicking a ball that’s too far away to be kicked by the same player; or by making the effort required to be too much for one player to handle). Coordination, Reflex/reaction and Spatial-awareness Challenges. One of the biggest challenges in cooperative play is the coordination of the members of a team. One could say that the most obvious display of cooperation is the level of coordination one can see in a team of players. Coordinating a team of players usually involves several reflex/reaction and coordination challenges (as long as the game is not turn based) on the part of the individual players as well as some spatial awareness challenges. Other types of pure challenges. Logic and Inference, Lateral-Thinking, Memory, Intelligence, Knowledge-based and Pattern-recognition Challenges are a subset of pure challenges that appear to have little potential for cooperative play, this happens mostly due to the fact that these types of challenges are disjunctive tasks. However, adding extra players to these types of challenges can make the challenges easier. Different players bring different perspectives which can help in coming up with the correct answer. Like the previously mentioned challenges, Moral Challenges are not particularly suited to promote the cooperation between players. This happens due to difference of personalities that exists between people, and the fact that the choice might cause the crumbling of a group. However, this possible splintering of the group can make for an interesting gameplay challenge. 3.2.2 Applied Challenges Race. This type of challenges usually causes teams of players to focus and work together more tightly due to the additional pressure. In World of Warcraft, some of the bosses in dungeons have enrage timers, this means that they will have to be defeated before the time is up or the the boss will enrage and kill the players. Counter-Strike bomb maps are also a good example of this, if the bomb doesn’t explode before the time is up (or one of the teams is eliminated) the Counter-Terrorist team wins the round. Puzzles. Puzzles can be used to promote cooperation by requiring more than one character in order to solve it[15]. This can be done either by requiring the effort of more than one character or by needing to perform actions simultaneously on two separate locations. 28 CHAPTER 3. CONCEPTUAL MODEL Lego Star Wars uses the later type quite often, dual switches that open doors need to be pulled simultaneously. Exploration. In games of imperfect information where players can cover different areas, exploration becomes an important asset to a team of players (e.g. : due to the presence of fog of war in RTS1 games, it is important that teams of players cooperate in order to search for the enemy bases and scout the enemies defenses, and so that they can spot incoming enemies; in FPS games, it is important to know where the enemy is so that you don’t get ambushed). In other cases, it is required that the players cooperate so that they can progress to other areas. 1. Opening Locked Doors - Locked areas can be suitable to cooperative gameplay. These can be used either in situations where a particular type of character is needed to unlock the area or it can be opened by using simultaneous switches that require cooperation between players. Lego Star Wars is a good example of all these situations. Some doors need that several characters stand on floor plates in order to open them. Others require simultaneous switches, while others require that a particular type of character opens the door. 2. Trap - They are a commonly used obstacle for defending important locations. Additionally, traps can force players to cooperate by requiring them to work together in order to disable them, or even forcing them to thread carefully while exploring an area, sometimes cooperation emerges from setting off a trap on purpose as a distraction, or even by a player sacrificing himself so that the rest of the team can pass. As an example, consider World of Warcraft - a class exists that can set traps, and another class exists that can spot them and disable them. It is common for players of the second class to cooperate carefully with their team so that the traps are disabled when the team decides to enter the room. While the the other class will typically place them to protect important locations. 3. Platforms - Some platforming challenges can be used with complementary abilities so that the progress of group depends on the cooperation of the elements of the group. In certain games, particularly in FPS (First Person Shooters), it is common for players to piggy back on top of each other to reach higher areas. In Dust (a Counter-Strike bomb map) it is common for terrorist players to piggyback on top of each other so that they can plant the bomb in a harder to reach location. Conflict. This type of challenge relates to games that are won by attacking the opposition directly. 1. Protect - One way that conflict-type challenges have been successfully applied to force players to cooperate together is by making players defend either a location, a character or even an item. This usually causes the players to work together as a team instead of trying to be the "hero of the day". 2. Escorts - Another gameplay archetype that is used to force cooperation through conflict are escorts. These usually involve a team of players escorting another character across from one place 1 Real Time Strategy 3.2. CHALLENGES USED IN COOPERATIVE GAMES 29 to another. Typically the character being escorted is defenseless, but it is not uncommon for escorts to involve accompanying a powerful ally to a location so that it can turn the tides of battle. Another common escort involves escorting an important item from location A to location B, typically these items are important to the victory conditions of the game, or they can just grant powerful bonuses to the team that manages to escort them. The Escort archetype can be viewed as an implementation of the Protect archetype due to the fact that you are protecting another character or a movable item. However, due to the fact that you are protecting a moving thing, that is moving towards a goal, there is one important nuance from the typical Protect archetype - the defense needs to be able to adjust to the movement of the thing being escorted. An example of this are the assassination maps in the popular online FPS Counter-strike. In these maps the Counter-Terrorist team will win a round if the VIP can reach an extraction point in the map. 3. Capture - Sometimes games try to force players to work cooperatively by giving them the objective to capture something - it can be an item, a location, sometimes even a character. In fact if one looks at most of the Escort challenges, it is easy to see how it actually has a Capture element to it you complete the Escort when you successfully deliver the thing being protected to its destination. Several subtypes of capture exist each with its own particularity. (a) Capture The Flag - This mode of play is present in many online games, and it causes players to work together by making them protect their flag (or a similar item), while attempting to capture the enemies’ flag. It is in fact a combination of archetypes, namely the Protect archetype and the Escort archetype - a team needs to protect its flag and needs to escort the player that has grabbed the opposing team’s flag until he reaches the capture point. Many examples of this archetype exist in a variety of game genres - FPS, RTS (Starcraft2 ) and MMORPG (World of Warcraft) games all have multiplayer CTF3 modes. The popularity of CTF dates back to the original Quake and the CTF modification made by Threewave4 , after this modification CTF became an integral part of most FPS. (b) Capture Locations - Another common conflict challenge revolves around capturing and protecting locations from being captured. Normally these two modes are mixed together, with both teams being able to capture each other’s locations, while in other situations a team defends while the other team attempts to get control of the location. Like some of the other archetypes listed before this archetype is a particular case of the protect archetype. Examples exist in several game types - Team Fortress 2 has several gametypes that revolve around the Capture Locations archetype; and the Arathi Basin Battleground for WoW. 4. Bomb - Some games have a mode where the objective is to plant a bomb at one of several locations (only one of the players carries the bomb from the starting location to the bomb sites) and then defend it from enemies. This is in reality a combination of two of the archetypes discussed above. During the first part it falls clearly within the Escort archetype, while the second part deals directly with the Protect archetype. A characteristic of this mode is that while one team fights to explode a location the other fights to protect the locations (this overlaps a bit with the Capture Locations archetype). Due to the fact that the bomb is a resource that is needed in order to achieve the goal, if the team defending the bomb sites manages to kill the bomb carrier, it is common that they defend the bomb so that they can starve the terrorist team of an important resource. 2 Starcraft official website: http://www.blizzard.com/us/starcraft/ The Flag 4 Threewave official website: http://www.threewavesoftware.com/multiplayergames.html 3 Capture 30 CHAPTER 3. CONCEPTUAL MODEL The best and most known example of this archetype comes from Counter-Strike, though examples of other games that use this archetype exist (Urban Terror for example). 5. Tougher Conflict Challenges - A typical attempt to make players cooperate with each other is by posing tougher challenges than those that they can handle by themselves. By making sure the challenge is practically impossible to be accomplished by a single player, you are effectively giving them a strong incentive to group together so that they can overcome it. In MMORPGs, it is common for some enemies to be a lot more powerful and tougher than the rest of the enemies. These enemies are practically impossible to kill by yourself, and force players to create or join a group to defeat them. Economics. A team of players must work together quite closely in order to manage their resources, and allocate resources to where they are needed. While in most games the goal is not amassing resources, they are nonetheless an important aspect of gameplay. In FPS games, teams try to protect and adequately manage most powerups, weapons and armors, since they are vital resources that can decide the outcome of the conflict. RTS games since their inception have been tied up with resource collection, and rely on it so that they can produce units. This causes any cooperative play of RTS games to be extremely dependent on the management and protection of resources. 3.3 Design Patterns for Cooperative games An important result of our game analysis, was a list of Design Patterns that helped promote cooperative behaviors in games. 3.3.1 Complementarity • Name - Complementarity • Description - One of the most commonly used design patterns in cooperative games is making sure that there is some complementarity between the characters that players control. It is commonly found in games that have player character classes, though it is also present in some games where players have a simple choice of weapon or race. This can easily be implemented without the classbased design, simply by using a power-up or weapon like system. Most MMORPGs tend to use this pattern, as well as some of the most sophisticated First Person Shooters (FPS) and Real Time Strategy (RTS) games. Examples - Team Fortress (class-based design in an FPS game), Warcraft 3 (the factions each have their own strong points), Counter-Strike (uses a weapon-based system), Quake 3 (uses a more typical weapon system than Counter-Strike, where the weapons are picked up in the map), City of Heroes and World of Warcraft (both are MMORPGs that use a class based design). • Consequences - This usually leads to several consequences, one is that characters tend to settle better in one type of role, another is that even when you have two different character types for the same role, they will usually be complementary to one another, as they will have different abilities 3.3. DESIGN PATTERNS FOR COOPERATIVE GAMES 31 that will complement each other in that role. A common problem that occurs when using this pattern lies with trying to achieve balance in an heterogeneous environment, which is both time consuming and hard. • Using the pattern - A typical choice that shows up when using this pattern, is determining how the complementarity will be implemented. How should the ability system be implemented? Do we want players to be able to change abilities mid game? Does a weapon-like system, where players drop and pickup new abilities work best for what we are trying to achieve? Or should we settle with a more typical class-based design, where players’ abilities choices are made at the begining of the game? • Relations - This pattern is used often in conjuction with both the "‘Abilities that can only be used on another player" and the "‘Synergies between abilities" patterns. 3.3.2 Synergies between abilities • Name - Synergies between abilities • Description - Another design pattern that is commonly used, is by creating some abilities that yield better results when used together than they do when they are used independently. This effectivly causes a high level of synergy between these abilities. These abilities should typically be scattered accross multiple players in order to promote cooperation. Examples - World of Warcraft (a shadow priest (who deals mostly shadow damage) can cause an enemy to become more vulnerable to shadow damage, which also causes an increase of damage that the warlocks are causing (who also deal shadow damage), Battlefield 1942 (Scouts can use their binoculars to give out targets for players controlling artillery’s), Team Fortress 2 (one of the medic’s healing weapons can also increase another player’s damage for a limited time). • Consequences - The most important consequence of this pattern is that it gives players a strong incentive to group together with players that have a high level of synergy with them. • Using the pattern - It is important to take some care to ensure that the abilities are not considered lackluster when used without the ability that increases it’s power, players do not like being too dependant on other players. • Relations - Like stated in the pattern above, this pattern is often used together with the "‘Complementarity" and the "‘Support abilities" patterns. 3.3.3 Support Abilities • Name - Support abilities • Description - Sometimes games provide players with abilities that can only be used on another player. This is partly because the purpose of these abilities is to encourage cooperation between players. Examples - Team Fortress 2 (Medics have a weapon that allows them to heal other players), Left 4 Dead (players after taking a certain amount of damage fall down to the ground and require another player to help them get up), World of Warcraft (healers in raids tend to take a support role, healing other players so that the group can progress). • Consequences - An important aspect to consider, is not to overdo this type of abilities to the point where a player is essencially only supporting other players. Despite the fact that some of the 32 CHAPTER 3. CONCEPTUAL MODEL players find this rewarding, most players like to be able to pull their own weight, and not depend completely on their teammates. • Using the pattern - The main questions that this pattern’s usage poses relate to the level of support required by the game and the level of dependance we want players to have on each other. This aspects must be carefully weighed in due to most players not appreciating a pure support role. • Relations - This pattern can be viewed as a particular case of the "‘Synergies between abilities" where a player’s ability is potenciating another player’s abilities. Though, as was stated before they often occur together, and it was important to make the distintion. The presence of this pattern is also often accompanied by the usage of the "‘Complementarity" pattern. 3.3.4 Shared Goals • Name - Shared Goals. • Description - Most games tend to use up a simple design pattern in order to force players to work together, a group of players will have one non-exclusive goal, that can be completed in a group. In team based games this pattern is a natural choice due to the necessity of implementing a clear victory condition for a team players. However, in some open-ended game genres (like the MMORPG genre) this pattern becomes less important (due to players defining their own goals by choosing what quests they perform). Team FPS (Counter-Strike, Team Fortress 2) have shared goals across a team of players, the success of a team depends on whether the team can accomplish a certain goal. In World of Warcraft, groups are often formed because players happen to have the same quests. • Consequences - For team based games, the main consequence is that it gives players a clear common goal for them to work towards, and therefore focuses players on what is important to achieve success in the game. When applied to open-ended games properly, it gives players incentive to group together so that they can progress more quickly through the game. • Using the pattern - In team based games, this pattern is an obvious choice in design and, typically, the foundation on top of which the entire basis of teamplay is formed - a team needs to work together to achieve its shared goal. In open-ended games, where players (and group of players) can choose their own objectives, it becomes less of an obvious choice, but using it typically allows players to achieve their goals faster. However, this requires some consideration of the nature of the goals and how they are accomplished - Is the shared goal a competitive one (will the players be effectivly competing to achieve the shared goal, despite working together towards it)? What design changes can we make to the goal to better support cooperative behaviour? Will grouping in order to achieve the goal help players achieve the goal faster than they would by themselves? • Relations - This pattern is related to the pattern "‘Synergies between goals". 3.3.5 Synergies between goals • Name - Synergies between goals (Interlaced/Intertwined goals). • Description - When players have different goals, one of the design approaches used to force them cooperate together is to have some sort of synergy between their goals. A recent example of this is the way Valve has setup their achievement system with the Pyro and Medic classes in Team Fortress 2. One of the Pyro’s achievement is killing three enemies while ubercharged (being made invulnerable by a Medic), while the Medic has an achievement that requires the Medic to 3.3. DESIGN PATTERNS FOR COOPERATIVE GAMES 33 ubercharge a Pyro while the Pyro burns five enemies. In World of Warcraft, it is quite common for players’s quests to have different goals. One player might require killing a creature, while the other requires getting an item that drops from said creature. • Consequences - This pattern promotes cooperation by allowing players with different goals to work together. • Using the pattern - This pattern is best suited to be used in games where players have some freedom when choosing their goals (MMORPGs with their quest systems are usually good candidates, as are some of the more recent games that use achievment systems). Despite some emergent synergies between goals in open-ended games, implementing this pattern in a game requires some care when designing it so that we can ensure the existence of the synergies. • Relations - This pattern is related with the patttern "‘Shared Goals". 3.3.6 Special Rules for Players of the same Team • Name - Special Rules for Players of the same Team. • Description - Some games have special rules for players of the same team - an action will have a different effect when done on a friendly player. The idea behind these differences is to promote and facilitate cooperation. A good example of this are the special rules for shooting members of your own team in FPS games (also known as Friendly Fire modes). Another common example are special rules for movement that involves friendly units. • Consequences - The consequences of this pattern depend on the particular type of special rule being used. One of the main advantages of friendly fire modes is that it allows to choose the degree of control that is required by players. On the most punishing setting for friendly fire modes (full damage to team members), the advantage of using it is that it incentivates tactical discipline and self control on the part of the players, but it also leaves players a bit frustrated when they take team damage. While, on the most forgiving setting (no damage to team members), it has the advantage of not penalizing players for trying to aid each other, but the tactical discipline that is encouraged by having the possibility of killing your allies (accidently or not) is lost, causing many players to become trigger happy. The advantage of treating movement involving friendly units differently than you treat movement involving enemy units is that it allows teammates to move without worries of blocking each other’s path. The obvious disadvantage is that it comes at the cost of realism (or credibility) to the game. Certain games have adressed this is by having soft collisions between friendly units - trying to go over a friendly unit will nudge the friendly unit softly to the side. Another disadvantage is that it limits the potential (in FPS) for players to piggy back and reach other areas. This last aspect can also be viewed as an advatange due to the fact that the most common use for this technique is to exploit map areas. • Using the pattern - By deciding to use this pattern, the first thoughts that game designers should have are - Which special rules make sense in the game? Will they interfere with players’ expectations? Will they oversimplify the game and make team coordination non existant? One of the most important choices in using friendly fire modescomes down to the level of Friendly Fire that should be used. Should players damage each other just as strongly as they would damage an enemy? Or should the damage be minimal or even non existant? The main concern with special movement rules is deciding how facilitated do we want team movement to be - Should friendly players be transposable as if they were not there? Or should there be a soft colision where no player takes exactly the path they expected, but does not feel like they hit a brick wall? 34 CHAPTER 3. CONCEPTUAL MODEL • Relations - This pattern is not related to the other patterns mentioned and can be used freely with them. 3.3.7 Mechanisms for sharing • Name - Mechanisms for sharing • Description - In games where players pick up resources and can store them for later use, cooperation can greatly benefit if players are allowed to trade these resources between them. Examples - Left 4 Dead (players can give each other pain pills), Team Fortress (players were allowed to discard the extra ammo they did not use in order to share it with other teammates), Warcraft 3 (players of the same team can transfer resources between one and another). Map information is shared automatically in Warcraft 3 between players of the same team. • Consequences - This pattern actively promotes cooperation by giving players the chance to allocate resources to where they are most needed and would be better used. • Using the pattern - Which resources should be shareable? Should there be a maximum ammount players can share? How should this limit be implemented, by a maximum on each time they share, or by limiting the ammount of times that players can share resources? Should players only be allowed to share resources at certain times in the game? Which resources should be shareable? Which would cause gameplay imbalances? • Relations - This pattern is related with "‘Support Abilities" due to the fact that giving a teammate resources is, in its essence a support abilty. Chapter 4 Geometry Friends In order to explore some of the patterns and challenges we identified as being supportive to a cooperative gameplay experience, we developed a simple two player cooperative game that uses physics based puzzles where players work together to overcome the challenges in the least ammount of time possible. Figure 4.1: Initial sketch of a level Figure 4.2: Actions of the Ball character 4.1 Figure 4.3: Actions of the Square character Main Characteristics • Cooperation - The two characters in the game (a green square and yellow ball) have different and complementary abilities that allows for a unique gameplay experience. Each player controls only one of the characters, and, due to the design of the levels, it is important that players cooperate in order to overcome the different obstacles. • Wii Remote - The control of each character is done using the Wii Remote (and in the case of the 35 36 CHAPTER 4. GEOMETRY FRIENDS square character, also the nunchuk acessory). This allows us to use Gesture Recognition by interfacing with the Wii Remote’s accelerometer capabilties and provides a diferent game experience. • Physics Based Gameplay - The game explores physics concepts (mass, gravity, attrition, etc) as a way to create a different experience than that which is typically found in 2D platforming games. • Simple and Minimalistic Graphics - The graphical design of the game is based on simple geometrical figures as can be observed in the first sketch of the game concept. 4.2 Overview In this section we expose our high concept for Geometry Friends. 4.2.1 Player Motivation. Players form a partnership with each other and, through mutual cooperation, try to complete each level as fast as they can. In order to complete a level it is required to collect all the losangles in it. The levels are varied in their design and require that the players use, not only their dexterity at controlling the characters, but also logical thinking. 4.2.2 Game Genre. 2D Platforming game. 4.2.3 Target Customer. The target for this game are essentially Casual Gamers (gamers that have little game literacy and proficiency, play a small ammount of games with the intent of relaxing and killing time) that are searching for an acessible game that is possible to play for short periods of time. According to the Demographic Game Design 1 Model [1], the game should be attractive to players that fit the Participant profile (gamers that focus on the social aspect of gaming and favor cooperation over competition), due to the incentive that the game provides to a strong social and cooperative interaction. 4.2.4 Target Platforms. Pc and the Wii Console. 4.2.5 Design Objectives. • Intuitive Control - The character control should be intuitive and use the Wii Remote. • Cooperation is the key - It should be impossible to solve any level using only one character. • Low Learning Curve - A player should be able to learn easily how to control his character. It also should be easy for a player to understand how a particular gameplay element works in a level. 4.3. DESIGNING GEOMETRY FRIENDS 37 • Character Balance - In this game of heterogenous characters, the characters should be equally interesting to play. 4.3 4.3.1 Designing Geometry Friends Patterns Used We developed Geometry Friends with the Complementarity design pattern in mind. We ended up settling on two very simple and basic characters - a green square and a yellow ball. As such, we came up with abilities that made sense from the perspective of our simple geometrical characters, the ball character can jump and change size (increasing its weight), while the square character can deform itself into rectangles allowing it to become taller (which helps it reach higher places) or shorter (which helps it reach narrower places). Another interesting gameplay idea that we came up with, was making the ball and square collide with parts of level that had the same color as the character in question. The fact that this design is based around complementarity also helped us establish interesting synergies between the abilities. The fact that the square can stretch to become taller, allows the ball to use it to reach a higher place than that which either could reach naturally, whereas the fact that the ball changes weight and size allowed players to use the ball to propel the square up into the air. One of the most natural design patterns to use on a cooperative game is giving the players a shared goal that is accomplished by the combined efforts of the group and not by a single character. As such we gave players a simple goal of collecting all the purple diamonds in the level in order to progress to the next level. Naturally, the placement of the diamonds on the levels was such that forced players to cooperate in order to get them. This was achieved mainly by making sure that each of the characters by itself could not pickup each and every diamond of the level, and also by making sure that the individual efforts of the characters would not add up to collecting all the diamonds, effectively avoiding a design that allowed a level to be completed by using a Divide and Conquer approach. 4.3.2 Challenges used In Geometry Friends, due to the type of game that we had set out to create (a two player co-located cooperative puzzle and platform game), we focused on mainly the natural type of challenges for this type of game - Coordination, Reflex/reaction and Spatial-awareness Challenges. These were a natural choice due to the fact that they are intrinsic to the game type that we developed. This was not the only reason for this choice, as these challenges are also an interesting choice for cooperative games, due to the fact that failing these types of challenges results in non-cooperation. 4.3.3 Tasks used Most of the tasks present in the game are conjuctive tasks, because these require effort from both of the players so that they can beat the challenge. 38 CHAPTER 4. GEOMETRY FRIENDS 4.4 Technological Solutions So that we could implement our game concept we had to choose tecnhological solutions that would facilitate the development. As susch, we decided to search for 2D game engine, a 2D physics engine and an API that would support the Wiimote and allowed integration with a gestural recognizer created with Wiigle. We ultimately decided to utilize XNA, Farseer and WiimoteLib. 4.4.1 XNA XNA is a framework for games created by Microsoft. It allows the development of games for both the PC and Xbox 360. This framework automatically generates a typical game cycle skeleton and supplies classes that deal with low level tasks (input, graphics and sound), which are always necessary in the devlopment of a game. The coding language used by XNA is C#. The main advantages we saw in XNA were: • XNA has a very active developer community of developers, who besides participating in forums also supply some source code for their games. • Several online tutorials were available. • XNA uses a coding language we were already familiar with. Alternatives Due to the fact that game concept focused on 2D we discarded quite a few 3D centric options, leaving us with only a few alternatives. Gamemaker is a graphical tool for the development of 2D games. The biggest hurdle that we found in using this tool was the difficulty that we would have integrating this tool with the other technological solutions. This was due to Gamemaker using its own scripting language - GML. Torque X Engine is a game engine that is integrated with XNA. We decided not to use it, mostly due to not forseeing any benefit for the game that we intended to develop. Additionally, most of the reviews we read about it were quite negative. Torque X Builder is a graphical tool that allows the creation of assets - animations, sprites and levels. We considered using it to make the level design process easier, but ultimately it became unnecessary. 4.4.2 Farseer Our need to find a 2D physics engine that could be easily integrated with XNA led us to Farseer. Farseer is a 2D physics engine for Silverlight and XNA that is based on Box2D - a popular choice among 2D physics drivers. The main advantages we saw in using Farseer were: • Farseer was developed specifically for XNA, which makes the integration process easier. • The demo and source code contained with the engine ilustrated its potential quite well, and were also the inspiration for some of our gameplay ideas. 4.4. TECHNOLOGICAL SOLUTIONS 39 • Support for this engine was easily found in internet forums. Alternatives We came upon a couple of alternatives to Farseer, but ended up chosing the latter. ChipmunkXNA and Box2D were two promising alternatives to Farseer. They both used C# and were developed for XNA, but, at the time we had to make our choice, they were in an early and experimental stage of development (one of them only had a project page created, and had no public release yet). Physics2D.Net was another C# alternative, but we chose to use Farseer due to its particular focus on XNA. The demos supplied by Farseer also seemed richer than the ones supplied by this engine, which made us think that Farseer would be a more adequate choice. 4.4.3 WiimoteLib As soon as it became apparent that our technological solutions would end up being C# based, the WiimoteLib API became the natural choice, due to it being the only API we knew that used C#. However, besides using C#, there were also some other positive aspects that made us choose this API: • It was one of the first APIs to be developed for interfacing a PC with the Wiimote, it is widely used (it is even used by the gestural recognizer creation tool we were exploring) and its usage was well documented. • Quite a few of the other APIs were based on this API. • It is a pretty mature and complete API - it implements most of the Wiimote’s functionality (at the time the only things it did not implement were access to both the in-built speaker and the memory). Alternatives There were plenty of alternatives to this API, some of them even implemented more of the Wiimote’s functionality. However, since WiimoteLib was the C# solution that offered the most functionality and due to our choice of a C# framework, we ended up discarding the alternatives in favor of WiimoteLib. 4.4.4 Wiigle Wiigle[8] is a gestural recognizer creation tool. It uses the Wiimote to saved gesture examples which are then used to train statistical classifiers. This tool supports a wide variety of classifiers and allows users to choose which features they want to use for classification, but it had two significant problems that prevented its use in Geometry Friends. The trained recognizers could not be saved and it required using a socket interface between our game and the Wiigle application. 40 CHAPTER 4. GEOMETRY FRIENDS Alternatives We had no viable alternative to using it. Our only other options were implementing a simple gesture recognizer or creating a similar tool from the ground up (which was not viable). 4.5 4.5.1 Development Process First Prototype Conception of the first prototype took us five weeks, it included three levels, the implementation of the characters’ abilities and a high score mechanism. Figure 4.4: Level 1 of the first Figure 4.5: Level 2 of the first Figure 4.6: Level 3 of the first prototype. prototype. prototype. Development of the First Prototype The first goal we outlined when developing this prototype was to integrate all the technologies we intended to use - XNA, Farseer, WiimoteLib and Wiigle. This integration was accomplished completely, with the exception of the integration of Wiigle, in one week by being able to control the Farseer demos with the Wii Remote. Having accomplished the integration, our second goal was to develop the characters and implement their actions. Implementing the movement of the characters was easy due to the Newtonian force system that Farseer provided. However, as we were attempting to implement the grow/shrink actions of the ball and the deformation actions of the square, we came accross a problem - the Farseer physics API did not support deformable geometries. Since we were at an early stage of development, we pondered changing our physics API and made some attempts to find a suitable replacement. We did not find a replacement that offered the benefits of Farseer, and, as such, we ended up working around the problem using Farseer - in order to deform a geometry, we replaced it with an altered geometry using small increments, untill we reached the intended geometry. This solution proved to be satisfactory, but had some minor inconvenients - it considerably increased the CPU requirements and caused ocasional failures in the colision detection algorithms. Our initial approach to the movement of the ball was reconsidered after some testing - we originally made the ball move as if a force had been applied to it, but in keeping with the ball metaphor, we decided to make it move with a rotation. This had the side effect of making it impossible to change the ball’s momentum mid-air, as is possible in most platform games (though irrealistic). With this in mind, 4.5. DEVELOPMENT PROCESS 41 we still decided to keep the rotation movement, so that players could be challenged conceptually and search for alternative solutions to the puzzles present in the game. In order to integrate XNA and Farseer with the WiimoteLib we created input classes similar to the ones that XNA uses for the Xbox 360 controllers and the keyboard. Even though this process was easy and fast, we encountered a problem - the current version of WiimoteLibe (at the time) did not support multiple Wii Remotes. The solution to this involved changes to the API’s code, which was only possible due to it being an open source project. After some research, we managed to modify the API and the test application that came with the API so that we could test the support for multiple Wii Remotes. We then changed the input classes we had created to support connecting to multiple Wii Remotes. Integrating the result with Wiigle, proved to be more difficult - the only interface mechanism that this application had was a socket mechanism, and there was no mechanism that supported saving and loading a previously trained recognizer. Even though we succeeded in integrating this technology, it was extremely bugged - a jump gesture would make the ball fly up into the air (this was due to the impulse we were applying being applied perpetually on the ball). This fact made us settle with simple button controls for some of the actions - the player controlling the ball could simply tilt the remote to the sides to make it move, push button A to make it jump, and button 1 and 2 to make it grow and shrink; the square was controlled by using the joystick present on the Nunchuk, while its deformation was controlled by pushing the B button and doing some simple gestures at the same time (raising the Wii Remote to make it stretch up, lowering the Nunchuk to make it squat down, tilting the Wii Remote to the right in order to stretch it towards the right, and tilting the Nunchuk towards the left to make it stretch to the left). In the last stage of this development, we attempted to correct some of the existing bugs and created three different levels The first level was inspired by our original sketch. The second level has a special white platform that is connected by a spring, this requires that the player controlling the ball grows in order to access the lower part of the level. In the third level, we introduced a special green platform that only colides with the square. All these simple gameplay elements were easy to introduce due to the potential offered by Farseer. However, it became apparent that a level editor would simplify the process of defining the size and positions of the levels’ objects instead of doing it by trial and error. User Feedback The feedback we gathered over the course of development (in informal testing sessions with 3 to 5 users over the course of development) was quite positive, but some parts still required work. One of the main complaints we received was that the characters were too difficult to control properly with the Wii controllers. In the case of the square character, the complaint was that the deformations were extremely difficult to make due to control scheme we had decided on (there were four ways in which the square could be deformed, and they required that players manipulated both the Wii Remote and the Nunchuk at the same time). While, in the case of the ball, people had difficulties with the timing of the jumps, or tilted the remote too much when trying to make the ball move. After this feedback, we decided to adjust the tolerance values for the verifications that detected the controllers’ orientation, and change the control scheme of the square. Another useful bit of feedback gathered was making the game use the least ammount of buttons posible, and relying almost exclusively on the Wii Remote’s and Nunchuk’s accelerometers for controlling the game. 42 CHAPTER 4. GEOMETRY FRIENDS In terms of level design, people liked the third level the most. This was, possibly, due to it being a more open level, where lack of precision with the controls was not as penalizing as in the other levels. A suggestion that our users made was to use this level as the first due to it seeming simpler than the other ones, or creating an extremely simple first level to give players a chance at getting the hang of the controls (a tutorial level). Another important piece of feedback was that in the levels we had, the square’s role was not as interesting as the ball’s. Most of the users thought that this was caused by level design making the ball take a more active role in collecting the losangles, while the square had a passive support type of role. 4.5.2 Second Prototype We had two weeks to develop the second prototype. This prototype was composed of six levels. Figure 4.7: Level 1 of the sec- Figure 4.8: Level 2 of the sec- Figure 4.9: Level 3 of the sec- ond prototype. ond prototype. ond prototype. Figure 4.10: Level 4 of the sec- Figure 4.11: Level 5 of the sec- Figure 4.12: Level 6 of the sec- ond prototype. ond prototype. ond prototype. Development of the Second Prototype One of our main goals for the second prototype’s control scheme was attempting to solve the problems we had encountered when we attempted to use Wiigle for gestural recognition. As such, we attempted to implement a save/load mechanism in Wiigle. Even though the initial results were promising, when we attempted load a previously saved recognizer, we encountered a bug that was too tricky to solve in a short ammount of time. This was due to the technologies that Wiigle used - this application is a C# application that uses a virtual machine solution for running java code which causes any sort of debugging to be practically impossible. We then decided on a simpler implementation for the gesture recognition. So that we could recognize an upwards gesture with the Wii Remote, we saved an array with some acceleration vectors from the Wii Remote. If the diference between the minimum and maximum in the Y axis was over a predetermined value, we interpretered that as a gesture that corresponded with the ball’s jump action. 4.5. DEVELOPMENT PROCESS 43 We also made some other adjustments to the control scheme - the ball’s growth was modified to be controlled by a single button (when pressed the ball grew to the maximum size, when released it decreased to its minimum size; the square’s control scheme was simplified, tilting the Nunchuk sideways made the square move in that direction, while pointing the Wii Remote up made it stretch up and pointing it down made it deform downwards. As a result of our problems caused by the lack of a level editor, we decided to fill the gap by specifying the level’s contents through an XML file. This file had information regarding all the objects that made part of a level, including their positions. This solution was implemented quickly, and proved to be extremely important in the implementation of new levels. The level design was also eased by using image editing software to determine the positions in which we wished to place the objects. 44 CHAPTER 4. GEOMETRY FRIENDS Chapter 5 Evaluation Two sessions of formal evaluation were made so that we could evaluate the game - a session during the MoJo game showcase and a final evaluation using the Gameflow’s criteria for player enjoymenet[16]. 5.1 Mojo Evaluation The second prototype was formally evaluated during MoJo (a game showcase for games developed in a game technology course in IST Taguspark). For this purpose, we created a questionaire which would permit us to evaluate and identify problems that existed in either the gameplay or the game controls. Another important evaluation tool was observing the users as they played, this allowed us to better understand some of the problems that other players had already verbalized after testing the game. Most of focus of the questionnaire was trying to understand if players felt that cooperation was the main focus of the game and vital to complete each level, if any of the players felt they weren’t vital to task at hand. This last question came up during our own internal testing - at a certain point during the development we felt that the square was a support character for the ball and not interesting enough by itself. We also tried to understand if the players felt that levels we designed were fun, and if the difficulty of the level was adequate. 5.1.1 Tester’s Characteristics Table 5.1 presents some characteristics of the participants of the study. As the table shows, most of our test subjects were male and played games often, this is undoubtly a side-effect of conducting these evaluations during a Video Game showing in a predominantly male University. Most of the users had not played our game before which made them perfect to assess the difficulty curve of the game. The following table (Table 5.2) shows us that most of our users had limited experience with the Wii. Having players that had limited experience with the Wii allows us to better assess wether or not our control scheme for our characters are too hard for novice players. 45 46 CHAPTER 5. EVALUATION Table 5.1: Sample Characteristics Sex Video Game Habits Played this game before Male Female Never Rarely Ocasionaly Frequently Yes No 16 0 0 0 6 10 3 13 Table 5.2: Experience with the Wii None 7 5.1.2 Some Reasonable Plenty 2 3 4 Results Table 5.3 presents a brief overview of some of the results of the study, namely the test subjects were asked to evaluate both the level of fun of the game and the level of cooperation that the game required (the numbers represent a scale from 1 to 6, with 6 being highest). The data gathered from the questionaires has some interesting findings regarding this prototype. Something that is obviously apparent is that the game’s controls could have been better refined, and that players found that the ball’s controls were more adequate than those of the square. Table 5.3: Game Evaluation Overview Average Standard Deviation Fun 4.5 1.1 Need for Cooperation 5.6 0.73 Importance of the Wii Remote 5.31 0.79 Ball Control 4.69 0.63 Square Control 4.43 0.94 On the other hand, the users felt that one of the main objectives of this game was accomplished - a game that required two players to work together in order to progress through it. It is noteworthy to point out that players found that the usage of the Wii Remote and Nunchuk contributed positively to the game experience. Level Evaluation Regarding the level evaluation (Table 5.4 shows the results of evaluating the level difficulty, Table 5.6 provides data from trying to understand if a certain level was dull for one of the characters and Table 5.5 exposes the results of evaluating the fun of each level), it fell within our expectations. The first level was not found to be particularly fun by players, but its main purpose is serving as a tutorial. Due to the 5.1. MOJO EVALUATION 47 fact that most players found the difficulty of that level adequate, and some actually found it too easy, that goal seems to be accomplished. Table 5.4: Level Difficulty Evaluation Easy Adequate Hard Level 1 4 10 1 Level 2 2 13 0 Level 3 0 15 0 Level 4 2 12 1 Level 5 1 11 2 Level 6 0 9 5 Concerning the remaining levels, players found that the level of fun was on the high end of the scale. It is interesting to note that a significant part of the players found the last level too hard (5 out of 14), this can partly explain why these players also found the level less fun than the other players. It seems that players, for the most part, accepted the increased difficulty that this level had due to it being the last level of the game. Table 5.5: Evaluation of the Fun of each level Average Standard Deviation Level 1 3.57 1.02 Level 2 4.4 0.91 Level 3 4.87 0.92 Level 4 4.2 1.15 Level 5 4.64 1.15 Level 6 4.64 1.45 Another thing that we would like to highlight is that, in the game’s fifth level, four players (out of 14) found the level uninteresting for the square. This can be justified due to the separation and lack of interaction that exists between the two characters in this level - past the beggining of the level they take rather different routes, and all but one losangle are collected by the ball player. 5.1.3 Adjustments made due to User Feedback At the end of the evaluation session, we realised that a small adjustment should be made to the ball we received a few informal complaints that the ball was too hard to handle adequatly. After changing the behaviour of the ball’s movement so that this aspect was improved upon, we allowed some users to 48 CHAPTER 5. EVALUATION Table 5.6: Level Evaluation from a Character’s Perspective Uninteresting for the Ball Uninteresting for the Square Level 1 0 1 Level 2 0 1 Level 3 1 0 Level 4 0 2 Level 5 0 4 Level 6 0 0 test the game again and the feedback given to us by them was that the change had been effective and enough to improve the character’s handling. 5.2 Final Evaluation After the Mojo Evaluation session, we conducted another formal evaluation session. This time we choose to evaluate the game by using a pre-existing methodology. Additionally, we also decided to profile the players according to the DGD1 model[1]. 5.2.1 Method In this section, we present the methods we used in order to ascertain the type of player according to the Demographic Game Design 1 model[1] and the methods we used to evaluate Geometry friends. Determining type of player So that we could better analyse how well Geometry Friends had achieved its goal of providing fun to Casual players of the Participant profile, it was necessary to determine the type of player that was evaluating the game. We did this by using an online survey [5] made available by the creators of this model. It is important to note that the DGD1[1] are not mutually exclusive and this survey identifies how strongly each of the profiles are present in each player. Evaluating Geometry Friends The method used to evaluate the game was by letting users play all the levels of the game. After this game session, players were asked to use the criteria for Player Enjoyment in Games presented by GameFlow model’s[16]. This model allows us to examine how users feel about specific areas of the game. Additionally, as shown in[16], it can be used to review a game quite accurately, assuming one uses testers with high game literacy. Despite the authors considering that these should not be used as 5.2. FINAL EVALUATION 49 an evaluation tool, the are adequate to our purpose - finding out if we managed to create a game that has the qualities that are necessary to attract our target demographic. To this end we used a focus group of ten gamers with high game literacy. 5.2.2 Test User’s profiles Table 5.7 shows the DGD1 profiling of the group. As can be seen from it, the participant profile, despite not being the most dominant one, has significant representation for a group of this size. Table 5.7: DGD1 profiles of the sample Conqueror Manager Wanderer Participant Dominantly 0 3 0 1 Strongly 1 0 0 1 Moderately 2 2 4 1 Marginally 0 1 4 4 Total 3 6 8 7 The following table, table 5.8, shows the representation of the Casual and Hardcore demographics within our focus group. It was surprising to see this many casual gamers (6 out of 10) in a high game literacy group. Table 5.8: Casual vs Hardcore 5.2.3 Casual Hardcore 6 4 Results To facilitate the analysis of the data we constructed tables that showed the average values and corresponding standard deviation of our user tests. The values that users could assign to these criteria ranged from 1 to 5. The lowest value meant that the user felt the game went against that criteria, while the highest value represented that the user felt that the game fulfilled all requirements of that criteria. Table 5.9 contains the data of the criteria relevant to the Concentration Element. The table shows that, while users did not feel like they were being overstimulated by various sources, the game did do a good job at focusing them on the important game tasks. The fact that the game does not overstimulate players, or try to make a player juggle activities is a non problem. A frenetic pace would not help attract our target demographic. The game has some problems in the Challenge element as is easily show in table 5.10. Despite finding that the game has an adequate dificulty curve, players feel that the game’s challenges do not match their level. This is due to two extremes, the players that find the type of challenges used in 50 CHAPTER 5. EVALUATION Table 5.9: Concentration Average Standard Deviation Games should provides a lot of stimuli from 3.4 0.97 4.2 0.79 4.2 0.79 4.1 0.88 3.4 1.07 4.3 1.34 different sources Games should provide stimuli that are worth attending to Games should quickly grab the players’ attention and maintain their focus throughout the game Players should not be burdened with tasks that do not feel important Games should have a high workload, while still being appropriate for the players’ perceptual, cognitive, and memory limits Players should not be distracted from tasks that they want or need to concentrate on this game easy and proceeded easily from level to level, and those that got stuck for a while trying to overcome a challenge. Unfortunately, the easiest way to solve this problem is by having adjustable difficulty settings, but the challenges used in this game are not typically well suited for this solution. Additionally, most of the problems that player had were caused by deficient cooperation. This helps to explain why, despite feeling that there is some disconnection between a players skill and the game’s difficulty, the data gathered shows that players felt the game’s difficulty curve was well adjusted. Table 5.10: Challenge Average Standard Deviation Challenges in games must match the player’s skill level 3.1 0.99 Games should provide different levels of challenge 2.7 1.06 4.1 1.2 3.8 1.03 for different players The level of challenge should increase as the player progresses through the game and increases their skill level Games should provide new challenges at an appropriate pace 5.2. FINAL EVALUATION 51 Most of the problems related to the Player Skills element (see table 5.11) are due to the game’s limited protype form. The game has minimal form of in-game help and tutorials. Testing of the game is currently preceeded by an explanation of the game’s controls and the character’s abilities. This would have to be corrected so that the game was more accessible to target demographic. Table 5.11: Player Skills Average Standard Deviation Players should be able to start playing the game without 3.6 1.07 4.4 0.7 1.6 0.97 3 1.49 3.9 0.88 3.4 1.07 4.3 0.82 reading the manual Learning the game should not be boring, but be part of the fun Games should include online help so players do not need to exit the game Players should be taught to play the game through tutorials or initial levels that feel like playing the game Games should increase the players’ skills at an appropriate pace as they progress through the game Players should be rewarded appropriately for their effort and skill development Game interfaces and mechanics should be easy to learn and use Examination of table 5.12 shows that there is still room to improve the controls - both in terms of the controls’ responsiveness and accuracy. However, the observation of players suggests that the way to correct some of the problems players have would be by using a different control scheme. Sometimes players overtilt the Wii Remote when playing with ball character (or the Nunchuk when playing with the square character), which does not match the movement gesture they intend to do. The lowest ranked criteria is caused by a bug currently in the game that makes one character get stuck. Table 5.13 shows that the game’s objectives are easy to grasp and players are aware of them early in the game. Improving the visibility of intermediate goals needs to be done carefully. Intermediate goals are the next step to take in a puzzle, and if it is too obvious players will not be challenged by it. The user tests show (see table 5.14 that the feedback that players receive from the game needs little improvement. Determining how close a team of players is to completing a level is a simple matter of checking how many losangles in the level, the players’ actions result in the movement of their avatar and knowing the score is a simple matter of checking the in game timer. The Immersion element of this game, at first glance, appears to be too low (see table 5.15). However, it is necessary to keep in mind that one of the requirements of the game’s target demographic is that a game cannot be too consuming and needs to be playable for a few minutes. This suggests that having a moderate level of Immersion is desirable. Additionally, the authors of these criteria should be evaluated 52 CHAPTER 5. EVALUATION Table 5.12: Control Average Standard Deviation Players should feel a sense of control over their characters 4.2 0.63 3.9 0.99 3.8 1.23 3.4 0.88 4.2 0.79 4 1.05 or units and their movements and interactions in the game world Players should feel a sense of control over the game interface and input devices Players should feel a sense of control over the game shell (starting, stopping, saving, etc.) Players should not be able to make errors that are detrimental to the game and should be supported in recovering from errors Players should feel a sense of control and impact onto the game world (like their actions matter and they are shaping the game world) Players should feel a sense of control over the actions that they take and the strategies that they use and that they are free to play the game the way that they want (not simply discovering actions and strategies planned by the game developers) Table 5.13: Clear Goals Average Standard Deviation Overriding goals should be clear and presented early 4.4 0.84 Intermediate goals should be clear and presented at 3.9 0.99 appropriate times Table 5.14: Feedback Average Standard Deviation Players should receive feedback on progress toward their goals 4.2 0.92 Players should receive immediate feedback on their actions 4.5 0.71 Players should always know their status or score 4.1 1.37 5.2. FINAL EVALUATION 53 through observation[16] and not direct questioning. Table 5.15: Immersion Average Standard Deviation Players should become less aware of their surroundings 3.3 0.95 Players should become less self-aware and less worried about 3.1 0.88 Players should experience an altered sense of time 3.2 0.79 Players should feel emotionally involved in the game 2.7 1.06 Players should feel viscerally involved in the game 2.6 1.26 everyday life or self The Social Interaction allowed by the game is one of the most important requirements. As seen in table 5.16, our game has succeeded in fullfilling this aspect of our user’s needs. The only Social Interaction criteria that our game does not meet is not relevant to the type of game - a co-located cooperative game. Table 5.16: Social Interaction Average Standard Deviation Games should support competition and cooperation 4.9 0.32 4.4 0.7 2 1.15 between players Games should support social interaction between players (chat, etc.) Games should support social communities inside and outside the game Using these criterias to evaluate Geometry Friends has shown that it has accomplished most of its objectives succesfully - being a simple two-player co-located cooperative game that catters to a particular demographic with particular needs. This study has also allowed us to identify some rough edges that require some additional polishing so that the game provides a better experience for this demographic. 54 CHAPTER 5. EVALUATION Chapter 6 Conclusions By focusing on the needs of a specific demographic of players, we were able to determine the requirements of a game for them. This demographic required a cooperative co-located game that allowed social interaction between players. Our exploration of current successful cooperative games, game design and social psychology theories allowed us to determine factors that could be used to ensure that our game promoted cooperative behaviour. First and foremost is the fact that gameplay is a series of challenges that are beaten when players successfully perform tasks. If we can guarantee that these tasks require or promote cooperation, we are effectively creating a cooperative game. Steiner’s Task typology[14] can be used as a useful tool to quickly assess the potential for cooperation of any given task. Within each of the Game Challenges types[9], there are some game challenge types that have already been used in games to promote cooperation. We also explored and exposed some more abstract notions that games often use to enhance and promote cooperation between players. Due to the fact that they are more abstract concepts that are used freely in games, independently of genre, we chose to formalize them as Game Design Pattterns[3]. We developed Geometry Friends, a two player cooperative 2D platform game so that we could test some of the concepts that we identified. We mainly used three design patterns in the development of this game - Complementarity, Synergies Between Abilities and Shared Goals. Most of the challenges used in the game were the natural choice for a platform game - Coordination, Reflex/reaction and Spatialawareness Challenges. We mainly used conjuctive tasks in the challenges present in the game, so that the challenges were only beaten by joint effort from the players. Using a development cycle of prototyping and evaluating helped polish each iteration of the game and identify problem areas that neeeded improvement. The evaluation made during the prototype stage and the final evaluation shows us that we have sucessfully created a game that emphasizes cooperative gameplay. However, our evaluation also shows that some extra care should be taken in designing the levels for a cooperative game that has characters with different abilities. The level design should be balanced to make sure that one of the players does not feel like he is being left out. In our game, this was quite apparent on the fifth level. This also suggests that creating a level that is solved entirely by using a Divide and Conquer approach is not the best idea for a cooperative game. As future work, it is possible to make further user tests with Geometry Friends (using tests with indirect questioning to evaluate each of GameFlow’s Criteria for Player Enjoyment), so that it can be better assessed as a cooperative game for Participant players. Additionally, it is possible to continue to 55 56 CHAPTER 6. CONCLUSIONS polish several areas of the game. The theoritical work concerning Game Design Patterns and Challenge Archetypes can continue to be explored. There were enough unused but identified mechanics to attempt to make a completely different game for a different demographic of users. Bibliography [1] C. Bateman and R. Boon. 21st Century Game Design. Charles River Media, 2005. [2] S. Björk and J. Holopainen. Patterns in Game Design. Charles River Media, 2005. [3] S. Björk, S. Lundgren, and J. Holopainen. Game design patterns. In Proceedings of Digital Games Research Conference 2003, 2003. [4] Blizzard Entertainment. World of warcraft official website. URL http://www. worldofwarcraft.com/. Date accessed - 15th April, 2009. [5] International Hobo. Dgd1 questionnaire - what playstyle do you prefer? URL http://survey. ihobo.com/DGD/DGD1.shtml. Date accessed - 15th April, 2009. [6] A.G. Ingham, G. Levinger, J. Graves, and V. Peckham. The ringelmann effect: Studies of group size and group performance. Journal of Experimental Social Psychology, 10(4):371–384, July 1974. [7] Pascal Luban. The megatrends of game design, part 3, December 2008. URL http://www.gamasutra.com/view/feature/3869/the_megatrends_of_game_ design_.php?print=1. Date accessed - 15th April, 2009. [8] Matthias Rehm, Nikolaus Bee, and Elisabeth André. Wave like an egyption - accelerometer based gesture recognition for culture specific interactions. In Proceedings of HCI 2008, 2008. [9] A. Rollings and E. Adams. On Game Design. New Riders, 2003. [10] Mariko Sanchanta. Nintendo’s wii takes console lead. URL http://www.ft.com/cms/s/0/ 51df0c84-6154-11dc-bf25-0000779fd2ac.html?nclickcheck=1. Date published - 12th September 2007. Date accessed - 15th April, 2009. [11] Valve Software. Counter-strike official webpage, . URL www.counter-strike.net. Date accessed - 15th April, 2009. [12] Valve Software. Left 4 dead official website, . URL http://www.l4d.com/. Date accessed 15th April, 2009. [13] Valve Software. Team fortress 2 official webpage, . URL http://teamfortress.com/. Date accessed - 15th April, 2009. [14] L.D. Steiner. Group Process and Productivity (Social Psychological Monograph). Academic Press Inc, 1972. [15] Gloria Stern. cember 1997. Discussing multiplayer online games with digital arcana’s jeffrey sullivan, DeURL http://www.gamasutra.com/view/feature/3244/discussing_ multiplayer_online_.php?print=1. Date accessed - 15th April, 2009. [16] P. Sweetster and P. Wyeth. Gameflow: a model for evaluating player enjoyment in games. In Computers in Entertainment. Volume 3 , Issue 3, July 2005. [17] Wiili. Wiili. URL www.wiili.org. Date accessed - 15th April, 2009. [18] Left 4 Dead Wiki. Infected webpage, . URL http://left4dead.wikia.com/wiki/Infected. Date accessed - 15th April, 2009. 57 58 BIBLIOGRAPHY [19] Left 4 Dead Wiki. Gameplay modes webpage, . URL http://left4dead.wikia.com/wiki/ Gameplay_modes. Date accessed - 15th April, 2009. [20] Left 4 Dead Wiki. Survivors webpage, . URL http://left4dead.wikia.com/wiki/ Survivors. Date accessed - 15th April, 2009. [21] Left 4 Dead Wiki. Weapons webpage, . URL http://left4dead.wikia.com/wiki/Weapons. Date accessed - 15th April, 2009. [22] TF2 Wiki. Classes webpage, . URL http://tf2wiki.net/wiki/Class. Date accessed - 15th April, 2009. [23] TF2 Wiki. Maps webpage, . URL http://tf2wiki.net/wiki/Maps. Date accessed - 15th April, 2009. [24] Wikipedia. Lego star wars: The video game webpage, . URL http://en.wikipedia.org/ wiki/Lego_Star_Wars_The_Video_Game. Date accessed - 15th April, 2009. [25] Wikipedia. Team fortress webpage, . URL http://en.wikipedia.org/wiki/Team_ Fortress. Date accessed - 15th April, 2009. [26] Wikipedia. Team fortress classic webpage, . URL http://en.wikipedia.org/wiki/Team_ Fortress_Classic. Date accessed - 15th April, 2009. [27] WoWWiki. Alterac valley webpage, . URL http://www.wowwiki.com/Alterac_Valley. Date accessed - 15th April, 2009. [28] WoWWiki. Arathi basin webpage, . URL http://www.wowwiki.com/Arathi_basin. Date accessed - 15th April, 2009. [29] WoWWiki. Arena webpage, . URL http://www.wowwiki.com/Arena. Date accessed - 15th April, 2009. [30] WoWWiki. Eye of the storm webpage, . URL http://www.wowwiki.com/Eye_of_the_storm. Date accessed - 15th April, 2009. [31] WoWWiki. Holy trinity webpage, . URL http://www.wowwiki.com/Holy_Trinity. Date accessed - 15th April, 2009. [32] WoWWiki. Professions webpage, . URL http://www.wowwiki.com/Professions. Date accessed - 15th April, 2009. [33] WoWWiki. Strand of the ancients webpage, . URL http://www.wowwiki.com/Strand_of_ the_Ancients. Date accessed - 15th April, 2009. [34] WoWWiki. Warsong gulch webpage, . URL http://www.wowwiki.com/Warsong_Gulch. Date accessed - 15th April, 2009.