Computing Techniques for Game Design
Total Page:16
File Type:pdf, Size:1020Kb
COMPUTING TECHNIQUES FOR GAME DESIGN by Jonathan Tremblay School of Computer Science McGill University, Montreal,´ Quebec,´ Canada April 12, 2016 A THESIS SUBMITTED TO MCGILL UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS OF THE DEGREE OF DOCTOR OF PHILOSOPHY Copyright © 2016 by Jonathan Tremblay Abstract Game design is the art of crafting interactive content. Game designers build games which are composed mainly of rules describing how its content reacts to the player’s in- teractions. Designers, in this context, are interested in molding play, the synergy between players and rules. During the creation process designers seek information about this syn- ergy in order to validate their design. Commonly, human testers are required to play the design in order to offer meaningful feedback to the developers. This dissertation attempts to introduce computing techniques in the game design pro- cess, where we seek to design artificial players that can interact with a game developer’s design. These artificial players collect meaningful information about the design, and how they interact with the game provides the game developer with valuable insights. The intro- duction of mechanisation has potential for reducing game developers’ intellectual reason- ing, testing time, development costs, etc. This thesis discourse presents first a form of game testing where artificial players are described as reactive. This approach consists of letting artificial players use the in-game controls to interact with the design. This approach allows for a fine tuned game testing, where instead of a game abstraction, direct controls are given to the artificial player. In this context, this approach was used to evaluate different non player character behaviours that support the player. In order to accelerate the collection of interactive data, we explored translating games and their content into formal representations and use search algorithms for interaction analysis. Formal representations consist of describing games as a state space which al- lows formal modelling and thinking. Using search algorithms we can then explore the state 1 space to collect meaningful information about the game, possible solutions and attempts in the context of a game level. In greater detail this thesis presents a general game state space representation that takes advantage of time-space constructions. We present three different game genre representations, platformers as they are a popular and easy to design, stealth games for their interesting time-space representation, and combat games to repre- sent the most popular game genre, first person shooters. To these we apply different search algorithms, such as A⋆, Rapidly-exploring Random Tree, and Monte Carlo Tree Search and show how their existing qualities in terms of search optimization algorithms can be tailored to more general game design purposes. Moreover, we also investigate how computing techniques can be used in order to measure different quantitative values about the game experience, such as the level difficulty. As a whole this dissertation offers general guidelines and observations to include com- puting techniques in the design process. These guidelines offer an algorithmic approach for describing the game state space and how to explore it. We also identify techniques for pre- senting the artificially produced data to developers. Presenting the multi-dimensional data that arises from our design clearly is intricately linked to the developer’s capacity to make informed decisions about his or her design. Comprehensibly, the introduction of mecha- nisation in the game design process has the potential for increasing the designer’s creative reach as well as reducing his or her symbolic reasoning burden. 2 Resum´ e´ La conception de jeu est l’art d’elaborer´ un systeme` interactif. Les concepteurs de jeux construisent des systemes` qui sont principalement composes´ de regles.` Ces dernieres` decrivent´ comment le contenu interagit avec le joueur. Les concepteurs de jeux souhaitent fac¸onner le jeu, cette synergie entre les joueurs et les regles.` Durant ce processus, ils cherchent a` comprendre et valider cette interaction.´ Usuellement, cette information est obtenue par l’introduction de testeurs humains qui testent, jouent et explorent le jeu en conception. Cette these` propose d’introduire des techniques de calcul informatique dans le proces- sus de creation´ de jeux, afin de creer´ des joueurs artificiels qui peuvent interagir avec le contenu en developpement.´ Les joueurs artificiels recueillent de l’information importante a` propos de leurs interactions afin d’offrir un point de vue utile et important aux concepteurs. L’introduction de techniques de calcul informatique peut reduire´ le raisonnement intellec- tuel des concepteurs, le temps pour tester, les coutsˆ de developpement,´ etc. En premier lieu, dans cette these,` nous introduisons des joueurs intelligents qui utilisent directement les controlesˆ du jeu, nous les decrivons´ comme agents reactifs.´ Cette approche consiste a laisser les joueurs artificiels interagir´ directement avec la conception. Elle permet de minutieusement tester le jeu, ou` dans notre autre approche, une representation´ est uti- lisee,´ or ; certains details´ sont perdus. Dans ce contexte, nous avons utilise´ cette approche afin d’evaluer´ certains comportements de personnages non joueurs qui ont pour but d’ac- compagner le joueur humain dans un monde virtuel. Afin d’accel´ erer´ la collecte de donnees´ interactives, nous allons explorer comment tra- duire un jeu video´ en representation´ mathematiquement´ formelle et comment utiliser cette 3 derniere` avec des algorithmes de recherches pour l’analyse d’interactions. Cette representation´ consiste a` decrire´ l’univers du jeu en tant qu’espace d’etats,´ avec laquelle nous pouvons construire des modeles` formels. Avec l’aide d’algorithmes de recherche, nous pouvons explorer cet espace afin de recueillir de l’information pertinente a` propos du jeu, et de so- lutions et echecs´ possibles. Cette these` propose une construction de l’espace d’etat´ avec le temps comme composante dimensionnelle. Nous explorons trois differents´ genres de jeux : platformers pour leurs popularites´ et accessibilites,´ jeu de cachettes pour leurs dependances´ avec le temps, et jeu de combat, car ils sont le genre de jeu le plus populaire, p. ex., jeu de tir a` la premiere` personne. Afin d’explorer les differents´ genres de jeu proposes,´ nous allons utiliser differents´ algorithmes de recherche, comme : A⋆, Rapidly-exploring Random Tree, et Monte Carlo Tree Search. Pour chaque algorithme, nous allons discuter leurs qualites´ quand ils sont introduits dans le processus de conception de jeu video.´ Sans oublier, nous explorons comment nous pouvons mesurer quantitativement l’experience´ de jeu, p. ex., la difficulte´ d’un jeu. De plus, cette these` presente´ nos observations et lec¸ons apprises durant le developpement´ des differents´ outils informatiques afin d’introduire des techniques de calcul informatique dans le processus de conception de jeu. Nous avons identifie´ plusieurs techniques afin de presenter´ des donnees´ hautement interactives. Notre capacite´ a` presenter´ ses donnees´ sont directement lie´ avec celle des developpeurs´ a` prendre des decisions´ eclair´ es´ a` propos de leur conception. Finalement, l’introduction de techniques de calcul informatique dans le processus de conception de jeu video´ a le potentiel d’augmenter la capacite´ creative´ des concepteurs de jeux, en plus de reduire´ leurs raisonnements intellectuels. 4 Acknowledgments Lauren Nicole McGann, you, the love of my life, I would like to thank you first. It goes without saying that without you my life would not be as magical and flawless. I am proud and blessed to share my life with you. Merci, je t’aime Eliana Jade McGann Tremblay, my daughter, in the grand scale of things, I believe you have accomplished more in your first year of life, than I ever have. You make me a very proud father, watching you gave me the drive to continue. Je suis fiere` de toi To my parents, merci a` vous pour les sacrifices que vous avez faits pour moi, de m’avoir laisse´ poursuivre mes revesˆ et, finalement et simplement de m’aimer. Vous etesˆ mes modeles` de persev´ erance´ et determination.´ J’apprends tellement de vous. Merci Maman et Papa Clark Verbrugge, first thank you to have shaped my intellect and provided me with the tools to flourish as a human being. Your guidance through this journey gave me the means to explore my own interest and expand my intellectual horizon (in so many ways). Clark, you have all my gratitude Most of this work presented in this thesis would have been impossible without the help of countless people. Thus, I would like to personally thank the following people for their direct help, intellect, commitment, and patience: Perdo Andrade Torres, Nir 5 Rikovitch, Christopher Dragert, Alexander Borodivski, Qihan Xu, Jonathan Campbell, Muntasir Chowdhury, Shuo Xu, Amir Yahyavi, Claude Gravel, Faiz Khan and Bettina Kemme. It stands to reason that the friendships I have developed during my years in Montreal´ helped shape this dissertation. Ipso facto, I would like to thank, Darryel Boucher, Ben Kybartas, Lei Xu, Vladimir Reinharz, Antoine Soule,´ Florence Clerc, Franc¸ois Mouillot, Myriam Turenne, Bentley James Oakes, Xing Shi Cai, and Jean-Christophe Guern. Thank you to all of you to have share countless espressos with me. I would like to thank the government of Quebec´ et les Queb´ ecois´ for having conceived a school system which allows someone of modest means from a small town in the great north of the province to complete a philosophical doctorate. Also, I would like to recognize the financial help provided by the Fonds de recherche du Quebec´ - Nature et Technologies (FQRNT), the Natural Sciences and Engineering Research Council of Canada (NSERC), and Lorne Trottier. Lastly, I would like to thank McGill University and the School of Computer Science, for providing me with an environment where I could learn and grow, both as a computer scientist and as a person. McGill University, Quebec,´ Canada April 12, 2016 6 Contents 1 Introduction and Contributions 25 1.1 Goal .