Wanting to create a useful program that can help players of all levels in League of Legends.

What it does

Java desktop program that helps users in League of Legends determine what item to build next using a database of winrates by situtation (determined by current user item build and enemy item builds). League of Legends is an online game based on combat where certain items will provide certain useful attributes or functions. We aim to use statistics to help determine which item is best by situation.

How we built it

An sql database was constructed using python by analyzing data from many past games using the Developer API from Riot Games. Linode servers were utilized to speed up data collection and analysis. The database contains situations and build paths sorted by winrate for each situation, where a situation is determined from a mathematical function incorporating the user's current item builds and the enemy's item builds to account for dynamic item build paths. When the user inputs a request for an item by holding tab and pressing "\", the program takes a screenshot of the user's scoreboard. Using image recognition software, the program determines the item builds of everyone in the game to calculate the situation that the user is in. It then searches the database for the closest situation and the best build path for the user given the situation. The program then uses text-to-speech to say the name of the best item to build next so the user never has to divert attention away from the game to determine what to build next. domain name registered by .tech, with website written in html and css hosted by Amazon Web Services.

Challenges we ran into

Getting image recognition to work: we had to restrict the workable resolution to 1920x1080 in order to properly recognize items in-game. Building the database: determining a mathematical function to identify situations and collecting/analyzing all of the data and building a workable database from the data

Accomplishments that we're proud of

Developing a full program with website, launchable application, and doing data analysis and making an independent database to use.

What we learned

How to interact with data in json files provided by the Riot Games API, building a database in python, front-end development in form of website and application.

What's next for freelo builds

Refining image recognition to work for all resolutions and to work faster. Refining data analysis methods and database building to provide more accurate data and to ensure best build paths are given.

Share this project: