<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Kwiri - What, When, Where and Who: Everything you ever wanted to know about your game but didn't know how to ask</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tiago Machado</string-name>
          <email>tiago.machado@nyu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Gopstein</string-name>
          <email>dgopstein@nyu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andy Nealen</string-name>
          <email>anealen@cinema.usc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Julian Togelius</string-name>
          <email>julian.togelius@nyu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>New York University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Southern California</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We designed Kwiri, a query system, as a support tool for an AI Game Design Assistant. With our tool we allow users to query for game events in terms of what (was the event), when (did it happen), where (did it happen), and who (was involved). With such a tool, we explore the possibilities of applying a query system to provide game-general AI-based design assistance. Throughout this paper, we will discuss the motivation, the design of Kwiri, use cases, and a preliminary qualitative study. Our first results shows that Kwiri has the potential to help designers in game debugging tasks, and has been served as infrastructure to build another system which relies on querying for game events.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        AI-assisted design systems promise to help humans
perform design tasks faster, better and/or more creatively.
Within the field of game design there have been several
prototype systems that showcase how artificial intelligence
can be used in a specific role to assist a human game
designer
        <xref ref-type="bibr" rid="ref11 ref19 ref21 ref3">(Smith, Whitehead, and Mateas 2010; Liapis,
Yannakakis, and Togelius 2013; Shaker, Shaker, and Togelius
2013; Butler et al. 2013; Smith et al. 2012)</xref>
        . For example,
AI can be used to evaluate game content that the human
designs, creating new content to human specifications, and/or
suggesting changes to content that is being created.
      </p>
      <p>
        Most existing prototypes focus on a single type of
AIassisted design for content (typically levels) in a single
game. In contrast, Cicero is a tool that aims to be a
general AI-assisted game design tool, that is, providing
multiple types of AI-based design assistance not just for a
single game, but for any game that can be represented in the
language used by the tool
        <xref ref-type="bibr" rid="ref14 ref15">(Machado, Nealen, and Togelius
2017a)</xref>
        . It includes features such as a recommendation
engine for game mechanics, AI-based automatic playtesting,
and editable game replays.
      </p>
      <p>On top of Cicero, we designed Kwiri. A query system
motivated by the idea that a designer (or tester) of a game will
often want to figure out when and where something happens,
and this might not be evident when either playing a game or
watching a replay. For example, imagine that a particular
NPC (Non-Player Character) occasionally dies even when
one of the player’s bullets do not hit it. To find out what’s
going on, a designer would need to rewatch endless replays
attentively. However, what if you could simply ask the game
when and where an NPC died? Kwiri makes use of the fact
that the games that Cicero work have formally defined game
mechanics, and provides the ability to interrogate replays for
particular combinations of events.</p>
      <p>Kwiri contribution relies on its generality. It is a single
query system, whose interface allows designers to ask
questions about any genre of game they can design with the
platform. It also makes use of gameplay simulations and does
not depend on human users to generate in-data game to be
analyzed.</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>This section discusses the primary references and
inspirations related to the development of our system.</p>
      <sec id="sec-2-1">
        <title>AI-assisted game design tools</title>
        <p>
          Tanagra
          <xref ref-type="bibr" rid="ref21">(Smith, Whitehead, and Mateas 2010)</xref>
          is a tool that
assists humans in the task of designing levels for 2D
platform games. The system works in real time. It creates many
different possibilities for a level and provides a guarantee
that they are playable. Therefore, there is no need to playtest
the level to verify inconsistencies.
        </p>
        <p>
          Similar to Tanagra, Ropossum
          <xref ref-type="bibr" rid="ref19">(Shaker, Shaker, and
Togelius 2013)</xref>
          , also generates and solves levels for the
popular physics puzzle game Cut The Rope. The user is assisted
in the tasks of level design and evaluation. The tool is
optimized to allow real-time feedback from a given state,
after users inputs. It generates the next possible actions of the
player until it finds a solution, if available.
        </p>
        <p>
          Sentient Sketchbook
          <xref ref-type="bibr" rid="ref11">(Liapis, Yannakakis, and Togelius
2013)</xref>
          is also a tool to assist the creation of game levels,
but offers more generality than the two previous tools in this
section since it provides assistance for strategy and roguelike
games. The system shows level suggestions in real-time. It
allows users to interact by editing their levels while
generating recommendations based on choices made previously by
users.
        </p>
        <p>
          Also in the field of level generation, we have the work
of Smith et al. (Smith et al. 2012) and Butler et al.
          <xref ref-type="bibr" rid="ref3">(Butler et al. 2013)</xref>
          . They present independent implementations
of three diverse level design automation tools in the game
Refraction. They use Procedural Content Generation (PCG)
techniques and Answer Set Programming (ASP) to explore
the intended design space and offer levels with playability
guarantee.
        </p>
        <p>All of these works presented significant results in the
realm of AI-assisted game design tools. However, they are
attached to a single game or a game genre in the best case.
They have a lack of generality because their techniques need
to be reimplemented every time someone starts a new game
project. Their main focus is not querying for game events,
but the way they provide assistance based on AI, even
limited to one game, is an inspiration for our system’s design.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Game Visualization systems</title>
        <p>
          Game visualization is a topic which is gaining more
attention every day
          <xref ref-type="bibr" rid="ref8">(El-Nasr, Drachen, and Canossa 2013)</xref>
          .
Major game companies like Unity and Bioware have released
their solutions with specific features to work with
visualization analysis, Unity Analytics (Uni 2017) and Skynet
          <xref ref-type="bibr" rid="ref29">(Zoeller 2010)</xref>
          , respectively. In the academic field, many
projects have been developed using different visualization
techniques.
        </p>
        <p>
          One of the games of the Dead Space franchise uses the
tool Data Cracker to collect, analyze and summarize data
about player performance in a visual way
          <xref ref-type="bibr" rid="ref16">(Medler and others
2009)</xref>
          .
        </p>
        <p>
          The game Cure Runners has a visualization system used
to track the player and assist designers on level balance
tasks. This work is a case study in the integration of an
analytics tool into a commercial game
          <xref ref-type="bibr" rid="ref25">(Wallner et al. 2014)</xref>
          .
        </p>
        <p>
          GPlay
          <xref ref-type="bibr" rid="ref2 ref5">(Canossa, Nguyen, and El-Nasr 2016)</xref>
          presents
visualization and event queries on a spatial-temporal interface.
The UI allows users to select the game elements whose
behaviors they want to track.
        </p>
        <p>As well as the AI-assisted tools, most of these works are
directly related to a single game. The visualization package
of Unity Analytics is a more general approach, but it does
not have agents to play the games and generate gameplay
simulations.</p>
        <p>Kwiri takes influence from these systems and applies
visualization as a way to enhance the answers to the designer’s
question (What, When, Where, and Who).</p>
      </sec>
      <sec id="sec-2-3">
        <title>Declarative game engines and query systems for games</title>
        <p>
          Declarative game engines go beyond the common idea of
having databases only as a data storage method. The work
of White et al
          <xref ref-type="bibr" rid="ref26">(White et al. 2008)</xref>
          is an example. It develops
the concept of state-effect patterns, a technique that let game
designers develop parts of their games declaratively.
        </p>
        <p>Deutch et al. (Deutch et al. 2012) developed a framework,
based on SQL, to perform data sourcing in games. It
extends SQL commands to allow recursive rule invocations
and probabilistic operations. It has a runtime monitor that
watches the game execution and give notifications to the user
of properties violations. These properties formally specify
expected behaviors of the game.</p>
        <p>
          A more traditional use of databases can be seen
on
          <xref ref-type="bibr" rid="ref22">(Srisuphab et al. 2012)</xref>
          . Here the authors store gameplay
sessions of Go matches in a database. The goal is to use the
stored matches to train novice human players through a GUI
(Graphical User Interface).
        </p>
        <p>
          Finally, Varvaressos et al.
          <xref ref-type="bibr" rid="ref24">(Varvaressos et al. 2014)</xref>
          detail
the process of implementing a bug tracker in six different
games. The infrastructure is concentrated on the game main
“loop”. The authors implemented specific code that captures
events of the games. The data is stored in an XML file. The
process of finding bugs is based on properties about the
expected behavior of the game being expressed in a formal
language. During runtime, a monitor observes the game and
notifies the user when some property is violated.
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>GVGAI and VGDL</title>
        <p>
          The General Video Game AI framework (GVGAI) was
designed for serving as a testbed for general video game
playing research (Perez et al. 2015). A competition, based on the
framework, runs annually and allow competitors to submit
their agents. These are then judged based on how well they
can play a set of unseen games. The Video Game
Description Language
          <xref ref-type="bibr" rid="ref18 ref7">(Schaul 2013; Ebner et al. 2013)</xref>
          (VGDL) is
the language used to describe games in this framework; the
language is compact and human-readable. Despite its
simplicity, it is capable of expressing a large range of 2D games,
like clones of classical games developed for the Atari 2600
and the Nintendo Entertainment System (NES). The GVGAI
competition has now, about 100 VGDL games available and
several dozen effective AI agents, with different strengths on
a variety set of games (Bontrager et al. 2016).
        </p>
        <p>The use of a simple, and analytically tractable game
description language, as well as a collection of AI agents, gives
GVGAI important benefits related to game editors and
engines such as Unity, Unreal or GameMaker. The AI agents
allow us to perform automatic gameplay and game testing,
what is still not possible in the cited engines because of the
lack of uniformity in how their games are specified. They
are, of course, versatile and powerful, but not flexible about
the use of general AI agents in the way we need for
collecting data and implement a general query system.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Cicero</title>
        <p>
          Cicero is a general AI-assisted game design tool based on
the GVGAI framework and the VGDL. As stated before,
existing tools are mostly limited to a single game and a
single mode of design assistance. As the AI-assisted game
design tool is still an emerging paradigm
          <xref ref-type="bibr" rid="ref12">(Lucas et al. 2012)</xref>
          it is sometimes difficult to know what features and
interactions should be included in an individual tool. Because of
this problem, we adopted an Interaction Design approach
to developing our tool. In the first iteration, we developed
the general features for creating and editing games.
Accompanying that, the system also included three additional
features: a statistics tool, a visualization system, and a
mechanics recommender. After a first evaluation, it was not
enough for the users to perform an accurate analysis of the
data collected by the agents (humans or AI algorithms)
during a gameplay session. These data were pretty
quantitative, and the users said that they would want information
about when and where some events happened when an agent
was playing a game. This motivated us to develop
SeekWhence
          <xref ref-type="bibr" rid="ref14 ref15">(Machado, Nealen, and Togelius 2017b)</xref>
          , a
retrospective analysis tool. SeekWhence allows users to replay
a stored gameplay session frame-by-frame as if it were a
video. Informal evaluations showed us that SeekWhence
was well accepted. However, it required time and focused
attention from the users because a single frame can
contain multiple events. Therefore, if many sprites are in the
same space, even by playing a game step-by-step, it is hard
to identify which is doing what. To solve this problem, we
developed Kwiri, which allows users to make queries about
what, where, and when a specific event happened and which
sprites were involved with it. The query system is integrated
with SeekWhence and the visualization system.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Design of Kwiri</title>
      <p>As stated before, the query system is developed on top of
Cicero, and it integrates SeekWhence and the visualization
system. In this section, we will highlight some of the
implementation details about these two systems in order to
facilitate further discussion about how the query system works.</p>
      <sec id="sec-3-1">
        <title>How SeekWhence and the visualization system work</title>
        <p>SeekWhence stores every frame of a gameplay session
played by an agent. In order to store the frames, we capture
every game state, at every game tick. The game state
contains all the information of the set of game elements
available, such as their positions in the level for example. The
indexation by a game tick is what makes SeekWhence runs
like a video player.</p>
        <p>Every game element can be assigned to a specific color
by the designer. It activates the visualization system
[Figure 1], which captures all the positions of the elements in
the level and apply a heatmap to show which areas were
explored more.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Kwiri Implementation</title>
        <p>Our query system is implemented on top of everything
we previously discussed. It adds a database (MySQL). The
database stores events and performs searches related to
them. An event in VGDL happens whenever two sprites
collide, it is up to the designer to define what kind of event will
be fired at the moment of the collision. It can be a killSprite,
a cloneSprite, and more than 20 other ones. In other words,
the events are the rules of the games. The use of a database
makes the implementation of the storage and the searching
process easier and straightforward. The queries responsible
for searching answers for the questions What, Where, When
and Who are provided to the users as a GUI so that they can
insert the query’s parameters [Figure 2].</p>
        <p>
          Quantitative User Study Kwiri was also used in a
quantitative user study
          <xref ref-type="bibr" rid="ref13">(Machado et al. 2018)</xref>
          . The goal of the work
was showing that humans with AI assistance can be more
accurate in-game bug detection than humans without
assistance. In one of the tasks, agents collected data and the users
of group A had to use Kwiri as a way to filter events and
figure out what was causing the failures. For the same task,
group B users just had SeekWhence available. The
possibility of filter the events made the users approximately 32%
better than the ones without it.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Automatic Game Tutorials The work of Green et al</title>
        <p>
          <xref ref-type="bibr" rid="ref10">(Green et al. 2018)</xref>
          . introduces a fully automatic method for
generating video game tutorials. The AtDELFI system
(AuTomatically DEsigning Legible, Full Instructions for games)
was designed to research procedural generation of tutorials
that teach players how to play video games. In the paper,
the authors present models of game rules and mechanics
using a graph system as well as a tutorial generation method.
The concept was demonstrated by testing it on games within
the General Video Game Artificial Intelligence (GVG-AI)
framework. AtDELFI uses Kwiri as a way to search for the
critical events that make a player win and lose a game. The
graph generated by AtDELFI starts the query engine that
captures the events and returns a sequence of frames, which
are used to generate videos of the tutorials.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Preliminary User study</title>
      <p>We employed a qualitative method in order to understand,
from our users, the benefits of Kwiri, as well as to solicit
suggestions for future additions and improvements.</p>
      <sec id="sec-4-1">
        <title>Study Design</title>
        <p>We created one inconsistency in the rules for each of three
different VGDL games: Zelda, Aliens, and FireStorms.
Their official rules are listed below, as well their
inconsistencies.</p>
        <p>Zelda - An action game (a clone of the cave levels of
Zelda: A Link to The Past)</p>
        <sec id="sec-4-1-1">
          <title>Cannot go through walls;</title>
          <p>Can kill enemies with a sword;
Changes its sprites when it gets the key;
To win the level needs to get the key and access the
gate.</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>Cannot go through walls;</title>
          <p>Can occupy the same sprite of another enemy, a key
and a gate;
Cannot kill other enemies;</p>
          <p>Kill Player when colliding with it.</p>
          <p>The inconsistency in this game is that some enemies can
kill other enemies.</p>
          <p>Aliens - A Space Invaders clone</p>
          <p>Kill enemies and barriers by shooting towards them;
Cannot go through walls;
To win the level needs to kill all the enemies.</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>Cannot go through walls; Kill Player by shooting towards it or when colliding with it.</title>
        </sec>
        <sec id="sec-4-1-4">
          <title>1. Player</title>
        </sec>
        <sec id="sec-4-1-5">
          <title>2. Enemies</title>
        </sec>
        <sec id="sec-4-1-6">
          <title>1. Player</title>
        </sec>
        <sec id="sec-4-1-7">
          <title>2. Enemies</title>
        </sec>
        <sec id="sec-4-1-8">
          <title>3. Barriers</title>
          <p>Are destroyed when hit by enemy bombs, by player
bullets or when colliding with enemies.
The user tasks consisted of finding the inconsistency in each
one of the three games. To perform the tasks they were
allowed to use Kwiri, and obviously, combine it with
SeekWhence and the visualization system.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Participants</title>
        <p>The study had nine participants, all of them male, eight of
them were enrolled in a university program (7 Ph.D.
students and one undergraduate student), and one was a
digital media professional. Just two of them did not study/work
with games/gaming. The other ones had mixed experience
between industry and academic fields, varying from two to
fifteen years. The most cited engines and frameworks by
them were Unity, Phaser, and GameMaker. They were
recruited through the department e-mailling list.</p>
      </sec>
      <sec id="sec-4-3">
        <title>Procedure</title>
        <p>The first step of the study was to ask the participants to fill
out a form about their demographic data and game
development experience. After that, we asked if they would be
comfortable with their voices being recorded. Then we
explained how SeekWhence and Kwiri work. The explanation
took less than five minutes. In the end, we asked the users if
they wanted to ask any question or skip it to use the tools for
a quick warm up.</p>
        <p>The second step started by introducing the users to what
would be their tasks during the experiment. We informed
them that we would give them three different tasks and that
they should use the set of features to find a design
inconsistency in each one of them. For each task, first, we handed the
users a sheet of paper with all the rules of the game in the
evaluation. After they read the rules, we ran the game with
the agent ”adrienctx”. We choose this agent because it is a
former winner of the GVGAI competition. It is able to play
the games well, and most of the times can beat the levels it
is playing. Then, all the data were available to the user to
actually start to work with them in order to try to solve the
task.</p>
        <p>The third and last step of the procedure consisted of a
conversation where the users could express their opinions about
the tested features and compare it with others they used
before.</p>
        <p>We checked in our users after five minutes of working on
a task. We decided on this number after three pilot tests
executed with a preliminary version of the system. However,
this time is not a measure of success. It was only used to
verify if the user is feeling tired and/or uninterested in
continue after five minutes of effort. We gave them the option to
keep trying or move to another task.</p>
      </sec>
      <sec id="sec-4-4">
        <title>Source of Data</title>
        <p>We used three sources of data in order to collect the users’
activities: direct observation, audio recordings of test
sessions, and a design questionnaire.</p>
        <p>Direct observation As participants interacted with three
different games and were allowed to speak about their
findings, problems, and suggestions related to the tools, they had
their voices recorded, and written notes were made of their
overall patterns of use and verbal comments. Attention was
paid to participants’ interaction between the different
systems (SeekWhence, Kwiri, and visualization), how hard they
had to work to find the inconsistency, what design features
attracted their attention, and whether, at any stage during the
study, they seemed to lose interest in the activity.</p>
      </sec>
      <sec id="sec-4-5">
        <title>Audio recordings of test sessions Every user had their</title>
        <p>voice recorded. This helped us to validate our written notes
since we used them as tags to pay attention when listening
to their recordings. Also, we used this source to clarify some
actions they performed which were not initially clear to us.
Design questionnaire Our design questionnaire is based
on semi-structured interview and required factual (e.g.,
”When I was querying for what a sprite was doing.”),
perceptual (e.g., ”I think that the query results annoyed me with
too much information.”) and comparative (e.g., ”It would be
a plus to have these features in the tools I have used before”).
We started the questionnaire by asking general questions in
order to let the user feel comfortable like ”Which are your
thoughts about these features?”. Then we moved to specific
ones, many of them influenced by our notes, like: ”In the
second task, could you explain what you were trying to do
when you asked if you could type your queries?”. Finally,
we asked if the users had more suggestions besides the ones
they suggested during the tasks.</p>
      </sec>
      <sec id="sec-4-6">
        <title>Data analysis</title>
        <p>
          considered suitable to analysis text materials, which varies
from media products to interview data
          <xref ref-type="bibr" rid="ref1">(Bauer and Gaskell
2000)</xref>
          . Normally it creates key common points identified
among different users interviews in a technique called by
codification theory, which helps researches in quick
organizing and managing qualitative data. To facilitate the
codification process, we used the trial version of the software
Atlas.ti
          <xref ref-type="bibr" rid="ref9">(GmbH 2017)</xref>
          .
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results</title>
      <p>As explained in the previous section, we did a qualitative
study to know from our users which are the significant gains
of our tools and which are the points of improvements in a
next iteration of our design process. We will present the data
first with a general discussion of our findings by observing
the users. Then we will present our conclusions based on the
users’ point of view.</p>
      <sec id="sec-5-1">
        <title>Task results</title>
        <p>Most of the users were able to complete all three of the tasks
with success. Just two gave up, one during the Zelda task,
and another during the Aliens task.</p>
        <p>They started by exploring their options, right after reading
the game rules given to them. Some started by using
SeekWhence and tried to figure out the problem just by replaying
the game frame-by-frame. Then they switched to the query
system to filter based on their suspicions. Other users did the
opposite, starting by querying and then switched to
SeekWhence. This exploratory step was skipped by two users
who decided to do a warm-up during the explanation of how
the system works.</p>
        <p>One fact that grabbed our attention was that five of our
users could identify one inconsistency that we were not
aware of. In the game Alien they could observe that a bomb
was destroying a barrier in a position it was not designed to.
Figure 3.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Praise</title>
        <p>Our data analysis is based on text transcriptions of the design
questionnaire discussed in the previous section. We used a
classical procedure, Qualitative Content Analysis since it is
In general, the users agreed that Kwiri was a valuable
resource for finding game design inconsistencies. Some of
them pointed to personal experiences with situations in
which they needed tools like the one presented here, but
instead, they ended up hand-rolling their own.</p>
        <p>One of the users explained that he had to write his system
in order to evaluate how an AI was behaving. ”I liked these
features. Some time ago, I had some issues with an AI that
I was developing for playing a game. The tool I was using
didn’t have this feature about navigating and use
visualizations. Then I had to write my own system to do exactly what
we were doing here! Because here, I really can see what the
agent is doing.”</p>
        <p>Another user, similarly, does not have the appropriate
tools to inspect his game projects. ”It is a really cool feature,
pretty deal! I would like to use it on my work now, especially
this frame navigating tool. But I’m having to implement
everything from scratch.”</p>
        <p>A third user revealed that his work consisted of play his
game to figure what was causing the problems. ”I developed
a game once, but I did not have how to record it and play
it again as I did here. So every time that I found a bug, the
only way to debug it was by playing it again. If I had a tool
like that, at least my debug process would be way easier”.
Figure 4</p>
      </sec>
      <sec id="sec-5-3">
        <title>Issues</title>
        <p>Some users said they had problems in understanding the
queries, for example, one of them stated that at some point
it pops up too much information making the process not so
attractive to follow. However, another user stated the
opposite. In his speech, information volume does not seem to be
a problem. The way that the UI leads to them is what
concerns him. ”I really liked these tool, but I would like to see
more information, however with less clicks.” Still, about the
query system, one user said that he was not sure about the
roles of a sprite in an event. ”I would like to know who is
killing who in a ’killSprite’ event. The query helped me to
confirm my suspicion that an enemy was killing another, but
the panel in the Who area should say who is the one
doing the action.”. Overall, as pointed in this section, the main
issues were related to the query system. Design them as a
filter tool does not seem enough. At least for the tasks
evaluated, despite the majority of the users were able to use it
correctly, it should provide details about the sprite roles in the
game and be more explicit about the event as a user stated:
”I wasn’t sure about what this event - transfrom to - mean. I
was doing assumptions based on what I have seen before on
other tools like GameMaker. Fortunately, it is similar, but I
would like to have this information before.”</p>
      </sec>
      <sec id="sec-5-4">
        <title>Suggestions</title>
        <p>
          We got many suggestions from our users that we will add in
future iterations of the system. One user said that he would
like to see small ticks on the timeline bar. The ticks would be
used to let a user know that one or more event is happening
on that part of the gameplay session. To assure what he was
suggesting we used the Youtube
          <xref ref-type="bibr" rid="ref28">(Youtube 2017)</xref>
          yellow
advertise ticks as a design metaphor. They are used to explain
to a user when an add will pop up. He promptly confirmed
that it was exactly what he had in mind. Figure 5.
        </p>
        <p>Another user suggested us to present the query options as
a tree visualization where he could filter based on options
available in each branch of the tree. It is an interesting
suggestion, and we think it can reduce user efforts and present
a better way to lead them to what they are trying to find.</p>
        <p>Finally, another user said that the same color patterns used
to represent the agents that does (green) and suffers (red)
the actions should be available on the panel used to make
the queries. He said that in general the queries help when
one has to identify who is involved in an event. However, it
is also important to know who started the cause and who is
getting the consequences. It was also stated as an issue by
another user and is something straightforward to fix in the
query UI panel.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Future Work</title>
      <p>We have presented a system for querying game events in
space and time. This system is a new addition to Cicero,
a general mixed-initiative game design assistance tool. We
evaluated our tool in the context of finding design
inconsistencies/bugs. The users were able to solve their given tasks
promptly and provided us with valuable suggestions;
notably, they found bugs we were not even aware of, speaking
to the usefulness of the system. To our surprise, the users
were significantly attracted to the replay analysis system
(SeekWhence) than to the query one (Kwiri) to solve their
tasks. It contradicts a previous quantitative study that shows
users having much better results, in similar tasks, by using a
query system than a replay analysis.</p>
      <p>We plan to test the system further, on a large audience of
game designers. We also want to design specific tasks for
evaluating each one of the features separately and in
different kinds of combinations. Besides finding inconsistencies,
we will also focus on agent evaluation and game balancing.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgment</title>
      <p>Tiago Machado is supported by the Conselho Nacional de
Desenvolvimento Cient´ıfico e Tecnolo´gico (CNPQ), under
the Science without Borders scholarship 202859/2015-0</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>M. W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Gaskell</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>2000</year>
          .
          <article-title>Qualitative researching with text, image and sound: A practical handbook for social research</article-title>
          . Sage.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2016.
          <article-title>Matching games and algorithms for general video game playing</article-title>
          .
          <source>In Twelfth Artificial Intelligence and Interactive Digital Entertainment Conference.</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Butler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          ; Liu, Y.-E.; and
          <string-name>
            <surname>Popovic</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>A mixed-initiative tool for designing level progressions in games</article-title>
          .
          <source>In Proceedings of the 26th annual ACM symposium on User interface software and technology</source>
          ,
          <volume>377</volume>
          -
          <fpage>386</fpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Canossa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.-H. D.</surname>
          </string-name>
          ; and
          <string-name>
            <surname>El-Nasr</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          2012.
          <article-title>Declarative platform for data sourcing games</article-title>
          .
          <source>In Proceedings of the 21st International Conference on World Wide Web, WWW '12</source>
          ,
          <fpage>779</fpage>
          -
          <lpage>788</lpage>
          . New York, NY, USA: ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Ebner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Levine</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Lucas,
          <string-name>
            <given-names>S. M.</given-names>
            ;
            <surname>Schaul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Thompson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ; and
            <surname>Togelius</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <year>2013</year>
          .
          <article-title>Towards a video game description language</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>El-Nasr</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Drachen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Canossa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>Game Analytics: Maximizing the Value of Player Data</article-title>
          . Springer Publishing Company, Incorporated.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>GmbH</surname>
            ,
            <given-names>S. S. D.</given-names>
          </string-name>
          <year>2017</year>
          . Atlas.ti.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>M. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Khalifa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>G. A. B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nealen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2018</year>
          .
          <article-title>Atdelfi: Automatically designing legible, full instructions for games</article-title>
          .
          <source>In Proceedings of the 13th International Conference on the Foundations of Digital Games</source>
          , FDG '
          <volume>18</volume>
          ,
          <issue>17</issue>
          :
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          :
          <fpage>10</fpage>
          . New York, NY, USA: ACM.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Liapis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>G. N.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>Sentient sketchbook: Computer-aided game level authoring</article-title>
          .
          <source>In FDG</source>
          ,
          <fpage>213</fpage>
          -
          <lpage>220</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>S. M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Preuss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Spronck</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2012</year>
          .
          <article-title>Artificial and Computational Intelligence in Games (Dagstuhl Seminar 12191)</article-title>
          .
          <source>Dagstuhl Reports</source>
          <volume>2</volume>
          (
          <issue>5</issue>
          ):
          <fpage>43</fpage>
          -
          <lpage>70</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gopstein</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nealen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nov</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2018</year>
          .
          <article-title>Ai-assisted game debugging with cicero</article-title>
          .
          <source>In 2018 IEEE Congress on Evolutionary Computation (CEC)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nealen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2017a</year>
          .
          <article-title>Cicero: Computationally intelligent collaborative environment for game and level design</article-title>
          .
          <source>In 3rd workshop on Computational Creativity and Games (CCGW) at the 8th International Conference on Computational Creativity (ICCC17).</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nealen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2017b</year>
          .
          <article-title>Seekwhence a retrospective analysis tool for general game design</article-title>
          .
          <source>In Proceedings of the 12th International Conference on the Foundations of Digital Games, FDG '17</source>
          ,
          <issue>4</issue>
          :
          <fpage>1</fpage>
          -
          <issue>4</issue>
          :
          <fpage>6</fpage>
          . New York, NY, USA: ACM.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Medler</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , et al.
          <year>2009</year>
          .
          <article-title>Generations of game analytics, achievements and high scores</article-title>
          .
          <source>Eludamos. Journal for Computer Game Culture</source>
          <volume>3</volume>
          (
          <issue>2</issue>
          ):
          <fpage>177</fpage>
          -
          <lpage>194</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <year>2015</year>
          .
          <article-title>The 2014 general video game playing competition</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Schaul</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>A video game description language for model-based or interactive learning</article-title>
          .
          <source>In Computational Intelligence in Games (CIG)</source>
          ,
          <source>2013 IEEE Conference on, 1-8.</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Shaker</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Shaker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>Ropossum: An authoring tool for designing, optimizing and solving cut the rope levels</article-title>
          .
          <source>In AIIDE.</source>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          2012.
          <article-title>A case study of expressively constrainable level design automation tools for a puzzle game</article-title>
          .
          <source>In Proceedings of the International Conference on the Foundations of Digital Games</source>
          ,
          <fpage>156</fpage>
          -
          <lpage>163</lpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Whitehead</surname>
            , J.; and Mateas,
            <given-names>M.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Tanagra: A mixed-initiative level design tool</article-title>
          .
          <source>In Proceedings of the Fifth International Conference on the Foundations of Digital Games</source>
          ,
          <fpage>209</fpage>
          -
          <lpage>216</lpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Srisuphab</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Silapachote</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; Chaivanichanan,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Ratanapairojkul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ; and
            <surname>Porncharoensub</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.</surname>
          </string-name>
          <year>2012</year>
          .
          <article-title>An application for the game of go: Automatic live go recording and searchable go database</article-title>
          .
          <source>In TENCON 2012-2012 IEEE Region 10 Conference</source>
          , 1-
          <fpage>6</fpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          2017.
          <article-title>Unity technologies. unity game engine</article-title>
          . https:// unity3d.com. Accessed:
          <fpage>2017</fpage>
          -03-01.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Varvaressos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lavoie</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ; Masse´,
          <string-name>
            <given-names>A. B.</given-names>
            ;
            <surname>Gaboury</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          ; and Halle´,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>Automated bug finding in video games: A case study for runtime monitoring</article-title>
          .
          <source>In Software Testing, Verification and Validation (ICST)</source>
          ,
          <year>2014</year>
          IEEE Seventh International Conference on,
          <fpage>143</fpage>
          -
          <lpage>152</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Wallner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; Kriglstein,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Gnadlinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ;
            <surname>Heiml</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ; and
            <surname>Kranzer</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>Game user telemetry in practice: A case study</article-title>
          .
          <source>In Proceedings of the 11th Conference on Advances in Computer Entertainment Technology, ACE '14</source>
          ,
          <issue>45</issue>
          :
          <fpage>1</fpage>
          -
          <lpage>45</lpage>
          :
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>White</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sowell</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gehrke</surname>
          </string-name>
          , J.; and
          <string-name>
            <surname>Demers</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <article-title>Declarative processing for computer games</article-title>
          .
          <source>In Proceedings of the 2008 ACM SIGGRAPH symposium on Video games</source>
          ,
          <fpage>23</fpage>
          -
          <lpage>30</lpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>Youtube</surname>
          </string-name>
          .
          <year>2017</year>
          . Youtube.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Zoeller</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Development telemetry in video games projects</article-title>
          .
          <source>In Game developers conference.</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>