Skip to content
Petar Basta edited this page Oct 6, 2020 · 4 revisions

League of Legends DodgeBot

Hello and welcome to the official DodgeBot wiki!

Under the supervision of Professor Joseph Vybihal, students Petar Basta, Ding Ma, and Melissa Hawley at McGill University have started to create the League of Legends DodgeBot.

Background Information

League of Legends is a multiplayer online battle arena game (MOBA) with over 100 million active monthly players. In the game players enter a 5v5 battle with people around the globe racing to destroy the opposing team’s home base (“The Nexus”). With 150 currently playable characters (“Champions”) spanning 5 predefined roles, there are countless possibilities on how to assemble a winning team. It is well known that certain champions in League of Legends have strong synergy with others, as well as some being strong even on their own. A frustration that many players have expressed is that some games feel seemingly over before they begin; the other team’s composition simply appears to be dominant.

Project Abstract

In a League of Legends game lobby, players can quit before it begins; they can do so even after seeing both teams’ selected champions. However, this will inflict a small penalty on their rank. Sometimes it feels beneficial to dodge the game and accept the small penalty instead of playing a game you know you will lose, which would incur a much larger decrease on your rank. The goal of this project will be to use a supervised learning model to determine whether the outcome of a game can truly be predicted beforehand based on the champions selected, or if the individuals’ skill levels play a much larger role. Based on the success of this model, one could use DodgeBot to determine the expected value of playing or dodging a game, and use that to determine what the best plan of action is. By using Riot Games’ public API, we can retrieve past games to determine both teams’ character compositions as well as the outcome of the game. Some possible deliverables could include data gathering, data cleaning, implementing the machine learning mode, and building the web interface.