Monday, February 22, 2016

New Experimental Project: Radar Stats for League of Legends


I play League of Legends. A lot. It is my new drug (I started 3 years ago). I enjoy it more than any other game. Update: I dont play it anymore, I have a family :)

There are many applications on internet showing the game statistics: kills, deaths, assists, damage, etc. but none of those applications show the stats in the exact way I need it. What I want to see:

- A radar spiderweb of both teams, showing all kind of stats, and the evolution during the entire game. Similar to the radar graphs used by basketball websites to analyze the game.
- A map showing how both teams moved, the path they followed, were they did the kills, the area covered by both teams, and more. To do this LoL API has data in frames, separated in minutes, so it is not exact but it gives an idea of how the enemy jungle started (and killed me :0 ).
- Open the match details in the official lol history, or in LolKing.net
- Share the match details with friends

I created an android app with those features. The UI is bad, but I am focused on the functionality, after every game I analyse the graphs and discover my mistakes, the good moves of my enemies, and learn. I can not say I became a better player because of the app, but I am playing better trying to avoid the same mistakes the graphs showed to me. Sometimes it works, and I enjoy watching the graphs and the maps many times.

The LoL API doesnt return all stats in the timeline (e.g. we can not see the evolution of the total damage), but it has enough data to play with it.

I uploaded an alpha build to the store, you can download here it after joining as an alpha user https://play.google.com/apps/testing/ar.ignaciotcrespo.lolradar

UPDATE: I released it some months ago, the link is https://play.google.com/store/apps/details?id=ar.ignaciotcrespo.lolradar

For developers, some useful libraries I used to create the app:

- MPAndroidChart: excellent library to display charts in android.
- Picasso: very good image loader, very easy to use. Some issues present (memory leaks sometimes) but nothing critical.
- CircularImageView: show circular images with almost no code.
- GSON: to parse the LoL statistics in json format, and convert them to business objects.
- Guava: always useful, maybe too big for android, but this app is small.


Screenshots: (UPDATE: these screenshots are old, the new app has a different UI)


A radar chart showing the stats of each line, both teams compared




You can select 2 players and compare their gold, kda, wards, cs and objectives.




A heatmap shows the position of all players during the match. It can be changed to different kind of graphs, and see the evolution on every minute during the game.




You can select 2 players in the map and choose "Show path" to see live the path they did during the entire game.

https://goo.gl/JJHSmb



And of course the list of recent matches.




I am still working on it. It is an alpha so it has bugs. There are many things to improve, any feedback is welcome.


Enjoy Lol.


PD: if you want to play with me, my nick is "nippur" in EUW.