Android tracker for The Great Escape contest

I recently started studying android development. Inspired by PRStats (f2guibert) I have developed android app for The Great Escape contest.
My app provides:

  • The basic statistics from leaderboard in your pocket.
  • Detailed information about distribution of places in battles 1vs1 and
    1vs2. That can provide useful hints for strategy choosing and/or AI
    adjusting.
  • Comparison of players stats.
  • Notification on position changes and/or reaching a certain level of
    battles played.
  • You can add players to favorites and watch their progress.

What do you think about this? How to improve app? What functionality to add?
Is there any need for the universal app that can handle all multiplayer contests on Codingame?

Here the link:
https://play.google.com/store/apps/details?id=grmel.tgestats

14 Likes

It’s simply… awesome, useful and beautiful! I think an app which handles all multiplayer contests makes sense. And a web page linking external contributions should be available somewhere on codingame.com too (at least a new section into the FAQ page).
Thanks Grigoriy

1 Like

Awesome,

We have to think to expose an official API and the associated documentation because at the moment, there is a high change that it will change in next months

Really good work!

Really awesome work, thank you! Can your tracker display a list of all competitors from your country? Or perhaps just the country of each competitor? This would be very useful.

Nice work ! It’s very usefull ! :slight_smile:

I plan to add filters to the “all players” tab. Before your post, I just wanted to add a filter to the names of the players. But now I think to add simple syntax like:
:100 - the first hundred players;
:python - all players who wrote AI in python;
:fr - all players from France.

Unfortunately, this is probably happen after the contest because of lacks in the application architecture…
Currently I keep all data in memory with singleton pattern and use Loaders to update data and to inform UI. In this way little difficult manage with many internet query, difficult to join result from various query.
Probably, I need to start using SQLLite, IntentServise, DataProviders and Observers and these tasks will be much easier.

In order to raise interest in my app I want to tell you my little story of success.
I wrote AI and post it to the arena. He took 26th rank. The distribution of places for the various types of battles shown in Figure 1. My AI was very good in games 1 vs 1, but very often ranked second in games 1 vs 2. I quickly found out what the problem was about. In modeling phase opponents had never put walls, so my AI believed that he would take second place. He chose a player who currently was in second place and tried to beat only him.
Solution. At the beginning of the game, I gave a bonus for stopping a player who currently was on the first place. This resulted in a much more balanced playing in games 1 vs 2, and my AI finished 4th (Figure 2).

1 Like