On the Feasibility of Using Use Case Maps for the Prevention of Sequence Breaking in Video Games
Total Page:16
File Type:pdf, Size:1020Kb
On the Feasibility of using Use Case Maps for the Prevention of Sequence Breaking in Video Games by Matthew Shelley A thesis submitted to the Faculty of Graduate and Postdoctoral Affairs in partial fulfillment of the requirements for the degree of Master of Computer Science in Computer Science Carleton University Ottawa, Ontario ©2013, Matthew Shelley Library and Archives Bibliotheque et Canada Archives Canada Published Heritage Direction du 1+1 Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A0N4 Ottawa ON K1A 0N4 Canada Canada Your file Votre reference ISBN: 978-0-494-94637-4 Our file Notre reference ISBN: 978-0-494-94637-4 NOTICE: AVIS: The author has granted a non L'auteur a accorde une licence non exclusive exclusive license allowing Library and permettant a la Bibliotheque et Archives Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par I'lnternet, preter, telecommunication or on the Internet, distribuer et vendre des theses partout dans le loan, distrbute and sell theses monde, a des fins commerciales ou autres, sur worldwide, for commercial or non support microforme, papier, electronique et/ou commercial purposes, in microform, autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in this et des droits moraux qui protege cette these. Ni thesis. Neither the thesis nor la these ni des extraits substantiels de celle-ci substantial extracts from it may be ne doivent etre imprimes ou autrement printed or otherwise reproduced reproduits sans son autorisation. without the author's permission. In compliance with the Canadian Conformement a la loi canadienne sur la Privacy Act some supporting forms protection de la vie privee, quelques may have been removed from this formulaires secondaires ont ete enleves de thesis. cette these. While these forms may be included Bien que ces formulaires aient inclus dans in the document page count, their la pagination, il n'y aura aucun contenu removal does not represent any loss manquant. of content from the thesis. Canada Abstract “Sequence Breaking” is a type of feature interaction conflict that exists in video games where the player gains access to a portion of a game that should be inaccessible. In such instances, a game’s subsuming feature—its storyline—is disrupted, as the predefined set of valid event sequences—events being uninterruptable units of functionality that further the game’s story—is not honoured, as per the game designers’ intentions. We postulate that sequence breaking often arises through bypassing geographic barriers, cheating, and misunderstanding on the player’s behalf. Throughout this dissertation, we present an approach to preventing sequence breaking at run-time with the help of Use Case Maps. We create a “narrative manager” and traversal algorithm to monitor the player’s narrative progress and check the legality of attempted event calls. We verify our solution through test cases and show its feasibility through a game, concluding that our solution is sufficient and feasible. Acknowledgements I would like to thank my supervisors, Wei Shi and Jean-Pierre Corriveau, for granting me the opportunity to complete my Master’s degree at Carleton University and for all of their encouragement and support throughout my degree. 1 am thankful for the financial support provided by the Natural Sciences and Engineering Research Council of Canada (NSERC) and the many resources that were made available to me at Carleton University. I would like to thank my parents, Kathleen and Joseph Shelley, my brothers, Jimmy and Steven Shelley, and my extended family for their patience, support, and every bit of help along the way. I cannot imagine how I would have completed my degree without you. To my brother, Steven Shelley, and Emma Victoria Peterson, congratulations on your beautiful baby girl, Evelyn-Leigh Kara Shelley, who was bom during the early stages of this thesis. Happy (belated) first birthday, Evelyn! To the Ottawa Bronies, thank you for your friendship. In your honour, I have named the major contribution of this thesis the Royal Pegasi Algorithm. To all of my friends and everyone else who helped me along the way, Thank you. Table of Contents Abstract.......................................................................................................................................... ii Acknowledgements .................................................................................................................... iii Table of Contents ........................................................................................................................iv List of Tables .............................................................................................................................viii List of Figures .............................................................................................................................. ix List of Appendices .......................................................................................................................xi List of T erm s ..............................................................................................................................xii 1 Chapter: Introduction ...........................................................................................................1 1.1 Motivation .......................................................................................................................2 1.1.1 Claim 1: Feature Interaction Is a Significant and Well-Known Problem 2 1.1.2 Claim 2: Sequence Breaking Is a Subset of Feature Interaction ........................3 1.1.3 Claim 3: There Are Many Examples of Sequence Breaking ............................. 4 1.1.3.1 An Illustrative Example ................................................................................ 4 1.1.3.2 Real-World Examples ....................................................................................5 1.1.4 Claim 4: A Solution Should Exist at Run-Time .................................................. 6 1.2 Problem Statement ......................................................................................................... 7 1.3 Overview of Solution and Methodology .....................................................................7 1.4 Contributions ...................................................................................................................9 1.5 Organization ..................................................................................................................10 2 Chapter: Background, Observations, and Related Work ..........................................11 2.1 Game Narrative and Feature Interaction ................................................................ 11 2.1.1 Overview of Game Narrative ...............................................................................11 2.1.1.1 Genres ............................................................................................................. 12 2.1.1.2 Narrative Elements ....................................................................................... 13 2.1.1.3 Common Techniques .................................................................................... 14 2.1.2 Overview of Feature Interaction ............................................................................ 16 2.1.2.1 Types of Feature Interaction ........................................................................ 16 2.1.2.2 Basic Approaches..........................................................................................17 2.1.2.2.1 Eliminating Interactions at Design-Time ............................................17 2.1.2.2.2 Preventing Interactions via Architectural Constraints .............18 2.1.2.2.3 Resolving Interactions at Run-Time ....................................................18 2.1.2.3 Additional Methods .......................................................................................19 2.2 Errors in Gam es ..........................................................................................................20 2.2.1 Game Development ................................................................................................20 2.2.2 Game Testing ...........................................................................................................21 2.2.2.1 Internal Testing ..............................................................................................22 22.2.2 External Testing .............................................................................................22 2.2.2.3 Expert Review ............................................................................................... 23 2.2.2.4 Game Metrics................................................................................................ 23 2.2.3 Types of Errors....................................................................................................... 24 2.2.4 Definition of Sequence Breaking .......................................................................... 25 2.3 Game Observations .................................................................................................... 26 2.3.1 The Legend ofZe/da: A Link to the Past...........................................................26