<!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>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mathias Lux</string-name>
          <email>mlux@itec.aau.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Riegler</string-name>
          <email>michael@simula.no</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Duc-Tien Dang-Nguyen</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcus Larson</string-name>
          <email>marcus@znipe.se</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Potthast</string-name>
          <email>martin.potthast@uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pål Halvorsen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alpen-Adria-Universität Klagenfurt</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SimulaMet</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universität Leipzig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Bergen</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>University of Oslo</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>29</fpage>
      <lpage>31</lpage>
      <abstract>
        <p>This paper describes the approach of the organizers' team for a submission to the GameStory task at MediaEval 2018. Goal of the task is to provide a summary of a match of Counter Strike: Global Ofensive (CS:GO), a popular e-sports game, that boils down a long game to it's most important events and delivers a story on the progress of the match. Our approach was to provide match statistics and overlay them with events and highlights of the game. We focused on ends of critical rounds, i.e. the rounds where one team took the lead over the other one, and kill streaks, where one player eliminated a substantial number of other players in short time.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Broadcasting games over the internet has attracted more and more
users over the years [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. However, beside the technical challenges
of low-latency, high quality streaming [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], one also has to deal with
the large amount of available data. The GameStory task at
MediaEval 2018 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is about summarizing matches or even tournaments
in e-sports with particular focus on CS:GO. It is a very new task
with a qualitative evaluation, meaning that players and experts take
a look at the videos submitted and judge on how well the videos
can summarize a given CS:GO match.
      </p>
      <p>Within a CS:GO match multiple influences and events – or the
sequence thereof – can decide upon the outcome of a game. First, of
course, the skill of the players has a huge impact. Especially visible
are those players that take over an ofensive role and eliminate
several players of the other team in short time. An event like that is
called a kill streak. Moreover, the decision on how to spend money
at the start of a round is critical to the success over multiple rounds.</p>
      <p>Our idea was to mainly analyze the development of the game
over time and present events in addition to animated game statistics.
Focusing on the metadata, we created an animated timeline of the
game and used videos from the streams at hand to overlay the
events we deemed important.</p>
    </sec>
    <sec id="sec-2">
      <title>APPROACH</title>
      <p>Our approach focused on analyzing and making sense of the
metadata, where all events of the game were recorded, including what
the players bought, who was killed by whom, when rounds started
and ended, and if and when bombs were planted and defused. In
a first step, we created an overview on the development of the
game following the timeline of the rounds. Figure 1 shows our
approach to visualizing the game stats and their development. For
each round, we extracted from the metadata file the current
standings, the money spent by each team and eventual kill streaks. For
the video, we moved a virtual camera with a resolution of 1920x1080
pixels over the stats, and four of the “stats cards” made up an entire
screen. The virtual camera moves with 4 pixels per frames and 30
frames per second (fps), moving one card from one position to the
next takes 4 seconds. Each card is visible for 16 seconds, which we
considered enough for being able to read the information. For the
video, the colors of the stats card have been inverted, as white text
on black background seemed to be more pleasant for the viewers
who we showed the video to.</p>
      <p>For the money spent in each round, we extracted the items
bought by the players each round and computed the total amount
of money spent per team. For that, we had to create a look-up
table (a Python dictionary) based on data from the internet1, which
allowed us to relate the item name to the price, e.g., “ak47”:2700,
“deagle”:300, “flashbang”:200, . . .</p>
      <p>For the kill streaks, we first extracted the kills per round and
grouped them by the players. We only considered kill streaks where
a single player scored three or more eliminations to be displayed
on the statistics in the animated timeline. We further computed the
time from the first to the last elimination to be able to find the kill
streaks, which happen in short time, for later use in the overlay
videos.</p>
      <p>With the moving camera animation over the stats cards we then
focused on extracting videos from the original streams provided
for the GameStory task for overlaying actual game action. The
streams have a rather low resolution with 640x380 pixels, but could
be used in the left upper and left lower corners of the summary.
Based on the kill streak data we extracted videos from the players
perspective if the kill streaks were not longer than the number of
kills k × 6 in seconds, e.g., 18 seconds for 3 kills, or 24 seconds for 4
kills. The maximum of course is a kill streak of 5, as there are only
1http://counterstrike.wikia.com/, last visited 2018-10-16</p>
      <p>The submission gives a
summary of the match at
hand.</p>
      <p>The submission is
entertaining.</p>
      <p>The submission provides the
flow and peak of a good story.</p>
      <p>The submission provided an
innovative way to present a
summary of an CS:GO match.</p>
      <p>A summary like this
submission can be applied to
games different from CS:GO.
5 opponents in the game and the players killed do not respawn in
the same round. A frame of the final video with the overlay of a
kill streak video can be seen in Figure 2.</p>
      <p>In addition to the kill streak videos, we extracted the 10 seconds
of a round for each round from the commentators view, as well
as the map overview focusing on 5 seconds before to 5 seconds
after the round end event in the metadata. For the final round, we
took out 30 seconds, i.e., round end minus 10 to round end plus 20
seconds.</p>
      <p>While up to that point, most of the work done could be done
automatically, we then decided to tweak the results with manual
input. First of all, we switched from player and team id to the real
names of the teams and the players and created the respective
dictionaries. We then connected the player names to the streams
with a dictionary. With the start times of the matches given for
each stream in terms of ofset from the beginning, we could related
the UTC time-stamps from the metadata file to the respective time
point in the stream. However, due to technical constraints, these
time points were not matching the actual events too well, so we
synchronized them manually at the begin of the first round. The
ofset for streams from the data given in the metadata ranged from
32 to 45 seconds.</p>
      <p>Moreover, we cut the final video manually. The animation was
created automatically, but the overlays were done with OpenShot,
an open source non linear video editor. While the kill streak videos
could have been inserted automatically at the beginning of the
respective round they took place, the selection of round end videos
was up to human decision. We focused on rounds were the tides
were turning, i.e., when one team took over the other one, on rounds
were teams that spent less money could still score a point, and on
the final round.</p>
      <p>All kill streaks video sequences were presented in the bottom
left corner (see Figure 2), while all beside the last videos concerning
the end of game rounds were presented in the top left corner. Only
the last video concerning the end of the game was presented in full
frame.</p>
    </sec>
    <sec id="sec-3">
      <title>3 EVALUATION</title>
      <p>The jury noted that relative to the other submissions our video
gave a good summary of the match and presented an innovative
way to summarize the match. However, the reviewers noted that
the overtime is not explicitly outlined and no in-game videos of
that particular period are given, although this is a critical part
of the game. The reviewers liked the mix of players’ view and
commentator’s view catching the excitement of the crowd, but all
in all, the video was too crowded with the animated stats. The clips
seemed somewhat out of place and were not connected – visually
or otherwise – to the rounds. Sound only came from the overlay
videos, and the periods of silence in between were recognized as
missing audio by the reviewers.</p>
    </sec>
    <sec id="sec-4">
      <title>4 DISCUSSION &amp; OUTLOOK</title>
      <p>The approach we have chosen was mainly based on the metadata,
and there only on the economy actions, the round end and the kill
streaks. A lot more could have been done including on how the
round ended, i.e., by killing the entire enemy team, or by planting
or defusing the bomb, or by analyzing the strategy a team applied,
i.e. if they saved money by not outfitting their avatars, or if they
tried to rush and win the round fast. With extraction of player
positions, we could have switched between viewpoints and would
have multiple views of the same event.</p>
      <p>While we extracted the videos from the map overview and the
player position stream, the videos did not make it into the final
version. The main problem was the synchronization as there was no
solid way to find the right time point in the map stream. A content
based synchronization of the videos might have helped with that.</p>
      <p>Furthermore, the overlay videos were cut solely based on time
stamps. This gave the ill received efect of cut of audio for the
ifnal video. In the future, the audio characteristics should influence
cutting decisions, i.e., by detecting speech or analyzing the audio
envelope to not cut of videos in mid sentence. Moreover, in future
work, we aim to base the decision on for which rounds to show
the commentator stream at the end on rules in contrast to manual
identification.</p>
      <p>Team ORG @ GameStory</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>William</surname>
            <given-names>A Hamilton</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Oliver</given-names>
            <surname>Garretson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Andruid</given-names>
            <surname>Kerne</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Streaming on twitch: fostering participatory communities of play within live mixed media</article-title>
          .
          <source>In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM</source>
          ,
          <volume>1315</volume>
          -
          <fpage>1324</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Mehdi</given-names>
            <surname>Kaytoue</surname>
          </string-name>
          , Arlei Silva, Loïc Cerf,
          <source>Wagner Meira Jr, and Chedy Raïssi</source>
          .
          <year>2012</year>
          .
          <article-title>Watch me playing, i am a professional: a first study on video game live streaming</article-title>
          .
          <source>In Proceedings of the 21st International Conference on World Wide Web. ACM</source>
          ,
          <volume>1181</volume>
          -
          <fpage>1188</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Mathias</given-names>
            <surname>Lux</surname>
          </string-name>
          , Michael Riegler,
          <string-name>
            <surname>Duc-Tien</surname>
            Dang-Nguyen, Marcus Larson,
            <given-names>Martin</given-names>
          </string-name>
          <string-name>
            <surname>Potthast</surname>
            , and
            <given-names>Pål</given-names>
          </string-name>
          <string-name>
            <surname>Halvorsen</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>GameStory Task at MediaEval 2018</article-title>
          .
          <source>In Working Notes Proceedings of the MediaEval 2018 Workshop.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Karine</given-names>
            <surname>Pires</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gwendal</given-names>
            <surname>Simon</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Dash in twitch: Adaptive bitrate streaming in live game streaming platforms</article-title>
          .
          <source>In Proceedings of the 2014 Workshop on Design, Quality and Deployment of Adaptive Video Streaming. ACM</source>
          ,
          <volume>13</volume>
          -
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>