Inspiration

Our motivation to create this project was because we noticed that there was a public dataset for matches for Deadlock that was interesting, we wanted to learn how to apply machine learning concepts outside of class, and because at least one of us really likes Deadlock.

What it does

Reads several variables from matches that correlate to game wins in Deadlock, then creates a machine learning model to predict win chance for Deadlock games. Users can then input their in game stats, and get a predicted victor and a confidence score of that team winning.

How we built it

This software queries a database built in MySQL and used by the Deadlock API using the DuckDB library in Python to collect a training set. We use data regarding objective completion and player strength (kills, souls, level) at 3 minute intervals throughout the match. Then, we take this data and feed it into a linear regression model in order to perform predictive analytics. We had the architecture to read larger amounts of data using a Vultr sever, but did not have the time to implement this feature. Then, with the outputs of the model, we ask it to predict the outcome of a match from just one timestamp.

Challenges we ran into

There was a LOT of documentation we needed to read, and even more so as the Deadlock API is not an official API provided by the developers of the game (Valve). Luckily, we reached out the the maintainer of the Deadlock API, and he helped us get started with accessing the server's database. Alongside this, our initial plan of using DigitalOcean to compute our data fell through when the MLH referral link didn't work, then. Then, we tried Vultr, but then the CPU started spinning to 100% usage before we even put anything on there, and we got a restriction notice put on our server before we even started doing any processing of data.

Accomplishments that we're proud of

We managed to complete a ML project without having any real background in the subject through our classwork, we were able to come up with a lot of solutions on our own through reading APIs and Wikipedia articles. Also, half of our team has never played Deadlock.

What we learned

We learned how to build a LR model in Python, along with using large external datasets as a tool. We also learned how to properly read dense documentation quickly, and how to apply ML concepts to more real problems.

What's next for Candlelight

We have plans to potentially take the win rate calculator and modding the percentage to be a visible statistic within the game itself. This would require modding the game to make calls to our own API to ingest information.

Built With

Share this project:

Updates