IMGD 2905 Project 1

Heroes of the Storm Analytics

Due date: Monday, March 18th, 11:59pm


The goal of this project is to get used to part of the game analytics pipeline, applying the pipeline to Blizzard’s Heroes of the Storm. You will import data into a spreadsheet program (e.g., Excel), then work to querying, extraction and analysis the data. Analysis includes creating a report with charts and tables, and possible dissemination by presentation. The tool pipeline will be used for subsequent projects, including a more advanced analysis of game data.


Top | Part 0 | Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Writeup | Hints | Submit | Grade

Part 0 - Learn HOTS, Prepare Analysis Setup

Learn HOTS

Gain an understanding of the HOTS game fundamentals to inform your analysis.

Overview

Heroes of the Storm (Blizzard, 2015) (HOTS) is a multiplayer online battle arena PC game where each player controls a Hero in an online 5v5 match. There are 85 heroes, divided into four roles: Assassin, Warrior, Support, and Specialist. Heroes are upgraded in game when a team has gained enough experience points (through combat), where players may select a new Hero ability, or augments an existing one. There are 15 maps, each with different objectives and some with different victory conditions.

Play Tutorial

If you have not played HOTS, visit https://heroesofthestorm.com/en-us/game/ and download the game and play the tutorial.

Prepare Analysis Setup

Setup tools and download data in preparation for analysis.

Spreadsheet

At this point, the primary installation is of a spreadsheet. Choose the installation method appropriate for your Operating System and install a spreadsheet:

https://it.wpi.edu/Article/Install-Microsoft-Office-2016-on-Windows

sudo apt-get install libreoffice

Data Set

For data analysis on this project, we will be using HOTS Logs:

https://www.hotslogs.com/Info/API.

HOTS Logs is a collection of players’ voluntarily uploaded game data. If you want to know more, see a video overview at:

https://www.youtube.com/watch?v=D8Fu3Q55OOw.

We will be using 100,000 rows of game data from March 7, 2019, provided in a comma spatted value (csv) file:

hots.csv

If you prefer, you can extract the data yourself from a more recent copy of the HOTS Logs source:

http://tinyurl.com/y55fqaaa

Note, however, that the original data is nearly a million rows and has separate files for the game data (ReplayCharacters.csv) and the hero data (HeroIDAndMapID.csv). The csv provided has combined the two by embedding the hero information as separate columns in the game data and is only one hundred thousand rows.

Once you have downloaded data, check that you can successfully open it with your spreadsheet. You should see something like:

with game stats in the columns and one Hero (player) per row.

When done, proceed to part 1.


Part 1 - Takedowns versus Hero Damage

Analysis

A takedown is when a Hero assists in a kill or actually kills an opposing Hero. Analyze Takedowns versus Hero Damage. This analysis must be in the form of a scatter plot chart, something like:

Tips:

To draw the chart, use a spreadsheet (e.g., Microsoft Excel). The scatter plot chart (and many charts), needs to have the data in two columns. Something like:

    Hero Damage,  Takedowns,
    14123,                3,
    42082,               25,
    23145,               12,
    ....

Note, the raw data has each column separated by a comma. This file format is known as “csv” for “comma separated values” and can be read bye most spreadsheet programs.

Fortunately, the original dataset is already in the right format! You just need to select the two relevant columns, and then create/insert a chart from the data.

Tips:

For help with selecting columns:

https://tinyurl.com/yczpub96

There are lots of online resources for making spreadsheet charts. One such is:

http://www.excel-easy.com/examples/scatter-chart.html

For the above link and all below, if your version of Excel or spreadsheet does not match the tutorial, hit F1 for “Help” and then type your query (e.g., “create a scatter plot”).

Make sure to consider what data you have on the x-axis and the y-axis, and provide appropriate labels.


Part 2 - Healing versus Damage Analysis

Analyze Healing versus Hero Damage for two different Hero groups, Warrior and Support. This analysis must be in the form of a scatter plot chart, but with the two groups clearly differentiated. Something like:

Once done, compute and report (in table form):

Tips:

Note, there are several ways to organize data in order to draw two series (e.g., Support and Warrior) in one chart. It is often helpful to cluster data for the same groups together. One way to do this is to sort by a particular column (e.g., Group):

Quick start: Sort data in an Excel worksheet Sorting Data in Excel

Then, you can select just some of the rows (e.g., only the rows with Support). Steps on selecting a set rows can be found here:

Highlight rows that contain

For charts with multiple data sets, see the section “Multiple Blocks of Data” in:

Multiple Series in One Excel Chart

Computing averages in spreadsheets is typically done with a built-in function. In Excel:

Calculate the average of a group of numbers


Part 3 - Takedown Distribution Analysis

Analyze the Takedown distribution of all players. This analysis must be in the form of a histogram (bucket size is optional), something like:

Tips

Tips for drawing a histogram with Microsoft Excel can be found at:

http://www.excel-easy.com/examples/histogram.html

As for other tips, if your version of Excel does not match the tutorial, hit F1 for “Help” and then search for “Create a histogram”.


Part 4 - Takedowns by Group Analysis

Analyze average Takedowns according to the Group for all Heroes. This analysis must be in the form of a bar chart. Something like:

Tips

As for other charts, the trick is to get only the rows with the group desired selected. One way to do this is with filters, filtering in data that matches a pattern (e.g., Warrior) and filtering out data that does not:

https://tinyurl.com/y8fh9dru

Note, you can take filtered data and copy it, say, to another spreadsheet for analysis.


Part 5 - Your Choice Analysis

Pick another, as of yet analyzed aspect of the HOTS dataset (not a new dataset) of interest to you and analyze it. This could include new, un-analyzed game stats (e.g., Killing Blows) or un-analyzed sub-group comparisons (e.g., Healer to Bruiser). Feel free to be creative!

This analysis must include a chart and may include a table or other statistics.


Writeup

Writeup a short report on the above analysis. Include a brief description of the methodology, particularly as it may relate to the results obtained. Have clearly labeled sections for each Part (e.g., Section 1). You do not need to include Part 0 - Setup in your report.

All results in the form of charts and tables should:

For reference, consider a good example of descriptive text to accompany a chart made through data analysis.

Remember, the independent variable on the x-axis (horizontal axis) and the dependent variable on the y-axis (vertical axis). The independent variable is the one that you manipulate, and the dependent variable is the one that you observe. Note that sometimes you do not really manipulate either variable, you observe them both. In that case, if you are testing the hypothesis that changes in one variable cause (or at least correlate with) changes in the other. Put the variable that you think causes the changes on the x-axis. Either way, the title/caption for the graph is read as y-axis versus/by x-axis (e.g., “Takedowns by Group” or “Healing versus Hero Damage”).


Hints

The comments below are common mistakes from previous years. They may pertain to your project. They are not provided in any particular order.


Submission

The assignment is to be submitted electronically via Canvas by 11:59pm on the day due.

The submission is a report in PDF, named:

    proj1-lastname.pdf

with your name in place of “lastname” above, of course.

To submit your assignment (proj1-lastname.pdf):

Open: IMGD2905-D19-D01
Navigate to: Assignments -> Project 1
Click: Submit Assignment
Click: Choose File
Select the zip file: proj1-lastname.pdf
Click: Submit Assignment

Important - you must click the Submit Assignment button at the end or your file will not be submitted!

When successfully submitted, you should see a message similar to:

Submission
- Submitted!
Mar 18 at 10:51pm


Grading

All accomplishments are shown through the report. The point break down does not necessarily reflect effort or time on task. Rather, the scale is graduated to provide for increasingly more effort required for the same reward (points).

Breakdown

Part 1 - 30% : The analysis of Takedown versus Hero Damage represents a large chunk of the grade. Completing this part means a basic tool pipeline is setup and can be used, with a basic demonstration of one full-set of analysis.

Part 2 - 25% : The analysis of Healing versus Damage Analysis is worth aa slight smaller chunk of the grade. Completing this demonstrates more sophisticated queries and analysis.

Part 3 - 20% : The analysis of Takedown Distribution is worth an additional chunk of data. Completing this demonstrates an additional chart and analysis skill.

Part 4 - 15% : Comparing Takedowns by Group is worth an additional letter grade worth of points. Doing so reinforces the skills already demonstrated one time.

Part 5 - 10% : Analyzing an aspect of choice from the data set is worth a small fraction, but still about one letter, of the grade as it represents the “icing on the cake”. It shows an additional set of queries as well as new insights that are self-driven.

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. The first 3 parts of the project have been completed well, but not parts 4 or 5. 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. The first 2 parts of the project have been completed or nearly completed, but not parts 3 or 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. The first part of the project has been completed or nearly completed, and maybe some of part 2, but not parts 3, 4 or 5. 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. No 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.

### Postmortem Feedback on Graded Projects

The comments below are in response to graded projects. They are not provided in any particular order.

  1. Reports should stand alone. Thus, a Methodology is required, listing at least the data source, maybe a bit more on steps. This section can (and should be) short, where appropriate. Points were not taken off for this, but consider it in the future.
  2. When possible, use shapes as well as colors to differentiate clusters of data. For example, in part 2, the Warriors could be a blue triangle and the Support a orange circle.
  3. Histogram analysis should be accompanied by comments about the shape of the distribution. Also, motivation for bin size chosen.
  4. Reports should have an objective tone, with observations based on data not opinions. Be careful when drawing conclusions about aspects of the game outside of what the data shows (e.g., player skill, play style, fun, etc.).
  5. Motivation as to why particular analysis is done should be provided to start a section. It can (and usually should) be quite brief (i.e, 1 or at most 2 sentences). Example, “The same 10,000 players from the HOTS data set was used, but this time only Warriors and Support Heroes were considered.”
  6. Most of the time, grids are not needed for scatter plots.
  7. Think about font sizes for labels and legends. Try to make fonts approximately the same size as the report text, or maybe one size smaller, but not much more.

Top | Part 0 | Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Writeup | Hints | Submit | Grade

Return to the IMGD 2905 home page