League of Legends Character Data – an Idea

Gangplank - a champion in League of Legends

Gangplank - champion from League of Legends (he's a pirate! yarr!)


Today, on the way home from work, I had an idea. I’m posting it publicly so that I’ll feel more obligated to see it through.

Lately (read: the past year) I’ve been playing a lot (read: too much) of a little game that I like to call League of Legends (since that’s its name). It’s a really interesting game – it’s not ridiculously fast paced, but it’s very strategic. Before I explain my idea, I’ll explain the premise of the game. League of Legends is a tower defense game. Each game is played by two teams currently consisting of either three or five players each. The goal of each team is to destroy the other team’s nexus. In order to do this, a team must first destroy some of the opposing team’s towers (a.k.a. turrets – they do fight back) and at least one of the enemy’s inhibitors.

Each player plays a champion (there are currently over seventy to choose from!) which has unique statistics (for example, critical strike chance, attack damage, and armor) and abilities (for example, some champions have abilities which slow enemies, while others have abilities which cause them to take reduced damage for a certain amount time). Now, the really interesting part about this game is, in my opinion, the scaling aspect of it. At the beginning of each game, every player’s champion starts out at level one. Over the course of the game, each player’s champion will gain experience and gold from killing enemy champions, enemy minions and neutral monsters, destroying towers, and so on. The experience gained will cause the player’s champion to level up (to a maximum level of eighteen), granting access to new or upgraded abilities and increasing the champion’s statistics (such as armor or health). The gold gained will allow the player to purchase items for his champion which will either increase the champion’s statistics or provide some other benefit (or detriment to the other team). Games are often decided by who can “farm” the most gold and gain levels the quickest in order to overpower the other team (which, granted, always depends on a great number of other factors such as team composition and player skill). Nevertheless, it’s this scaling that is one of the main focuses of the game.

In fact, really good League of Legends players will spend a significant amount of time studying different item, mastery, and rune “builds” (masteries and runes perform functions similar to those of items but are not purchased with gold). It is this between-game study that my idea relates to.

I want to compare the properties of different champions. As I said earlier, each champion has different statistics which will affect what role they will take on a team. These statistics should be relatively easy to compile into a useful format for comparison – this is where I will start. Later on, it will probably be interesting to compile data about how different item builds, rune builds, abilities, etc. affect a champion’s performance, but those will be more complicated and will have to wait until later.

For those of you who read this blog for the coding-related content, fret not! There should be plenty of coding details in future posts in this series (ugh, i said “series,” I’ve got to follow through now).

Oh, and if you’re going to create an account for League of Legends (it’s free!), use my referral link (shameless, I know).