Project designed for Riot API Challenge (https://developer.riotgames.com/discussion/riot-games-api/show/bX8Z86bm)
#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 URFSillinessCalculator.py. 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.
championDB.py 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 howWackyWasURF.com
#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.
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 URFSillinessCalculator.py with the file of match ids you collected and the file you want to write the data to:
$python URFSillinessCalculator.py match_ids_file.dat output_file.dat
Analysis.py 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.
Analysis.py takes 2 arguments; the data file you want to read from and the excel file you want to write to:
$python Analysis.py silliness_score_data.dat excel_file.xls
Group members: summoner name: frindo state: NY country: USA server: NA
summoner name: kairianu state: LA country: USA server: NA