Scores the absurdity of a League of Legends URF Game. Project designed for Riot API Challenge (
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Project designed for Riot API Challenge (

#Description We all know URF is outrageous. Truly, truly, outrageous. But exactly how outrageous is it? Will even the most hardened ranked players decide to play AD Malzahar? For our entry, we want to analyze player decisions to see how weird games can get. We want to compare builds, lane choices, and type of damage dealt to try to quantify how ridiculous URF games get.

The file that assigns scores is This will read in match id's and print the match id, the match's silliness score, each team's silliness score, and whether or not the team with the higher score won to an output file. contains a dictionary with expected values for champions. We compare each player's values against it to determine how off-meta they went.

collectMatchIds is the file used to collect the match id's. It contains methods to count how many matches you obtain and how many rows are in the output file. It also contains a method to retrieve the item list, lane, and champion a player in a given match played.

#Write up We've included a PDF write up that includes our though process behind the project and our results. We also encourage you to check out our website for this project at

#Requirements This project uses 3 python libraries:

json xlrd xlwt

These can all be downloaded by using pip install. For example:

$pip install json

Would download the json library.

#How to run your own experiment In order to run you will need to create your own output files included in the project.

  1. run collectMatchIds with the output file you want to write to:

    $python collectMatchIds example_output_file.dat

WARNING: The match collection API will only work during current riot API competition which ends 4/17/2015
2) run with the file of match ids you collected and the file you want to write the data to:

$python match_ids_file.dat output_file.dat

OPTIONAL: will create buckets for based on the weirdness of matches. It will write out the silliness data from URFSillinessCalculator to an excel file. It will also return buckets of when teams won over normal teams. The "inDepth" method can be used to look at a specific game in depth. By changing the 'Game ID' paramter in the API call it will return the champs, their lane position, and their items of a specific game. takes 2 arguments; the data file you want to read from and the excel file you want to write to:

$python silliness_score_data.dat excel_file.xls

#Team members

Group members: summoner name: frindo state: NY country: USA server: NA

summoner name: kairianu state: LA country: USA server: NA