Technology Trees and Tools: Constructing Development Graphs for Digital Games
Total Page:16
File Type:pdf, Size:1020Kb
Tampereen teknillinen yliopisto. Julkaisu 1349 Tampere University of Technology. Publication 1349 Teemu J. Heinimäki Technology Trees and Tools: Constructing Development Graphs for Digital Games Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB224, at Tampere University of Technology, on the 27th of November 2015, at 12 noon. Tampereen teknillinen yliopisto – Tampere University of Technology Tampere 2015 ISBN 978-952-15-3633-5 (printed) ISBN 978-952-15-3647-2 (PDF) ISSN 1459-2045 Abstract In the recent years, digital games have solidified their role as important parts of life for a considerable portion of the population. Game development has become an extremely important industrial branch with a great deal of com- petition between developers and publishers. There is only a limited amount of resources to put in the development of a game, but the modern customers expect high quality. Taking these constraints into account, this dissertation focuses on devel- oping implementations of a structure that is used widely in different games: technology trees (TTs). This term covers here also so-called skill trees, talent trees, perk trees, and other such structures used to limit and guide in-game development and define development possibilities. The aim is to propose methods and usage of tools helping to achieve high TT quality, simultane- ously facilitating the actual development process and reducing human work- load. The main contributions of this dissertation consist of ideas, models, meth- ods, and software tool prototypes constructed during the research work. The significance of the thesis is amplified by the fact that there are only very few previous academic studies focusing on TTs. The thesis proposes a generic approach to implement TTs. The design and implementation work are facilitated by tool support and automated code generation. The central prototype tool, Tech Tree Tool (TTT) is introduced, first in its core form and then as improved by TT measuring (and limited automatic adjusting) capabilities. The challenge of modifying TTs during runtime is addressed, also taking advantage of related improvements on TTT. Because TTs are often operated by artificially intelligent entities, discussion iii on a generic artificial intelligence approach and related tools is included. Moreover, contemporary real-life TTs are analyzed and generic TTs charac- terized. Keywords: code generation, scripting, software tools, tech trees, technology trees iv Preface We are living in extremely interesting times. Lately, the academic community has finally started to take research efforts concerning digital games somewhat seriously. Although there are still people uncertain about this field, the situation keeps changing. Digital gaming evolves and expands forcefully to new areas such as education. Gamification has become a buzz word. So, I consider myself fortunate for having been able to step on the shoulders of giants and start my research career in these exciting circumstances. My research work started a couple of years ago under supervision of Pro- fessor Tommi Mikkonen. I learned much working in his projects and appre- ciate his contribution for my initial research efforts. Professor Tapio Elomaa has been my supervisor throughout most of my graduate studies. His ex- pertise and guidance have continuously been invaluable assets. I would also like to express my gratitude to my colleague Doctor Juha-Matti Vanhatupa for inspirational discussions and his contributions for joint publications, one of which is also included in this dissertation. During the pre-examination phase, I got excellent advice from Doctor David W. Aha, Professor Ulf Jo- hansson, Professor Peter Quax, and Adjunct Professor Jouni Smed. They deserve special thanks for their efforts, as does my opponent, Professor Erkki Sutinen. Writing the doctoral thesis would certainly have taken more time, had I not have the opportunity to make my living by solving the research prob- lems. Fortunately, I had the chance to carry out my doctoral studies and the thesis-writing process working with the late Department of Computer Sys- tems and later with the Department of Mathematics of Tampere University of Technology. I would hereby like to thank everyone involved in creating v and maintaining the stimulating and pleasant working environment. In addi- tion to the funding provided by these departments, my work was financially partly supported by the Tampere Doctoral Programme in Information Sci- ence and Engineering, the Academy of Finland, and the Foundation of Nokia Corporation. The nature of research work is such that it cannot really be confined within office rooms or predetermined office hours; it is more like a way of living than a daywork. Therefore, it also casts a shadow on private life and free time. I would like to apologize for being irritating and thank all the affected persons for their understanding and patience so far. Tampere, October 20, 2015 Teemu J. Heinim¨aki Dedicated to P¨orri and Ninjakissa. vi Contents Abstract iii Preface v Contents vii List of Figures ix Abbreviations xi List of Included Publications xiii Author’s Contribution to the Included Publications xv 1 Introduction 1 1.1 Motivation............................. 2 1.2 ScopeandObjectives....................... 3 1.3 ResearchQuestions ........................ 5 1.4 View to the Research Work and Applied Methodology . 6 1.5 ContributionsoftheThesis . 8 1.6 TheOutlineoftheThesis .................... 9 2 Games and In-Game Development 11 2.1 GenresofDigitalGames . .. .. .. 13 2.1.1 Computer Role-Playing Games . 13 2.1.2 StrategyGames...................... 14 2.1.3 OtherRelevantGameTypes. 16 2.2 DevelopmentasaPartofGameplay. 17 2.2.1 Non-DigitalGames . .. .. .. 17 2.2.2 DigitalGames....................... 19 2.3 TechnologyTrees ......................... 20 2.3.1 Technology Tree Types and Related Mechanisms . 25 2.3.2 UsingTechnologyTrees . 30 2.3.3 Common Problems with Technology Trees . 32 vii 3 Game Development, Tools, and Academic Interests 35 3.1 GameEnginesandSoftwareTools. 36 3.2 GameDevelopersandContent. 39 3.2.1 Heterogeneous Developers: Content Providers and Pro- grammers ......................... 39 3.2.2 User-CreatedContent . 42 3.3 OnScripting............................ 45 3.4 On Artificial Intelligence . 45 3.5 RelatedWork ........................... 47 4 Separate Functional Modifiable High-Quality Technology Trees and Constructing Them 53 4.1 Technology Trees as Replaceable, Independent Entities . 54 4.2 Technology Tree Implementation Format Unification . 56 4.3 Technology Trees as Functional Entities . 59 4.4 TechnologyTreesasScripts . 61 4.5 CreatingTechnologyTrees . 63 4.5.1 TheTrinityofaGame .................. 65 4.5.2 Automation and its Limits . 66 4.6 Introduction to the Included Publications . 67 4.6.1 Publication I: Technology Trees in Digital Gaming . 68 4.6.2 Publication II: Implementing Artificial Intelligence: A Generic Approach with Software Support . 68 4.6.3 Publication III: Considerations on Measuring TechnologyTreeFeatures . 70 4.6.4 Publication IV: Facilitating Technology Forestry: Software Tool Support for Creating Functional Tech- nologyTrees........................ 70 4.6.5 Publication V: Quality Measures for Improving Tech- nologyTrees........................ 71 4.6.6 Publication VI: Augmenting Technology Trees: AutomationandToolSupport . 71 5 Discussion 73 6 Conclusion 79 6.1 AnswerstotheResearchQuestions . 80 6.2 TheFuture ............................ 83 Bibliography 87 Publications viii List of Figures 2.1 Development and keeping track of it in traditional games. 18 2.2 ThebasicideaofaTT....................... 21 2.3 A partial TT visualized within a game. 23 2.4 Buildings offering development options. 24 2.5 Severalsmall“skilltrees”. 26 2.6 Small trees do not mean that the development system is trivial. 30 2.7 TTsforclansandindividualcharacters. 31 3.1 People associated with digital game development. 43 4.1 A TT with internal functionality. 61 4.2 Game creation: components, actors, and their relations. 64 5.1 The “tech web” of Sid Meier’s Civilization: Beyond Earth. .. 76 5.2 The slot system of The Witcher 3: Wild Hunt.......... 77 ix x Abbreviations 3D three-dimensional 4X eXplore, eXpand, eXploit, and eXterminate ADR action design research AI artificial intelligence Civ Sid Meier’s Civilization (MicroProse 1991) Civ 5 Sid Meier’s Civilization V (Firaxis Games 2010) CLI command line interface CO collectible object CRPG computer role-playing game FSM finite state machine GOAP goal-oriented action planning GTR graphical interactive technology tree representation GUI graphical user interface LOD level of development NPC non-player character PC player character RQ research question RTS real-time strategy Sh¯ogun 2 Total War: Shogun 2 (The Creative Assembly 2011) Skyrim The Elder Scrolls V: Skyrim (Bethesda Game Studios 2011) TBS turn-based strategy TT technology tree (tech tree) TTRC technology tree representation component TTT Tech Tree Tool UI user interface Witcher 2 The Witcher 2: Assassins of Kings (CD Projekt RED 2011) XP experience point xi xii List of Included Publications This thesis is a compendium of six original publications referred in the text with the Roman numerals as indicated in the following list. The listing order is not chronological or alphabetical, but the publications are presented in the natural order considering the discussion to follow. I T. J. Heinim¨aki. Technology