Scrim of Legends was an idea that came out of the apparent frustration of finding serious practice for League of Legends players, whether it be for collegiate teams, professional organizations, or individual players. This app aims to alleviate some of the troubles associated with ranked queue (notably for North America).
What it does
The purpose of this app is to allow either amateur or professional players the ability to create custom "scrim" games against each other based on a skill-based matchmaking system. Authenticates users through discord's API and verifies a player's summoner account in order to begin the matchmaking process.
How I built it
In order to authenticate a user on our application, we setup an OAuth2 flow. We initiate the flow by having a user link their account on discord to your application, after which we create a custom Firebase authorization token which is what we actually use to authenticate the users actions on our application.
To authenticate a league of legends account to a user we take advantage of the "Third Party Code" verification process. The process functions by having a user enter a unique verification code (which we generate for them) in to the League of Legends client, after which we verify that the provided code exists (and thus the account belongs to the user in question).
Challenges I ran into
Implementing Discord's OAuth2 with our technology stack consumed most of our time, and thus we were not able to focus on the features we wanted to include. On top of this, each team member was using new technology to them, which turned out to be a huge time sink in order learn these new technologies and then implement them in such a short time frame.
Accomplishments that I'm proud of
Having the UI and the OAuth2 and verification system working was a big accomplishment considering our past experience doing so. We also had a good time!
What I learned
We've learned a lot about time management, planning, and working with new technologies. We've also learned the importance of prioritizing our workload and deciding what is worth focusing the most time on.
What's next for Scrim of Legends
We would like to first and foremost fully implement our matchmaking feature as that is the core component of our application, and unfortunately we did not have it working in time for the submission. We would also like to implement a "scrim block" system where teams can indicate a number of hours they have to practice and the app will line up that many matches for them to play consecutively. Additionally, adding a tournament mode which generates a bracket is a desirable feature.
Benefit for professional players
In the event that professional players would like create to setup scrim brackets, they could enter the teams players into the matchmaking system and it could spit them out a bracket of games over a certain amount of time (i.e. they could enter 6 available hours and it would set them up for 6 different games with 15 minute breaks in between)
Benefit for amateur players
For players looking to get a more competitive experience, they would be able to set themselves up in our matchmaking queue either solo or with up to a full team of friends. After they have entered the queue, it will match them up against another team of similarily skilled players. Before each game, there will be a 4 minute "scouting" phase, where both teams will be able to see stats".