An android app implementation and improvement of my FRC-Elo repo
Elo ratings are a commonly used measure of relative performance in competitive games like tennis, chess, and football.
The idea behind Elo ratings in a few words is this: you move up and down based on who you win and lose to. If you win against a really good team you move up more than if you beat a really bad team.
I got the idea to create this from watching this video.
More info on Elo ratings in general can be found here.
All the normal implementations of the Elo rating system have just single players against single players, or teams against teams, without having teams that are randomly assigned to alliances throughout a tournament (which makes sense, where else is that done besides FRC?)
The solution I came up with is just to find the average Elo rating of each alliance, then when using the update function to add update delta to each team individually. An interesting side effect of this implementation is that the theoretical (but would never happen) upper limit of Elo ratings for an FRC team is 4200, rather than 1400.
Note: the app is designed for and optimized for a Google Pixel 2, seeing as that is what I have. If you use it on your device and it turns out looking weird, open up an issue and I'll see what I can do.
Android 6.0.0 or higher
If you don't want to just run the apk, skip down to Installing from Android Studio.
- Download the apk
- Find it in downloads
- Click install
- Enjoy (or see below for troubleshooting)
- If you want to have pre-loaded data, jump down to Get the Data
- If it says "Do you want to allow apps from this source" be sure to allow it
- If something else happens, please Google the issue, and if that doesn't help, open up an issue on this repo
I am assuming you have some basic knowledge of how to use a computer (like how to unzip a file)
- Download the repository (either .zip or to Github desktop)
- Open the project in Android studio (if you have android studio, otherwise download it)
- While waiting for about 20 minutes for gradle to sync, make sure you have developer options enabled on your device, and have USB debugging on
- Connect your device to your computer
- Run the app with the target device as the device you have plugged in
- Voila
- You might need to run the ADB troubleshooter
- Try plugging the USB cable into different ports on your computer (mine are finicky)
- Make sure that your device is running android 6.0.0 or later (if not it won't work)
- Open the app
- Hit Load from File
- That just set up a folder in your home directory called FRC-ELO and added elo.txt and upsets.txt to it
- Go into the folder and delete elo.txt or upsets.txt or both
- Download elo.txt/upsets.txt and move it to FRC-ELO
- Go back to the app and try to load from file
- Hit Display Ratings and make sure the ratings are actually there