IMGD 2905 Project 1

League of Legends Analytics

Due date: Tuesday, March 30th, 11:59pm


The goal of this project is to get used to part of the game analytics pipeline, applying the pipeline to Riot Game’s League of Legends. You will import data into a spreadsheet program (e.g., Excel), then work to querying, extraction and analysis of the data through a report with charts and tables. 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 | Writeup | Hints | Submit | Grade

Part 0 - Learn LoL, Prepare Analysis Setup

Learn LoL

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

Overview

League of Legends (Riot Games, 2009) (LoL) is a is a multiplayer online battle arena PC game where each player controls a Hero in an online 5v5 match. There are 148 Champions, typically played in one of five primary team roles: Attack Damage Cary (ADC), Jungle, Middle (Mid), Support, and Top. Champions are upgraded in-game through experience gained in combat and by purchasing items (e.g., weapons or armor) with gold earned in combat.

Learn a bit about League of Legends. If you have not, you are more than welcome to play the game. But, given some of the game’s complexities, if you prefer, you can read and/or watch videos instead. Some links that may be useful include:

Video: League of Legends - Getting Started Guide
Guide: New Player Guide
Game: Download

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://its.wpi.edu/article/315/install-office-365-on-personal-machine

sudo apt-get install libreoffice

https://www.google.com/sheets/about/

Data Set

For data analysis on this project, we will be using some pre-captured data on the League of Legends European Championship 2019 (posted by Stephen O’Farrell (Ste_):

https://www.kaggle.com/stephenofarrell/league-of-legends-european-championship-2019

The above link requires a login or kaggle account for access. Once inside, the repository includes three datasets:

Each file is “comma separated value” (also known as “csv”) format so can be opened directly by your spreadsheet program. Once you have downloaded data, and opened the Champion data (lec_championdata.csv), you should see something like:

with one Champion per row and stats in the columns.

When done, proceed to part 1.


Part 1 - Damage versus Gold

In LoL, gold is used to buy items to make a Champion more powerful. More powerful Champions tend to do more damage to opponents. From the player data file, analyze Damage (as a percentage of the teams damage done) versus Gold (also as a percentage of the teams total gold).

Chart

This analysis should be in the form of a scatter plot chart, something like:

To draw the chart, use your spreadsheet’s (e.g., Microsoft Excel) built-in drawing tools. The scatter plot chart (and many charts), needs to have the data in two columns. Something like:

    DMG%,   Gold%,
    34.6,   29.6,
    31.8,   28.1,
    31.3,   30.2,
    ....

In general, you need to select the two relevant columns, and then create/insert a chart from the data. In Excel this is “Insert -> (Chart) Scatter”.

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

Another on scatter plots in Excel:

https://www.wallstreetmojo.com/scatter-plot-in-excel-chart/

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 label your axes - typically the axis is named and the units are in parenthesis. In Excel, once the chart is inserted, press the “+” button and then check “Axis title”.

Explore

From the chart, what are the general trends?

Are there any visual outliers? What do those mean?

Writeup

Place your chart in a report, with a figure number and descriptive caption (E.g., Figure 1. Damage versus Gold.). Describe the axes and the data. Then, provide your interpretation of the chart (e.g., your answers to the “Explore” questions).


Part 2 - Average Kills and Assists by Role

The different roles (ADC, Jungle, Mid, Support, and Top) often have different statistics, including the total number of kills of the opponents champions and the total number of assists in getting those kills.

Analyze average Kills (K) and Assists (A) for the roles for Support and ADC.

Chart

The first part of analysis must be in the form of a bar chart, but with each group clearly differentiated. Something like:

But with only 2 columns (ADC and Support).

Note, there are several ways to organize data in order to draw two series (e.g., ADC and Support) 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

With the averages, you can draw a bar chart, similar to your scatter plot chart in Part 1 but using the “Column Chart”.

Again, make sure to label your columns and axes.

Repeat the same analysis but this time, record assists (A).

Then, prepare table for your report:

Explore

What are the differences in the statistics for each of the two roles?

Are the differences explained by the expected play style for each role?

Writeup

As before, place your chart and table in a report, with a figure number and descriptive caption. Provide your interpretation of the results.


Part 3 - Champion Winrate

Some Champions are more powerful than others, resulting in a higher win rate. Analyze the total winrate for all Champions played (WR5):

Chart

This analysis must be in the form of a histogram, something like:

You should use a 10% bin size.

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”.

Explore

What happens to the shape of the histogram when you change the bin size?

What is happening at the ends of the histogram (very high winrate and very low winrate)?

Writeup

As before, place your chart in a report, with a figure number and descriptive caption. Provide your interpretation of the results.


Part 4 - Your Choice Analysis

Pick another, as of yet analyzed aspect of the LoL dataset (not a new dataset) of interest to you and analyze it. This could include new, un-analyzed game stats (e.g., Deaths), un-analyzed roles (e.g., Jungler or Mid), Champion selection rate/popularity, game length or match data from the lec_matchdata.csv. Feel free to be creative!

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

As always, provide a figure number, caption and your interpretation.


Writeup

Writeup a short report on the above analysis. Include a very brief introduction to the game, and a very brief description of the methodology including the data set. Have clearly labeled sections for each Part (e.g., Section 1). Note, 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., “Kills by Group” or “Damage versus Gold”).


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):

Go to the canvas page for the class
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 31 at 10:51pm


Grading

Postmortem slides: pdf | pptx

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 Damage versus Gold 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 - 30% : The analysis of Kills and Assists by Role is worth about the same chunk of the grade. Completing this demonstrates more sophisticated queries and analysis.

Part 3 - 20% : The analysis of Champion Winrate is worth an additional chunk of the grade. Completing this demonstrates an additional chart and analysis skill.

Part 4 - 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.

Misc - 10% : Miscellaneous parts of the report (e.g., other sections, overall writing, formatting, etc.) are worth about a letter grade.

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 2 parts of the project have been completed well, but not parts 3 or 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. 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 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. 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.


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

Return to the IMGD 2905 home page