TagPro Analytics Project 3 IMGD 2905
Overview Use complete game analytics pipeline Re-inforce using analytics to critique level design Less “draw this graph”, more freedom (and responsibility) Apply to TagPro (Multiplayer, online, competitive game) Pipeline: Have control over game level (map), access and understanding to “full” game
TagPro for IMGD 2905 Easy to understand Actively played Design own maps Data on maps and gameplay
TagPro - 2d, 4v4 capture the flag game https://youtu.be/mCO1HsOcXM4
TagPro Public Servers Active players throughout the day https://traffic.alexa.com/graph?y=t&u=koalabeast.com (7am East Coast)
TagPro Leaderboards http://imgur.com/a/1byzg
TagPro Community Reddit - /r/TagPro
TagPro Community Maps
TagPro Map Editor Save locally Export to test online
TagPro Data 3rd party userscript provides data Map data (static) Walls, spikes, size Gameplay data (dynamic) Captures Scores Pops (splats) Player data (both) Rank (static) Points (dynamic)
Parts Part 1 – LTP, Design Map, Play Maps, Tools Part 2 – WPI TagPro Maps Part 3 – All TagPro Maps Part 4 – TagPro Splats Hints Writeup and Submission Grading
Part 1a – Learn to Play Watch videos Play to understand game Several games online Get feel for gameplay, map features https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRcP0mZR_0seaVhGVlKo4SCwRJ5TNDomKW4_Twr4qceykMOmrvegQ
Part 1b – Design Map Web browser Layout and test Can save up to 3, but only need 1
Part 1c - Play Class in groups of 4 Arrange time (1-2 hours) with group, preferably lab Play everyone’s map at least once Mail data files to professor! Before! Install userscript https://tagpro.eu/ Tampermonkey https://tampermonkey.net/
Run: php match-stats.php sample.json Part 1d - Tools match-stats.php - extracts map and match data from userscript output. splats.php - extracts splat data from userscript output, with team and (x,y) coordinates for each line. sample.json - sample userscript output that works with match-stats.php and splats.php. convert-bulk-match.php - Converts match data extracted from https://tagpro.eu/?science to a format that can be read by match-stats.php. LogReader.php - Library utility to read log files. MapEventHandler.php - Library utility to handle maps. PlayerEventHandler.php - Library utility to handle player events. SplatEventHandler.php - Library utility to handle splats. Install PHP interpreter Linux: sudo apt-get install php Windows: http://windows.php.net/download/ Download and extract Set path Run: php match-stats.php sample.json Not expected to modify! But can. Or write Python.
Data Gathering Summary Play game Stores local file with match data, TagPro.json e.g., sample.json Can upload to visualize (demo) Can run PHP script e.g., match-stats.php Use redirection to get CSV!
Part 2 – WPI TagPro Maps Analyze 2905-D17 TagPro games Map data (static) e.g., size, obstacles, … Consider derived metrics, too e.g., density, width/height aspect ratio, danger Gameplay (dynamic) e.g., pops, duration Maps and Gameplay e.g., obstacles and duration Compare your map to other maps!
Part 3 – All TagPro Maps Download matches Download maps, too https://tagpro.eu/?science Download maps, too Start small (e.g., 100) but may use 1000s Note, to embed map inside game json, must use convert-bulk-match.php
Par 4 – TagPro Splats Analyze where splats (pops) occur for maps Your map Other maps To extract (x,y) splat data, use splats.php Top-down, or heat map, or …
Hints WPI 2905 TagPro dataset Beware of data overload (Once mailed) Beware of data overload Too much to analyze all! Pick interesting aspects, analyze well (good charts) Static Map Analysis Remove duplicates Good Charts See checklist Excel → "Data" → "Data Tools" group → "Remove Duplicates"
Online via http://ia.wpi.edu/2905/ Write Up Short report Content key, but structure and writing matter Consider: Ease of extracting information Organization Concise and precise Clarity Grammar/English Sections Map design and playing Brief method, chart, message May follow project, but organize for clarity Charts/tables: Number and caption Referred to by number Labeled axes Explained trend lines Chart checklist Message Online via http://ia.wpi.edu/2905/ PDF only!
Grading Part 1 (Learn, Design, Play) 15% Part 2 (WPI Map and Game) 40% Part 3 (Public Map and Game) 25% Part 4 (Splat Data) 15% PuckHunt 5% Participate in user study Analysis option project 4! All visible in report! (Late – 10% per day)
Introduction Real-time games sensitive to lag Even 10s of milliseconds of impacts player performance and quality of experience (QoE) Mitigate with compensation (e.g., time warp, player prediction, dead reckoning …) But how effective? And when needed (what player actions)? Need research to better understand effects of delay on games
Effect of delay on games? Introduction Real-time games sensitive to lag Even 10s of milliseconds of impacts player performance and quality of experience (QoE) Mitigate with compensation (e.g., time warp, player prediction, dead reckoning …) But how effective? And when needed (what player actions)? Need research to better understand effects of delay on games! Effect of delay on games?
Research in Games and Delay Effect of delay on games?
Research in Games and Delay Game Genres [Armitage, 2003] [Beigbeder, 2004] UT Warcraft EverQuest Research [Chen, 2006] Quake [Claypool, 2005] Effect of delay on games? [Amin, 2013]
Research in Games and Delay Game Genres UT Warcraft EverQuest Research Quake Effect of delay on games? [Hajri, 2011] [MacKenzie, 1992] [Raeen, 2011] Target Selection [Fitts’ Law] Target Selection w/Delay Moving Target Selection Research [Hoffman, 2012] [Brady, 2015] Input Types
Why Moving Target Selection? [Duck Hunt, Nintendo, 1984] [Call of Duty, Activision, 2003] [League of Legends, Riot Games, 2009]
Puck Hunt The Game of Moving Target Selection Survey Play game About 30 minutes Project 3 Play Psych students Psych pool Part of supporting game analytics work is to play games Project 4 Analyze!
Rubric 100-90. The submission clearly exceeds requirements. All parts of the project have been completed or nearly completed. The report is clearly organized and well-written, charts and tables are clearly labeled and described and messages provided about each part of the analysis. 89-80. The submission meets requirements. Parts 1-3 of the project have been completed or nearly completed, but perhaps not part 4. The report is organized and well-written, charts and tables are labeled and described and messages provided about most of the analysis. 79-70. The submission barely meets requirements. Parts 1-2 of the project have been completed or nearly completed, and some of part 3, but not part 4. The report is semi-organized and semi-well-written, charts and tables are somewhat labeled and described, but parts may be missing. Messages are not always clearly provided for the analysis. 69-60. The project fails to meet requirements in some places. Parts 1-2 of the project has been completed or nearly completed, and some of Part 3, but not all parts 3 or 4. The report is not well-organized nor well-written, charts and tables are not labeled or may be missing. Messages are not always provided for the analysis. 59-0. The project does not meet requirements. Besides Part 1, no other part of the project has been completed. The report is not well-organized nor well-written, charts and tables are not labeled and/or are missing. Messages are not consistently provided for the analysis.