Revisualizing Multiplayer Madness
Spatio-temporal visualization for analyzing video game replays.
Time is an important dimension when it comes to storytelling. If done right it provides an entertaining format to answer ‘when’, ‘who’, ‘what’, ‘why’, ‘how’, and ‘where’ questions about the game data.
In cases where there are multiple concurrent events at any given time exploring the events of interest becomes challenging especially when games involve advanced visual complexity and time sensitive (temporal) elements as dimensions and gameplay mechanics.
This is particularly true in Battle Royale games, MMORPGs, or games with multiple interesting events — such as player fights, setups, loot spawns and so on — occurring concurrently as well as shaping other events directly or indirectly.
Why Visualize Replays ?
As a player, viewer and broadcaster there is value in viewing the entire length of game play at a glance. It allows for faster visual summary by
- Eyeballing to find the most “interesting” event in selected time frame
- Allowing comparison in between “events” on an overall timescale
TacScript attempts at visualizing replay file for DCS World, a realistic military combat simulator. For example, consider four planes engaged in two separate dogfights:
Bravo fires on Alpha, Delta chases Charlie, Charlie fires a rogue missile.
Alpha evades Bravo’s missile but gets hit by Charlie’s rogue missile.
Imagine this as one of the many interesting scenes in a 4-hour replay with more than 30 players engaged in combat between at least 2 teams. Things can get complicated really fast and hard to follow for the user analyzing the replay. But there is a better way:
Reading “in-between the lines”
The above scene can be seen as swimlanes for each actor with timestamps for their respective actions. The visualization can be read as follows:
Actors: Primary entities of the data (usually player or AI controlled). Example: player models in Fortnite, PUBG, Apex legends; Vehicles in Defence Combat Simulator, Flight Simulator, Forza.
Events: Sequence of actions performed by or upon the actors. This is defined using data about actors at a given time and based on context of the game. Discrete events are explained with the help of legends. Interval events are labelled within the interval itself.
Timeline: In-game ticks or real time.
This visualization can be accompanied with “attachment filters” such as a location filter using mini map and standard drop down filters.
The tool in its preliminary stages can be tried here.
This technique generates a visualization that has a swimlane made of ‘actors’ and relational arrows between their events over a timeline. The visible events can be filtered (selected/unselected) using a brush tool.
In the visualization pipeline:
- Raw Data: Replay file of game with timestamps.
- Data Table: Replay file is parsed to generate a data frame either a csv or JSON that has actors, timestamps, events, and relations between actors.
- Visual Structure: Swimlanes with timestamps are visualised using the csv or json data frame
- Views: Allows for view transformations by users using a selection brush.
Future Scope
TacReel tool is specifically being made for DCS replay files. Parsers that go through other game files can be developed to follow similar visulization for different multiplayer games.
Tools like these may have the potential to be part of in-game analysis interfaces, without having to rely on third party implementations. Such tools are a staple of MOBA games like DOTA2 and could potentially support other video game genres.
Rule sets to define different event across games that identify “unique one-in-million Pog” game events can be build to act as filters and finders, as seen in the following research.