<<

Lag of Legends: The Effects of Latency on Champion Abilities

An Interactive Qualifying Project Report Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE

In partial fulfillment of the requirements for the Degree of Bachelor of Science By Khoi Duc Doan Duc Chi Hoang Linh Thai Hoang

Submitted to Professor Mark Claypool Worcester Polytechnic Institute

Abstract

This paper describes the effect of latency on the performance in League of Legends. We ran some pilot tests to determine that the best metric for a player’s performance in League of Legends is ability hit chance. We then created a calculation method for the deadline and precision of an ability of a champion in League of Legends. Deadline is calculated as the time it takes to finish an ability; precision is calculated using the area of effect of an ability over the screen size. We ran a user study for a few chosen abilities to measure the performance of a player at different levels of latencies. We then analysed the performance data collected from the user study to find out a correlation between an ability precision and deadline characteristics and the effect from latency to the ability hit chance. Our results suggest that deadline has more impacts on performance than precision. From the results, we also formulated a function of decision and deadline which has an exponential decay relationship with the effect on the ability to hit from latency.

1

Lag of Legends: The Effects of Latency on League of Legends Champion Abilities 0

Abstract 1

1 Introduction 3

2 Background 5 2.1 Introduction to League of Legends 5 2.1.1 League of Legends Champions 6 2.1.2 League of Legends game phase 7 2.2 Precision and Deadline 8 2.3 Network Tools and Analysis Tools 10

3 Methodology 11 3.1 Pilot tests 11 3.2 Abilities Analysis 13 3.2.1 Abilities Categories 13 3.2.2 Abilities Precisions and Deadline 16 3.3 Experimental Setup 21 3.3.1 General Setup 21 3.3.2 Client Configuration 22 3.3.3 Participants 22 3.3.4 Running the session 22 3.3.5 Collecting data 23

4 Results 24 4.1 Demographics 24 4.3 Results 27 4.4 Survey data 31

5. Conclusion and Future Study 33

References 34

Appendix 36 Appendix 1: Graph 36 Appendix 2: Script 41

2

1 Introduction

1 League of Legends (LoL), with 27 million players playing every day ,​ is currently the ​ most popular online video game. LoL is part of the MOBA (Multiplayer Online Battle Arena) genre, a team-based game in which players are formed into 2 teams consisting of three or five members. The objective of the game is to destroy the opposite team’s main building (called a ‘Nexus’). Along the way, each player gains power by completing game objectives, earning experience points and gold that are used to increase the player's level and to purchase powerful

2 items, potentially giving an advantage over opponents .​ Players can choose to play from more ​ than 100 characters (champions) with different abilities, movement speeds and attack types, to ​ ​ play. Given the game’s complexity, players may put thousands of hours to perfect their skills, and yet, skills are just one of many factors that decide the outcome of the match. As players become better at the game, individual skills become somewhat less important, and teamwork, strategies and communication between team members become pivotal to propelling the team to victory. Being a team based online game with a large competitive community, both professional and casual, the quality of the network connection to the game server is particularly important. To accommodate its huge player base across the world, , the developing company, have set up server clusters in areas with a large player base, including the Americas, Europe and various Asian countries. However, there are still occasional problems with server ​ connections, in particular latency. Latency, usually measured in milliseconds, is the average ​ total time for a computer to send data packets to the game server and vice versa. With such a ​ large player base, high latency is a regular phenomenon. The effects of network latency are unique for each game, depending on the types of game actions, game representations, and even the backend protocol for the game server. Generally, the higher the latency, the higher the user input delay and the server data delay. These symptoms have negative effects on users’ quality of experience. In LoL, user’s inputs are sent to the game server, and verified by the server by a confirmation packet. This means that user’s actions are delayed proportionally to the network latency. Yet, with the variety and complexity of LoL champions, network latency can affect each player differently. Some game roles are less affected by latency than other roles; similarly, some champions are more resistant

3

to network latency. Even players can adjust their own playstyles responding to changes in latency. The goal of this study is to find the effect of latency to the performance of League of Legends players and of other MOBA games in general. A typical LoL match lasts between 25 to ​ ​ 45 minutes with 5 members in each team. Given the length of time a game takes, we identify many aspects to measure performance of a League of Legends players beside the outcome of ​ ​ the game. We choose a few of the most popular LoL champions based on their roles in the ​ ​ game and analyze the characters’ abilities using properties like deadline and precision. Deadline for an action is the time it takes to finish that action (cast time for an ability). The precision of an action is the accuracy it takes to complete that action (hitting the ability), We then carry out user study in which users, using six chosen champions’ abilities, play against computer controlled bot at different levels of latency. We then measure how accurate a user is on a particular ability. In the end, we have 30 volunteers for our study over the duration of one month. We are able to find an exponential decay relationship between a function of each ability’s precision and deadline and the effect of latency on it. We also find that for League of Legends, players are more insensitive to latency changes as the latency becomes higher. This study can help game programmers to design games and systems that mitigate the effect of lag. It can also help players whose platforms are unavoidably laggy change their strategy and gameplay to adapt to the condition. In this paper, Chapter 2 covers the background in League of Legends, network latency and the abilities characteristics: Precision and Deadline. Chapter 3 gives the methodology on how we carry out user study and analyze League of Legends Skillshots. Chapter 4 provides the results and the analysis of the user study. Chapter 5 covers what we could improve and what future studies might focus on.

4

2 Background

Relevant background to this study includes network latency, video games and League of Legends. Section 2.1 describes League of Legends and players behaviors. Section 2.2 is about using precision and deadline to analyze the abilities of LoL champions. Section 2.3 details the tools which we use to control the parameters of the experiment.

2.1 Introduction to League of Legends

League of Legends (Riot Games, 2009), the center of this research paper, is an online video game of the MOBA (Multiplayer Online Battle Arena) genre. Despite the acronym suggesting a rather generic structure, most MOBAs follow a specific style of gameplay first pioneered in 2003 by the free Warcraft 3 (Blizzard, 2002) game mod . A typical MOBA game is played between two teams of five players, each controlling a single, powerful character (“champions” or “heroes”) with multiple abilities, fighting to destroy the other team’s central structure deep within their base while being aided by a continuous flow of weak computer-controlled units (“minions” or “creeps”). The two team’s home bases are located at two opposite corners of a square map, connected to each other by three lanes, which serve as the primary assault routes and usually defended by many structures. Player controlled characters get more powerful over time by getting rewarded for killing minions and enemy characters with experience points, which can unlock new abilities, and gold, which can be used to purchase in-game items, until they become strong enough to overpower the other team’s defenses and claim victory. While League of Legends deviates little from the MOBA formula, it is one of the first to implement skill and region-based matchmaking and a free to play business model that rewards people for playing, while at the same time also simplifying the genre, making it more accessible to newcomers. This, combined with the competitive nature of MOBAs, make League of Legends one of the most popular online games to date. As of October 2016, LoL has client server in Korea, South Asia, Russia, Europe, Oceania, and South America. However, the latency is different between regions. While Korean players enjoy very low latency at around 8 ms, other regions usually rolling at 60-70 ms even with good Internet connections. In a large region like

5

11 North America, it is common to play at 90 ms ​. Our project will focus on evaluating how ​ champions’ abilities are affected by latency. Throughout the paper we will use many League-related terminologies: skillshots refer to ​ champion abilities that must be aimed at a certain direction or area to hit other champions instead of targeting other champions directly; Gold per Minute (GPM) refers to the amount of ​ in-game gold each champions earned per minute; mastery and rune pages refer to two ​ methods to make champions more powerful outside of the game; Kill/Death/Assist (KDA) is ​ shorthand for kills/deaths/assists and refers to the number of times a champion kills/gets killed by/assists in killing an enemy champion; Last Hits refers to the number of the enemy minions ​ ​ which the player kills; Turret refers to the structure which defends the ‘Nexus’; Crowd Control ​ ​ refers to a type of abilities whose effects are to limit the other champions’ capabilities i.e: ‘stunned’ champions cannot move, cast spells and attack

2.1.1 League of Legends Champions

3 In League of Legends, players can choose among 133 ​ (and increasing) characters to ​ play, which are called champions. Each champion is designed with a unique concept, but still follows a basic template which is intrinsic to LoL. Some of the aspects of the basic hero template which are relevant to this study are: ● Each champion has four abilities, which can be passive or active: ○ Active means that if the player wants to use the ability, he/she will have to press a mouse button/ keyboard button or a combination of buttons. ■ Example: Shoot out a projectile that damages the enemy ○ Passive means that the player does not need to do anything for the ability to take effect ■ Example: Increase attack damage of the champion ● Each champion also has two special abilities, which are different from the four abilities and can be picked by the players ● Each champion can attack enemies, move around the map and has the ability to return home after channeling for 8 seconds ● Each champion can have at most 6 items equipped. Items can be passive or active similar to abilities.

6

Each champion in League of Legends is also categorized into one of 5 roles, which is considered most appropriate based on the abilities set: ● Attack Damage Carry(ADC): This type of champion usually has low health but deals a ​ ​ lot of damage from auto attacks, or attack damage ● Junglers: This type of champion usually relies on farming monsters during the early ​ phase of the game and helps allies win their lanes by surprise attacks ● Support: This type of champion has crowd controls abilities, heal or buff abilities and ​ usually keeps the ADC safe early game when the ADC is weak ● Tank: This type of champion is usually durable and has abilities that help teams start a ​ teamfight advantageously The abilities and role of each champion can determine how much they are affected by latency. For abilities in particular, their precision and deadline (detailed in Chapter 2.2) is the determination factor.

2.1.2 League of Legends game phase

A League of Legend game is typically divided into three phases: Laning Phase, Roaming/Ganking Phase and Teamfight/Pushing Phase. ● Laning Phase: Each player goes in a lane (bot/mid/top/jungle) and tries to kill as many ​ minions as possible. Players also look for opportunities to kill enemy laners, usually with the help of a jungler. This usually lasts from 10-15 minutes in the game. During this phase, great focus is given on “last hitting”, getting the killing blow on the minions in order to gain gold, and thus a champion must pay attention to the opposing minions’ health and be sure to strike at the right time to gain the credit for the kill. ● Roaming/Ganking Phase: Players temporarily leave a lane to get advantage over other ​ lanes such as kills or turrets. Ganking usually depends on being able to get an advantage over the enemy before they or their teammates can react, such as landing skillshots, and then moving in for the kill. ● Team fighting/Pushing phase: Player group up and try to push for objectives if they are ​ ahead or fall back to defend if they are behind. If a fight between two teams occurs, the champions’ various skills and the ability to land them in a team fight on the right enemy, in particular, skillshots, can decide the skirmish.

7

Note that these phases can be overlapped, especially during the Roaming/Ganking Phase and Laning Phase. Team fighting/Pushing can also happen in Laning phase, but is less uncommon. Throughout the various phases of the game, latency can affect the performance of a player in different ways, such as the ability to gain last hits or land spells in a fight. How they are affected are detailed in the following section.

2.2 Precision and Deadline

Claypool8 and Claypool introduced a categorization method for the player actions based ​ on two properties: the precision required to complete the action and the deadline by which the ​ ​ action must be completed. An example of actions with high precision is shooting with a sniper rifle in a first-person shooter game, which usually requires the mouse to be exactly on the target. An example of actions with high deadline includes constructing a building in real-time strategy game, which requires the player to wait for a certain amount of time. In LoL, actions, like moving and attacking can have different deadlines depending on current situations. During teamfights, positioning and attacking are two extremely important decisions with high precision and low deadline - while during the laning stage, the two actions do not require as much precision and have higher deadline. Each hero ability in LoL usually also has distinct precision and deadline. Some abilities have big hitboxes and low delay, while others have small hit box and high delay. Usually, hard-to-land abilities have higher impact in the game than easy ones.

8

Figure 2.2.1: Ashe ultimate ability (R)(Enchanted Crystal Arrow) has average precision, high deadline

Figure 2.2.2: Ashe second ability (W)(Volley) has low precision, low deadline

In a study based on the previous paper, Claypool 9 concluded that the exact effects of ​ network latencies on online games depends upon these two core properties: actions with higher

9

precision and tighter deadlines are more sensitive to latencies than actions with lower precision and looser deadlines. Our goal is to confirm those results for LoL. We define how to quantify precision and deadline for a character action in LoL. Then, we analyze heroes’ abilities and choose the most characteristic ones for a variety of precisions and deadlines. The criteria for the choosing process are specified in Section 3.

2.3 Network Tools and Analysis Tools

At the transport layer, League of Legends uses UDP to transmit data between the client

4 2 and the server .​ Ports used by League of Legends’ game client range from 5000 to 5500 .​ ​ ​ In order to simulate latency on Windows machines, the program Clumsy5 was used. It ​ ​ 6 ​ relies on WinDivert , a Windows library which allows user-mode applications to ​ ​ ​ capture/modify/drop network packets sent to/from the Windows network stack. Clumsy provides ​ ​ a graphical user interface to simplify the usage of WinDivert. With this program, network ​ ​ conditions can be configured, such as adding extra latency or packet loss, without needing to modify the client systems. For Mac OS, Apple provides a similar tool called “Network Link Controller”, which are available through the Apple developer account and the installation of Hardware IO Tools for XCode. Pilots tests using very high ping values (at 2000 ms) and measuring the delay between player input and action suggests that game data is server-side, with the client only transmitting input and displaying the game state as delivered by the server.

10 To assist with the study, we also use another tool called LOLReplay ​. This tool is used ​ to capture the replay of a match, allowing us to record the match statistics more easily. It works by storing the match’s data in LRT format, which then can be used by League of Legend spectator mode to reconstruct the match.

10

3 Methodology

In order to assess the effects of latency of League of Legends, we have carried out the following methodology. Pilot tests are considered in order to figure out the best methods and parameters for the experiments. A sample of champions is then chosen based on their popularity and familiarity with League of Legends players. Analysis is done on the abilities of these champions in order to estimate their precisions and deadlines. This analysis includes measuring the angle and the range of an ability inside a game, collecting information from Riot and online sources. After analyzing the chosen abilities, six abilities, two from each type of abilities, are carried out in a user study. The user study tests participants performances on those six skills at different amounts of latencies. The collected data is used to establish a relationship between latencies and skillshot performances.

3.1 Pilot tests

In our pilot tests, one user played with 9 computer controlled bots in a 5v5 match. He then played with 8 computer controlled bots and another user on the opposite side. The two users are equal in skill and experience in LoL. The users did not equip any runes and masteries. We measured how accurate user’s skillshot were when competing against all computer controlled bots versus against another user. If an ability hit an enemy champion, it is counted as a “hit”. If the ability does not hit an enemy champion, it will be counted as a “miss” The graphs are shown in figure 3.1.1 and in the appendix 1. Figures 3.1.1 shows the number of hits and misses at different latencies in two matchups: Human vs Human and Human vs bot. The vertical axis shows the accuracy in hitting a skillshot, and the horizontal axis shows each level of latency. Each point is the percentage of hit with Syndra’s Scatter the weak ability. The accuracy level shown in the graph is the average accuracy of three separate attempts. The two matchups showed similar trends: The level of accuracy decreases as the latency increases. In other figures in appendix 1, we discovered similar patterns between human vs human and human vs bot. From the analysis, we confirm that the human player’s performance progressively decreases as the latency increases.

11

Figure 3.1.1 Syndra’s Scatter the weak with different latencies

Human against human matches can have some inconsistencies in the performances of both players. This is caused by some aspects like the keyboards/ mouse which the players use or the study settings where the players are under observations. Inconsistencies are also caused by the champions played. Some League of Legends players like to play many different champions, others like to players a small number of different champions. Computer controlled bots are consistent because they are not affected by external factors and they follow the same strategy coded by the AI programmers. The pilot study suggests that human against bot matches yield similar results to human against human matches. Therefore, we decide to use human against computer controlled bot matches in this study.

In the pilot study, we also investigate the average ping time from WPI to League of Legends North American servers. The IP of the server was obtained from the Wireshark tool running on the League of Legends client. We pinged the server once per second for 1 hour. The

12

investigation was carried out from 2pm to 3pm on December 1, 2016. The average ping time result was 92ms.

Ping statistics for 64.7.192.234: Packets: Sent = 3461, Received = 3456, Lost = 5 (0% loss), Approximate round trip times in milli-seconds: Minimum = 89ms, Maximum = 255ms, Average = 92ms

Figure 3.1.2: Ping test to League of Legends client

3.2 Abilities Analysis

In League of Legends, most champions have access to four unique abilities and an innate ability. To have a deeper understanding of how champion’s abilities interact with latency, we analyze the ability with respect to precision and deadline.

3.2.1 Abilities Categories We classify League of Legend champions‘ abilities into four categories : Line Skillshot, Area of Effect Skillshot, Target Skill and Innate/Passive Ability. - A Line Skillshot can be casted by using the mouse to select a cast point anywhere on the screen. The skill travels in a line drawn from the champion through the cast point until either it reaches maximum range or hits the target (Figure 3.2.1).

13

Figure 3.2.1 : Line skillshot (Lee Sin Sonic Wave, Q)

- An area of effect skill shot can be casted by using the mouse to select a cast point anywhere on the screen. The skill appears in a circle- shape or cone- shape, taking the cast point as the origin (Figure 3.2.2a and Figure 3.2.2b).

Figure 3.2.2a: Cone shaped skill shot ( Miss Fortune Bullet Time, R)

14

Figure 3.2.2b : Circle shape skillshot ( Miss Fortune Make it Rain, W)

- A target skill can be casted by using mouse to select a unit. The skill travels toward the targeted unit (Figure 3.2.3).

Figure 3.2.3 : Target skill (Miss Fortune Double Up, Q)

15

- An Innate/Passive ability requires no casting action and therefore is not explored in the research.

3.2.2 Abilities Precisions and Deadline

In this study, the deadline of the ability is the amount of time from when the player issues the command to activate the ability (e.g, clicking left mouse button, pressing the ability hotkey, ..) to the moment the ability hits the target or ends without hitting any target. The deadline of a ability is the sum of the cast time and the ability’s projectile flying time or the sum of the cast time and the delay of the ability. This information can be calculated from the information from

13,14 League of Legends Wikia ​ or manually timed by playing in a League of Legends custom ​ lobby. The precision of the ability is calculated using the area of effect of the ability and the overall screen area. There is different precision computations for each category because of their different characteristics. The screen size is estimated in a League of Legends client on a Mac Computer to be about 3,000,000 in-game units.

● For a line skillshot, because the projectile of the ability is a line, we calculate the precision ​ ​ using the area the ability’s projectile covers before hitting the enemy. The area is calculated using the hitbox radius and the travel distance of the skillshot projectile. Using basic geometry, we derive a formula: hitbox * time * speed *4 precision = 1 − screen size Note: hitbox is the line-skillshot ability’s projectile radius, time is the time the projectile is flying, ​ ​ ​ speed is the speed of the projectile. ​

16

Figure 3.2.4 Line skillshot. The grey big rectangle is the screen area. The blue circle is the skillshot caster. The red small dot is the enemy. Each of the black bordered rectangle is half the area covered by the flying projectile ability. t is time, s is speed

Figure 3.2.4 explains the derivation of the calculation. The total hit area is approximately two times the area covered by the flying projectile. Note that for line skillshot, the area is larger as the target is farther away. Thus, the precision for line skillshot is a function of time.

● For an area of effect (AoE) skillshot, a champion is hit by a area of effect skillshot if his/her ​ ​ hitbox touches the hitbox of the skillshot. We calculate the precision using the radius of the ​ ​ hitbox and the radius of the cast area. The total hit area of a AoE skillshot is a circle around the ​ ​

17

enemy, with a radius of the diameter of a skillshot. Using basic geometry, we can derive a formula:

2 (hitbox * 2 ) π precision = 1 − screen size

Note: hitbox is the area of effect diameter. ​ ​ ​

Figure 3.2.5 AoE skillshot. The grey big rectangle is the screen size. The yellow circle is the effective area of the skillshot. The green small dot is the enemy. The green area is the precision area that will hit the target

Figure 3.2.5 explains the derivation of the computation. The player can hit the target if she/he casts the ability inside the precision area (green area). The area of effect is equals to the diameter of the AoE of the skillshot.

18

● For a cone skillshot, the precision is calculated using the angle of the cone and the ​ ​ cast range of the ability: precision = 1 − 2 * angle of the cone radius 2 π 1 360° * * * screen size Note: radius is the cast range of the ability. ​ ​ ​

Figure 3.2.6 Cone skillshot. The grey rectangle is screen size. The each of the yellow cone is the effective area of the skillshot. The red dot is the enemy.

Figure 3.2.6 explains the calculation for the cone skillshot. We can see that both of the cones hit the enemy, thus we have to multiply the angle of the cone skillshot by two.

To compute precision and deadline, we choose a small pool of champions based on their

12 popularity and familiarity to League of Legends players ​. After choosing a few champions ​ ​ for analysis, we pick out six skillshots to test. These abilities are Syndra’s Dark Sphere, ​ Scatter the Weak; Annie’s Incinerate; Thresh’s Death sentence; Ahri’s Charm. These six

19

abilities were chosen because their deadline and precision are much different from each other, and they are in different ability categories.

Figure 3.2.7 shows the calculated deadlines and precisions of the six chosen abilities. The y axis (1 - precision) shows the level of difficulty to correctly aim an ability. The x axis (deadline) shows the amount of time that the player needs to complete the ability or wait for the ability to take effect. In this figure, Syndra’s “Scatter The Weak” has the highest y coordinate because it is the ability that has the highest affected area of effect. Annie “Incinerate” has near instant cast time, thus has the lowest deadline. Ahri “Charm” and Thresh “Death Sentence” are line ​ ​ skillshots, so their precisions are a function of deadline.

Figure 3.2.5: Studied abilities’ precision and deadline

20

Using Figure 3.2.5, we hypothesize that the further the ability deadline and precision from the origin (0 , 0), the more resistant the ability to in latency.

3.3 Experimental Setup

Skillshot hit/miss are used as an indicator to measure LoL player performance. These variables are recorded in a match where users play with 9 computer controlled bots. Since Riot does not provide a tool to create a private server, we create a custom game on a Riot server and use client program to modify the network conditions on the computers.

3.3.1 General Setup

We used a computer lab on campus, called the Zoo Lab, which had divided rooms of computers. Each computer had the same specifications, keyboard and mouse. The test subjects used the computers in the lab to play the custom game. The study was conducted from November 17, 2016 to January 27, 2017. During that period, League of Legends received multiple updates, but none of those affected the abilities used in our study.

The hardware specifications for the computers are as followed: ● 8GB RAM ● 2.6 GHz Intel Core i5 Processor ● Intel Iris 1546 MB Graphics Card ● Windows 10 64-bit

15 This meets the minimum hardware requirements for League of Legends ​: ​ ● 2 GHz processor (supporting SSE2 instruction set or higher) ● 1 GB RAM (2 GB of RAM for Windows Vista and newer) ● 8 GB available hard disk space

Additional latency is added by Clumsy. There are four total latency values tested: 100ms, 200ms, 300ms, 500 ms., with the formula: Total latency time = original ping time + latency time added by Clumsy

21

Artificial 100 200 300 500 ping(ms)

Total ping(ms) 192 292 392 592

Table 3.1: Total latencies for user studies

3.3.2 Client Configuration

The League of Legends client was configured with specific settings to provide a controlled game environment for our study. A custom game was created with one human team and one bot team. The human team consists of the human player and four intermediate bots; the bot team consists of five intermediate bots. We also set up a preset rune page and a masteries page for the study. The game was played on the Summoner's’ Rift map. The default settings was used for hotkey and video control. A batch script was run in the background to change the network condition every time the participant created a new match. LOLreplay was run in the background to record the replay of the participant’s matches. This configuration helped us achieve a stable 100 FPS for the game.

3.3.3 Participants

Volunteers of the study consisted of the student population at Worcester Polytechnic Institute, recruited through email and WPI’s Social Sciences Participant Pool. The participant pool contained students in psychology courses who were able to participate in our study to receive credit.

3.3.4 Running the session

At the beginning of the study the participants filled out a survey to provide demographic information, as well as their League of Legend experience and their proficiency with different

22

champions. Two League of Legends accounts were used to run the game as we only have two PBE account. We read through a script that explained the purpose of the study, and the explanation of our custom game mode . They then played four rounds of League of Legends, each set to a different latency and lasted for 5 minutes (See Table 3.1). After each round participants were asked to give feedback by answering a questionnaire on their expense (See Appendix B). Once the questionnaires were completed we collected them, set new latency, and then started the next round. The champion for the participant was appointed by a researcher and used for all the rounds for that user. The participant had to use the preset rune page and masteries page which we created.

3.3.5 Collecting data

In addition to the survey filled out during the study, we collected data through the LOLreplay files on how well the players performed. We then rewatched the replay and recorded the number of hits and misses of the tested ability on a Google Sheet. To ensure accuracy, each match was watched by two different researchers. The survey platform which we used is Qualtrics, so we can downloaded all the data as a Excel file. All the data are then analyzed by using Google Sheet, Excel, R and Matplotlib Python Library.

23

4 Results

The first section describes demographics data. The second section analyzes the hit / miss chance at each latency from our user study. The third section analyzes the post study questionnaires to show players’ sensitivity to each latency.

4.1 Demographics

The participants in the study were drawn from the pool of WPI students. The demographics data is shown below, sorted by gender, age and skill bracket (Bronze being the lowest, continuing to Silver, Gold, Platinum and to Diamond):

Figure 4.1.1: Demographics of the testing population

In total, 30 people participated in the study with ages ranging from 17 to 21 years old. 15% of participants were female while 85% of participants were male. 33% of participants were at

Bronze rank, 33% were at Silver rank, 21% were at Gold rank, 6% were at Platinum rank and

6% were at Diamond or higher rank.

24

4.2 Data

We generated the graphs of the most relevant recorded data using R. The following box-and-whiskers plot shows the hit chance by percentage of all trials for each ability (y-axis) dependant on ping values (x-axis). The boxes show the interquartile range (IQR) for the data, while the whiskers show the range of the IQR times 1.5. The dots are outliers - data points beyond the range of the IQR times 1.5.

25

Figure 4.2.1: Box-and-whisker plot of Ahri’s Figure 4.2.2: Box-and-whisker plot of Charm hit chance Syndra’s Dark Sphere hit chance

Figure 4.2.3: Box-and-whisker plot of Figure 4.2.4: Box-and-whisker plot of Annie’s Incinerate hit chance Syndra’s Scatter the Weak hit chance

Figure 4.2.5: Box-and-whisker plot of Figure 4.2.6: Box-and-whisker plot of Nami’s Aqua Prison hit chance Thresh’s Death Sentence hit chance

26

4.3 Results

Skill Slope

Annie’s Incinerate -0.099

Syndra’s Dark Sphere -0.050

Nami’s Aqua Prison -0.043

Ahri’s Charm -0.031

Thresh’s Death -0.011 Sentence

Syndra’s Scatter the -0.006 Weak

Table 4.3: The slopes of ping value vs hit chance regression lines for each skill. Steeper slope values indicate a greater reduction in hit chance as ping increases.

27

Figure 4.3.1 : Combined regression graph of all tested skills

Figure 4.3.1 is the slope figure and table 4.3 for the abilities analysis. Syndra’s ‘Scatter the weak’ slope is the least because its precision is low, thus requires minimal effort to hit. That is why the ability seems to be unaffected by latency. On the other hand, Annie’s Incinerate has the highest slope. This can be explained by its tight deadline, so a latency difference of about

100 ms can affect it a lot. Nami’s “Aqua Prison” and Syndra’s “Dark Sphere” have similar precisions but the former has higher deadline than the latter. From the graph we can see there is a slight decrease in the slope of “Aqua Prison” compared to “Dark Sphere”. While there is a decrease, we can see that for more significant deadlines, the degree of affect from latency is less. We can see similar trends for the last two abilities, where the slope of Ahri’s “Charm” is more significant the the slope of Thresh’s “Death Sentence”. These two have similar precisions

28

and different deadlines. Note that the actual precisions of these two abilities are actually lower than shown on graph because they can be blocked by creeps, thus require more positioning by the casters. The trend of the x axis (“deadline”) shows that the smaller the deadline, the more it is affected by latency. For the y axis (“1 - precision”), the precision seems to have a U-shape correlation with the effect of latency: the most affected abilities are those with precision in the mid range. Overall, the deadline appears to be more of a factor on the effect of latency than precision.

Figure 4.3.2 : Function of deadline and precision vs slopes value

We use the result from the user study to create a figure that attempts to represent a relationship between an ability deadline - precision and its performance degradation.

29

(1 − precision)2 f (deadline, precision) = deadline 0.2 According to this graph, there is an exponential decay relationship between f() and the slope ​ value from the study. The only exception is Syndra’s “Scatter The Weak”. We think that this might be an outlier in the study due to a small number of data. Another possibility is that there is a threshold in the precision, above which the latency does not affect the performance any more as the ability is easy to hit.

30

4.4 Survey data

Figure 4.4: Graph of responses of study participants when asked to rate their performance from a certain ping level to the next

During the study, after each game from the second ping level forward, the participants are asked to rate their performance of the hero compared to the previous ping level, and the results are collected. In general the participants tend to say that their performance goes down as ping increases. There is a couple of interesting observations however:

31

- From 300ms to 500ms, while the majority did state that their performance got worse, a significant portion also stated that their performance remains the same. We think that this is due to the fact that at very high ping level, any further increase does not contribute much to the players’ perception of gameplay. - From 100ms to 300ms, while, again, the majority felt their performance decrease, there is significant portion that stated that their performance increased. This might be due to the players becoming more comfortable with the setup.

32

5. Conclusion and Future Study

League of Legends is still growing in popularity, receiving positive response from players since released. However, the effect of latency can ruin gaming experience and turn players away from the game. In order to find a solution to this problem, it is important to understand how latency impacts player actions in the game.

The study is divided into two phases. In the first phase, analysis of character abilities was done to predict how player actions in-game were affected by latencies. The pilot tests followed up to closely assess the theory. After phase 1 finished, we did a detailed analysis of champion abilities based on precision and deadline. The analysis allows us to predict and compare the character abilities sensitivities to latency.

In the second phase, WPI students were invited to participate in a study as users. They were given a survey on their background information and gaming experience with League of Legends. User then played one champion assigned by us in four different session. Each session differed in the amount of latency artificially added with different value. Users rated their performance compared to the last game after each session.

Based on the analysis, several conclusion can be drawn from the user study. First, results from user study confirmed the comparison of character ability’s sensitivity to latency from phase 1. Second, for ability characteristics, deadline has more impacts on the performance change than precision. Finally, we are able to find a exponential decay relationship between a function of ​ each ability’s precision and deadline and the effect of latency on that ability.

The conclusion of this study suggests new road for future study. Future studies could redo the experiments with different skillshots, ideally with more data points. When this project concluded, Training Mode had been released, providing a better tool for future experiment since it allows gameplay without champion cooldowns, Riot still introduces new champions and ability to League of Legend so there will be new target for analyzing.

33

References

[1]"Our Games | Riot Games." 2012. 1 Sep. 2016 ​ ​ ​ [2]"League of Legends Wiki - Wikia." 2009. 7 Sep. 2016 ​ ​ [3] By NeeksNaman. "Champion." League of Legends Wiki. Web. 09 Oct. 2016. ​ ​

[4]Troubleshooting Connection Issues." Riot Games Support. Web. 09 Oct. 2016. ​ ​ ​

s>

[5]"GitHub - jagt/clumsy: clumsy makes your network condition on ..." 2013. 27 Sep. 2016 ​ ​ ​ [6]"WinDivert 1.1: Windows Packet Divert - ReQrypt." 2014. 27 Sep. 2016

​ ​ [7] "Champion List | LOL." 2016. 18 Sep. 2016 ​ ​ [8]Claypool, Mark, and Kajal Claypool. "Latency and Player Actions in Online Games.", ​ Communications of the ACM, Volume 49, Issue 11, November 2006 ​ [9]Claypool, Mark, and Kajal Claypool. "Latency Can Kill: Precision and Deadline in ​ Online Games.", In Proceedings of the First ACM Multimedia Systems Conference ​ (MMSys), (Invited paper), Scottsdale, Arizona, USA, February 2010 ​ ​ ​ [10]”LOLreplay” ​ ​ [11] Elophant, LoL Champion and Summoner Stats.Web.12 Oct.2016.

http://www.elophant.com/league-of-legends/charts/tier?region=na&period=week

[12] "Champions Stats - League of Legends." LoL Champions & Summoners Stats & Rankings - LeagueGraphs. Web. 05 Feb. 2017.

34

[13] "Champions Stats - League of Legends." LoL Champions & Summoners Stats & Rankings - ​ ​ LeagueGraphs. Web. 05 Feb. 2017. ​

[14] "League of Legends • /r/leagueoflegends." Reddit. Web. 05 Feb. 2017. ​ ​

[15] "Minimum and Recommended System Requirements." Riot Games Support. Web. 07 Feb. ​ ​ 2017.

35

Appendix

Appendix 1: Graph

Figure 3.1.2 Syndra’s Dark Sphere in different latencies

36

Figure 3.1.3 Ahri’s charm in different latencies

37

Figure 3.1.4 Annie’s Incinerate in different latencies

38

Figure 3.1.5 Nami’s Aqua Prison in different latencies

39

Figure 3.1.6 Thresh’s Death sentence in different latencies

40

Appendix 2: Script

Bat script to control Clumsy: cd C:\Users\linh\Downloads\clumsy-0.2-win64 set /p=Hit ENTER to continue START /B clumsy.exe --filter true --lag on --lag-time 200 set /p=Hit ENTER to continue taskkill /IM clumsy.exe START /B clumsy.exe --filter true --lag on --lag-time 100 set /p=Hit ENTER to continue taskkill /IM clumsy.exe START /B clumsy.exe --filter true --lag on --lag-time 300 set /p=Hit ENTER to continue taskkill /IM clumsy.exe START /B clumsy.exe --filter true --lag on --lag-time 150 set /p=Hit ENTER to continue taskkill /IM clumsy.exe START /B clumsy.exe --filter true --lag on --lag-time 500

41