Mazekeeper Information Systems and Computer Engineering
Total Page:16
File Type:pdf, Size:1020Kb
Mazekeeper A Real Time Strategy Browser Game Miguel Francisco Alegra Rebocho de Oliveira Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisor(s): Prof. Pedro Alexandre Simões dos Santos Examination Committee Chairperson: Prof. Alberto Manuel Rodrigues da Silva Supervisor: Prof. Pedro Alexandre Simões dos Santos Member of the Committee: Prof. António Manuel Ferreira Rito da Silva August and 2017 ii Acknowledgments I want to thank, my family for their patience, support and participation in this project. Pedro Santos, for his guidence and advice during the entire project, for his participation, and most important, for his exigency. Joao˜ Dias, for his participation and advice during the project development. the group Logoff for developing the music for the last prototype. and all my friends that participated during the testing phase, for their feedback and their enthusiasm. iii iv Resumo Este documento apresenta uma analise´ do desenvolvimento de um conceito de jogo bem como o sistema desenvolvido para suportar esse conceito. E´ feita uma contextualizac¸ao˜ que permite perceber qual as caracter´ısticas, a plataforma, a tecnologia e os jogadores alvo do jogo desenvolvido. Foram desenvolvidos varios´ prototipos´ iniciais do jogos que permitiram tirar conclusoes˜ sobre o conceito, usabilidade e viabilidade do projeto em questao.˜ Apos´ apresentados inqueritos´ e apos´ a participac¸ao˜ em reunioes˜ com um grupo de jogadores, foram extra´ıdas informac¸oes˜ sobre as diversas areas´ do projeto. Uma vez que o jogo apresenta uma componente multi-jogador, sao˜ apresentados os requisitos bem como uma soluc¸ao˜ arquitetural para a implementac¸ao˜ do sistema. Tambem´ e´ feita uma analise´ mais exaustiva a` informac¸ao˜ gerada pelo sistema desenvolvido bem como a opiniao˜ dos jogadores acerca das varias´ versoes˜ do prototipo´ final apresentadas. Tal informac¸ao˜ permitiu a refactorizac¸ao˜ de conceitos e de partes do sistema. Palavras-chave: Jogo Virtual, Jogos de Estrategia,´ Tower Defense, Conceito de jogo, Sys- tema de Jogo, Desenvolvimento de um jogo v vi Abstract This document presents an analysis of the development of a game concept, as well as the system developed to support that concept. It is made a contextualization that allows us to understand what are the characteristics, platforms, technology, and target players of the developed game. Several initial prototypes were developed, which allowed drawing conclusions about the concept’s usability and the viability of the project. After some surveys and after participating in some meetings with the game focus group, there was extracted information about the different components of the project. The game presents a multi-player component, it is also presented what are the requisites as well as the architectural solution to the system implementation. This way, a more exaustive analysis of the information generated by the developed system was made, as well as the users’ opinions about the prototype presented. Such information allowed the redesign of parts of the system. Keywords: Virtual Game, RTS Game, Tower Defense Game, Game Concept, Game System, Game Development. vii viii Contents Acknowledgments........................................... iii Resumo.................................................v Abstract................................................. vii Nomenclature..............................................1 Glossary................................................1 1 Introduction 1 1.1 Motivation.............................................1 1.2 Goals...............................................2 1.3 Outline...............................................2 2 Related Work 3 2.1 Real Time Strategy Games...................................3 2.1.1 Concept..........................................3 2.1.2 History..........................................4 2.2 Tower Defense Games......................................7 2.2.1 Concept..........................................7 2.2.2 History..........................................7 2.3 Browser and Mobile Games................................... 10 2.3.1 Browser.......................................... 10 2.3.2 Mobile........................................... 12 2.4 Target Players.......................................... 14 2.5 Technology............................................ 15 2.5.1 Networking........................................ 17 2.5.2 Game Engine (Unity)................................... 19 3 Game Concept 21 3.1 Player City............................................ 22 3.2 Player Lane............................................ 22 3.3 Map................................................ 23 3.4 Other Game Features...................................... 23 3.4.1 NPC Villages....................................... 23 ix 3.4.2 Heroes.......................................... 24 3.4.3 Events........................................... 24 4 Architecture of the Solution 25 4.1 Quality Attributes......................................... 25 4.2 Project Structure......................................... 26 4.2.1 Front End (Web Page).................................. 27 4.2.2 Game Application.................................... 27 4.2.3 Back End (Game Server)................................ 28 5 The First Iteration of the Implementation 31 5.1 Implementation of the Prototypes................................ 31 5.2 User Testing........................................... 33 5.2.1 Testing Results...................................... 34 6 Second Iteration of the Implementation 41 6.1 City gameplay development................................... 42 6.2 Lane gameplay development.................................. 43 6.2.1 Battle System....................................... 44 6.3 Map gameplay development................................... 45 6.4 Good Programing Practices................................... 48 6.5 Analytics System......................................... 48 6.5.1 Second Prototype Analytics............................... 48 6.6 Final Prototype Survey...................................... 56 7 Conclusions and Future Work 61 7.1 Conclusions............................................ 61 7.2 Future Work............................................ 62 Bibliography 66 x Chapter 1 Introduction Games have been a constant preference throughout Human history, from the table games still played today to the virtual games that appeared with the personal computer and consoles. The World Wide Web is no exception. Since the early stages more and more complex web and browser games have been developed transforming the game paradigm that existed. Single player games or limited multi- player games, that required a physical presence, started to be put aside when massive online games came into play. The interaction between different players in a game brought about a new way of fun, turning games into social experiences N. Ducheneaut, N. Yee, E. Nickell, and R. Moore[2006]. This project presents a concept that provides new and creative ways of exploring old features. Based on old games, it is intended that Mazekeeper will provide the old fun in modern ways. 1.1 Motivation Strategy browser games are appreciated by a large community of players. Due to their casual game style, simplicity or even their easy access, this type of game has proven to have a loyal player base. However, having a large player community that plays a game genre in a certain platform is not enough to ensure the success of any project. There are certain aspects that present a good motivation to enrol in such a project. Playing has became more of a social activity. Games with a good concept and good game me- chanics have a wider community than ever before. People seek not only the game experience but also the social activity Vanhatupa[2010]. Recently, there has been a gaming boom. More and more games are published every year for the most diverse platforms. As more and more people start playing, more games are created to explore their profitable side. One of the reasons for this might be the game availability that exists D. Williams , N. Martins , M. Consalvo , and J. Ivory[2009]. The existence of a wider range of platforms that support virtual games makes them more acces- sible than ever. With the increase of deployment of platforms that have high computational power, such as current smart phones, more complex games can be developed. The availability of new and more powerful game engines has made game development easier. 1 With less implementations required to develop a more complex game concept, more conplex games have appeared on the market. 1.2 Goals The main goals for this project are the following: 1. To create a fun and solid game concept that is compatible with the game genre and game platform indicated in the thesis proposal. 2. Present new features not seen in the same game genre for the target platform. Innovation is a key factor that leads to project success, and, thus, presenting new appealing features will be a highlight of the developed project. 3. Having a fully-functional and tested prototype of Mazekeeper. The system should be able to pro- vide the desired gameplay to all players that decide to enrol in this adventure. It should also present new characteristics from the existing trending games. 4. Being able to extract analytics about user activities in order to analyse possible game improve- ments and to be able to balance different aspects of the game. 1.3 Outline This theses is organized as follows: