UC Santa Cruz UC Santa Cruz Electronic Theses and Dissertations
Total Page:16
File Type:pdf, Size:1020Kb
UC Santa Cruz UC Santa Cruz Electronic Theses and Dissertations Title Increasing Authorial Leverage in Generative Narrative Systems Permalink https://escholarship.org/uc/item/4dq8w2g9 Author Garbe, Jacob Publication Date 2020 License https://creativecommons.org/licenses/by-nc-sa/4.0/ 4.0 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA SANTA CRUZ INCREASING AUTHORIAL LEVERAGE IN GENERATIVE NARRATIVE SYSTEMS A dissertation submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE by Jacob Garbe September 2020 The Dissertation of Jacob Garbe is approved: Professor Michael Mateas, Chair Professor Noah Wardrip-Fruin Professor Ian Horswill Quentin Williams Acting Vice Provost and Dean of Graduate Studies Copyright c by Jacob Garbe 2020 Table of Contents List of Figures v Abstract xi Dedication xiii Acknowledgments xiv 1 Introduction 1 1.0.1 Traversability . 11 1.0.2 Authorability . 16 1.0.3 MDA Framework . 25 1.0.4 System, Process, Product . 26 1.0.5 Axes of Analysis . 27 1.0.6 PC3 Framework . 28 1.0.7 Progression Model . 29 1.1 Contributions . 31 1.2 Outline . 32 2 Ice-Bound 34 2.1 Experience Challenge . 35 2.2 Related Works . 41 2.2.1 Non-Digital Combinatorial Fiction . 41 2.2.2 Digital Combinatorial Fiction . 51 2.3 Relationship to Related Works . 65 2.4 System Description . 66 2.4.1 Summary . 66 2.5 The Question of Authorial Leverage . 78 2.5.1 Traversability . 78 2.5.2 Authorability . 85 2.6 System Summary . 108 2.7 Next . 109 iii 3 StoryAssembler 111 3.1 Experience Challenge . 112 3.2 Related Works . 116 3.2.1 Hyperfiction / Choice-driven Systems . 116 3.2.2 Planner-driven story systems . 118 3.2.3 Generative Choice-driven Systems . 122 3.2.4 Relationship To Related Works . 128 3.3 System Description . 129 3.3.1 Core Architecture . 131 3.3.2 Emma's Journey . 145 3.4 The Question of Authorial Leverage . 158 3.4.1 Traversability . 159 3.4.2 Authorability . 168 3.4.3 Future Work . 190 3.4.4 System Summary . 191 3.4.5 Next . 192 4 Delve 194 4.1 Experience Challenge . 196 4.2 Related Works . 199 4.2.1 Simulation-driven Narrativization . 200 4.2.2 Expressionist . 218 4.2.3 Computational Metaphor . 221 4.2.4 Summary . 229 4.2.5 Prior Works . 231 4.3 System Description . 244 4.3.1 Core Architectures . 247 4.3.2 Implementation Details . 267 4.3.3 Content Creation for Delve . 280 4.4 The Question of Authorial Leverage . 289 4.4.1 Traversability . 290 4.4.2 Authorability . 297 4.5 Future Work . 307 4.6 System Summary . 309 5 Conclusion and Closing Thoughts 310 5.1 Closing Thoughts . 314 Bibliography 318 iv List of Figures 1.1 A: Original graph from [140] As \traditional game dev approaches" in- crease dynamism, the authoring effort increases asymptotically. B: Modified graph. The line of dynamism these static systems struggle to pass is the \authoring wall", which \AI development" can pass. The level of authoring effort AI dev asymptotically approaches is what could be called the \complexity ceiling." Systems should seek to lower the \com- plexity ceiling" through the use of authoring tools, and pass the authoring wall for a concomitant static system quickly by leaning into the unique affordances of their dynamic system. 5 1.2 Desired performance of dynamic systems when compared to static. While they may underperform initially, their dynamism allows them to cover more states eventually, and the performance gains (hopefully) far outstrip the initial underperformance, enabling new media experiences. 6 1.3 A simple linear progression with a choice between three options halfway through. 14 2.1 Early, non-combinatorial prototype of Ice-Bound. 37 2.2 Early paper prototype of Ice-Bound, showing symbol, event, and ending cards, along with a map. The \player" would choose symbol cards to flip over on the map, and the \computer" would then consult the deck of events and endings, and flip over the corresponding ones. 39 2.3 The numbered chapters of Life: A User's Manual laid out on a grid (left) and the path of the \knight's tour" comprising their traversal (middle) which describes the story that takes place in the corresponding room in the layout (right) [91]. 46 2.4 The card layouts for the castle (left) and the tavern (right). 47 2.5 Two sample cards from the Tarot of the Parrigues. 53 2.6 A selection of StoryNexus authoring patterns. 57 2.7 A screenshot from Telling Lies, with the search term \LOVE" circled, and the resulting five video clips that match that term circled. 61 v 2.8 A diagram of the flow in the combinatorial narrative system. Content is filtered and selected through the Level Builder. Valid symbols, events, and endings are displayed. The player then selects whatever symbols they desire, which in turn activate events, which in turn activate endings. When the reader is satisfied with a given set of activated symbols, events, and an ending, they select the ending. The thematic tags of that ending are then added to the filter logic of the Level Builder, the next level's content is selected, and the cycle begins again. 67 2.9 The blueprint UI of an Ice-Bound level, showing sockets in rooms. Here we see \chain", \folly room" and \round table" are activated, \cigar box" is always activated, and \computer" etc are not activated. 68 2.10 A screenshot of the dialog system in Ice-Bound, where the reader would experience traditional choice-based narrative segments. 70 2.11 An event in the longer-form portrait-view interface. Note the dynamic text (\McKinley had what seemed an exact. ") the shimmertext (\Fingers drumming the table. "), the tooltip-style explanations (\because there are at least two other characters") and the theme trigger text in the bottom right (\prioritized because connection to theme: horror"). The \footnote", when clicked, starts a KRIS dialogue. 71 2.12 Themes and tags used in Ice-Bound..................... 75 2.13 The final level. The player still drags lights onto symbols (which are now themes) which activate \events" (KRIS's self-realizations) whose text is in the upper left (\why keep trying, over and over?") and when all three required events are activated, the ending lights up (\Maybe I need my own identity"). 77 2.14 A character definition within the level definition file. 88 2.15 Sample JSON from an event card, with character and state templates. 89 2.16 A sample KRIS dialogue. 90 2.17 The combination browser, as the viewer progressively zeros in on problem combinations by clicking the symbol \romantic", then \descentIntoMad- ness", then \paranoid." . 97 2.18 The detail panel in the combination browser, showing the selected symbols (A), and the percentage of their combinations which need content (B), also represented by the pie chart (C). (D) shows how many of the total combinations needing content the current selection is involved in. 100 2.19 The level profiler for Ice-Bound, showing all possible run-time combina- tions of active symbols for a single build of a level. Red bars indicate content-sparse combinations. Clicking on specific Symbols (B) Events (C) or Endings (D) will re-sort the graph (A) to lump combinations using those cards together. 102 2.20 A table selection showing themes, as well as how many symbols, events, and endings use it. 104 2.21 Rendered text for symbols, to check for coherence. 105 vi 3.1 Screenshot from Molleindustria's Unmanned . 114 3.2 A flow diagram of the StoryAssembler system. 130 3.3 A simplified flow diagram of how the HTN planner and forward state space planner work together for fragment assembly. 132 3.4 A sample goal state (\spec") detailing dramatic beats to be hit (boolean values) and mood conditions (tension). 134 3.5 A scene intro, where dynamic goal elements allow players to change friends to be activists or academics, and supportive or critical, as well as Emma's research focus. 137 3.6 A sample fragment showing both static choices (\gotoId") and dynamic choices (\condition") as well as modifying goal elements through effects (\addWishlist"). 139 3.7 A table of the different StoryAssembler fragment combination methods. Some have somewhat similar affordances (such as \static content" and \static content with compound link") and some are quite different. We use “effect-frame” to designate combinations where the fragment's purpose is to provide a \frame" for other fragments to be combined within. It has little to no content of its own, but its purpose is a specific content juxtaposition, or addition of its effects to other fragments. 142 3.8 A Gemini-generated minigame. In this case, the game revolves around passing food around a table. 147 3.9 The Dean's Office scene. Here we see the mini-game on the right, which increases power if the player performs well. The choices on the left are labeled \high risk" to \low risk." When clicked, they increase the tension, which modifies the game difficulty. Subsequent choices are gated off power values, so poor performance results in not being able to make choices for a good outcome to the scene. 149 3.10 Data object for discourse mode, here set to \dialogue" with the character cast as \friend1" starting off the scene, and the \protagonist" responding. 152 3.11 An early prototype, showing state variables bound to characters as \stat bars" that updated as their values changed.