
The AIIDE-17 Workshop on Intelligent Narrative Technologies WS-17-20 Bardic: Generating Multimedia Narrative Reports for Game Logs Camille Barot,1 Michael Branon,4 Rogelio E. Cardona-Rivera,3 Markus Eger,1 Michelle Glatz,2 Nancy Green,4 James Mattice,4 Colin M. Potts,1 Justus Robertson,1 Makiko Shukonobe,2 Laura Tateosian,2 Brandon R. Thorne,1 R. Michael Young3 1 Department of Computer Science, North Carolina State University, Raleigh, NC, USA 2 Center for Spacial Analytics, North Carolina State University, Raleigh, NC, USA 3 School of Computing and the Entertainment Arts and Engineering Program, Salt Lake City, UT, USA 4 Department of Computer Science, UNC Greensboro, Greensboro, NC, USA [email protected], {meger | mlglatz | cmpotts | jjrobert | mshukun | lgtateos | brthorne}@ncsu.edu, {mabranon | jrmattic | nlgreen}@uncg.edu, {rogelio | young}@eae.utah.edu Abstract narrativization of large corpora of low-level event data, ulti- In this paper we present the system called Bardic, which mately to increase users’ understanding of that data. was developed over three years as the core technology in DOTA 2 is a multiplayer online battle arena (MOBA) the Narrative for Sensemaking project, an effort to automati- game in which two teams of five players compete in fantasy- cally generate narrative from low-level event data as an aid for style combat to destroy the other team’s base. The game is sense making. At its core, Bardic is a narrative report genera- played in a virtual outdoor arena roughly the size of four tor that uses a logic-based language to represent a story based soccer fields. DOTA 2 presents a number of challenges for on event/activity logs. Bardic generates different types of nar- systems working to automatically generate narrative sum- rative discourse designed to convey different aspects of the maries of complex event sequences. In DOTA 2 , players underlying data. The system consists of a Unity application often form, revise, and drop plans over time as they obtain that allows users to explore generated stories and select parts new information. There are multiple factions and teamwork of the stories to analyze in detail. In addition to its narrative generation capabilities, the application provides visualization within each faction, but a team is not in the same location and query capabilities. In this paper we provide screen shots at all times, so the resulting narratives will feature a vari- of the application in use, show examples of narrative output able number of actors. Games typically last around 45 min- produced by Bardic, detail how Bardic generates its output, utes, are self-contained, and follow a natural progression of and discuss the current system’s capabilities and limitations. phases. The early part of game is dedicated to building up resources followed by a more objective-oriented mid-game Introduction and a team fight-focused late-game. Log data from game- play is at a very fine-grained, high frequency level focused Narrative is one central way that people make sense of on game state snapshots compared to the abstract narrative- the world (Bruner 1991). In the Narrative for Sensemaking oriented communicative style that people naturally use to project, we are concerned with producing summary reports communicate about game dynamics. or narrativizations describing activity in complex domains, leveraging people’s common cognitive orientation around narrative to make the reports more accessible to non-experts. System Architecture To do so, we use a tripartite model of narratives as described Bardic is a software application built with the Unity3D 1 by Barot et al. (2015), consisting of a story, a discourse, game engine that generates multimedia narrative reports for and a narration. In this paper we describe the tool Bardic DOTA 2 game logs. Our tool, Bardic, allows users to ana- and its associated web services and how they can be used to lyze a particular game, select subsets by time and charac- generate multimedia narratives characterizing game logs of ters of interest, and generate narrative reports about these the online multi-player game Defense of the Ancients 2 (or subsets in the form of text, maps, and machinima (cine- DOTA 2 (Valve Corporation 2013)). The current design of matic sequences generated using a 3D game engine). Fig- the Bardic tool targets users seeking to make sense of DOTA ure 1 shows an overview of the system architecture. Bardic’s 2 ’s low-level event logs (e.g., the large number of DOTA pre-processing phase consists of three sub-processes: pars- 2 fans that review competitive DOTA 2 logs). However, the ing the log files produced by DOTA 2 using the third-party 2 3 tool and its capabilities are intentded to serve as proof-of- libraries Skadi and Tarrasque , translating the extracted in- concept for a broader application, specifically the automated 1https://unity3d.com/ Copyright c 2017, Association for the Advancement of Artificial 2https://github.com/skadistats/skadi Intelligence (www.aaai.org). All rights reserved. 3https://github.com/skadistats/Tarrasque 154 formation into a logical language, and automatically anno- character’s abilities in a generic way. tating the resulting knowledge base with information relat- In addition to translating the actions present in the game ing the actions of the characters within the game world to log, the parsing process also infers causal relationships be- their respective intentions. The resulting knowledge base is tween actions. This is done by referring to action models that then used by Bardic to provide query capabilities and vi- characterize DOTA 2 actions using a STRIPS-style (Fikes sualizations as well as to drive the generation of the narra- and Nilsson 1971) action representation, and then matching tive. The process of integrating the event data into coherent every action’s preconditions with consistent effects asserted stories and determining how to communicate these stories by the most recent prior actions. The action models come across media in narrative discourse is done by an external from hand-authored STRIPS operators specific to a given web service running on a centralized server. domain, in our case, DOTA 2. The process for determining causal connectivity is a greedy one, essentially tagging the Pre-processing temporally closest potential source for each causal relation as its source. For example, an ATTACK action has the pre- The pre-processing step takes a game log from DOTA 2 and condition of being proximal to its target, while a MOVE ac- translates it into Impulse, a logic-based language for the en- tion has the effect of positioning its moving character at a coding of stories (Eger, Barot, and Young 2015). A story given location. To determine the causal source of an AT- encoded in Impulse consists of three main parts: Actions, TACK action’s proximity precondition, the system selects actants (i.e. actors and objects), and facts that hold in the the MOVE action that precedes the ATTACK, that places the world. In logical terms, the facts are logical sentences, the moving character in range of the ATTACK’s target and that actions describe how facts change over time, and the actors moves the same character involved in the ATTACK. and objects are what the facts are about. Every fact is in- dexed by the temporal interval over which it holds. In addi- <predicate name= ‘ ‘ alive ’’> tion to the standard logic primitives, Impulse also has modal- <constant value=‘‘creep 1520526 ’ ’/> ities to describe characters’ beliefs, desires, and intentions <constant value=‘‘16798−19514 ’ ’ /> during different time intervals (although the representation </ predicate> of beliefs and desires for DOTA 2 characters is not currently used in Bardic). Listing 1: A sentence expressing when a particular computer controlled character was alive. Game Log Parsing DOTA 2 automatically creates game log files for every game session. During gameplay, the game Intention Recognition After parsing the contents of the records snapshots of the game state, fully specifying all game log into Impulse elements, the pre-processor adds an- attributes of each character (e.g., location, health, money, notations linking each action to the intention(s) that it helps items) 30 times per second and stores them in an associated achieve for the character performing the action. As a simple game log file. Additionally, the game log also contains a list example, the action of player A attacking player B is per- of every action that occurs in the game (e.g., attacks, player formed as a means to achieve A’s goal of having player B deaths, destroyed buildings). The game logs are encoded in a dead. Our pre-processing step groups temporally close ac- proprietary, closed binary format, requiring the use of one of tions that happen in pursuit of the same goal into an inten- several publicly available libraries to extract their contents. tion frame, following terminology introduced by Ware and The translation from game log data to Impulse is straight- Young (2011). The possible intentions for each action type forward. The player and non-player characters referenced and their maximum temporal extents, which determines how in the logs are translated to actors in the story; items are actions are grouped were defined by a domain expert. The translated to objects; attacks and abilities used by charac- intentions are added as logical sentences to the Impulse file ters are translated to story actions. Movement actions, which that describe which actions are members of which frames, are not explicitly marked in the log file, are reconstructed and what the intended goal of each frame is. Other aspects from the location attribute of the characters by fitting line of narrative modeling (e.g., tracking character belief (Thorne segments to the sequence of location data when a character and Young 2017) and the interplay between belief and in- moves more than a small distance away from their location.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-