Give us your feedback and comments about the game, tell about your strategy…
- Viewing last battles was very clunky. This half screen view with a tiny map was not very useful because the player was too small. If it took up the full page, it would have been much easier to use.
- No way to save battles and view them later, or to replay a battle in the IDE so you can debug it better
- No way to see which battles actually counted towards rank and which ones were thrown out
- More information in the last battles screen would have helped me find matches I was interested in (map size, etc)
- I don’t think someone’s rank should have changed until the game was finished playing all the battles. With people constantly submitting games it was almost impossible to know your true rank. Perhaps have a “pending rank” which would should how their currently rank calculation was going.
** Game Player **
- It would have been nice if the game player remembered your view settings. The regular mode was pretty much useless and it would have been nice to have it go automatically to debug view. This was especially problematic when trying to go back, review some battles, go back to the IDE, etc.
- Some kind of revision tracking would be nice, but not a must have. I ended up committing my changes to a git repository whenever I would submit to the arena but there was no way for me to track how those commits did when pushed to the arena.
The trueskill distribution seems very uneven, at least at the very top. This is how it looks for the top 20:
42-43: 1 player
What do you deduce from that ?
Currently, we can
Yes, if you’re very patient and a Chromium user… I think he meant “an easy way to replay a battle in the IDE”, because using the “share” button and then find the seed of the map, then copy it, and paste it in the IDE is a method really boring if you need to do it often…
We have to learn more and better alogrithms
Well, I didn’t know you could do this.
Well, I’m not sure. I just find it hard to believe that 6 players will be so clustered together like that. I think the fact that your rank can change based on how often other people submit games is a flaw in the system. I don’t know 100% how the system works so I could be totally wrong here and that is fine. Maybe I just need a better explanation.
I think that the issue is that there is not 1000 of different ways to solve this problem. You have a serie of aspect to take into consideration. The more your IA is able to take into account, the higher your rank will be. Most people will consider only a part of the problem and end at similar ranks. The ones taking care of all little details will make the difference…
I’m completely agree, matchmaking should generate matches without waiting for other users commits.
Btw, involve the community (rules/maps) and have an scalable challenge was two interesting concepts.
I know it has already been discussed before, and it doesn’t apply to this challenge in particular, but the one and only feature that I miss the most is a button “retrieve arena IA”. It’s hard to keep a safe track of all our pushes when we work on several versions at the same time. Sometimes you fail, and you don’t know which version is in the arena. Please add this feature and it will be perfection
Here are the features I miss the most :
- a simple way to switch players in test matchs
- timeouts and memory errors clearly shown on the recent match list
- when matches are played by pair, group pairs on the list
And I agree, a better ranking system, with more matches played, not only when you push your IA.
Hello guys, this is hwang.
Once again, i had lots of fun playing this game. I struggled a lot for the top 3 but every time i just finish top 10.
But most importantly, I’d like to thank a lot the players who have been there with me. No friend, no battle.
The main reason why I continue with rift2 is to test the extensionality of my solution developed in a functional style. By functional, I mean immutability and most importantly functions without side effects.
The result is amazing, I managed to make reuse of most of functions developed during rift 1 such as path finding, distance matrix, and moves planning. I’m very interested by Sparshong’s solution developed in Haskell which should be a purer solution.
I can’t agree more with sharcoux’s insights that details are the key toward victories. I had such experience myself that a small modification leads to dramatic score improvement (from 13th to 4th).
Regarding Neumann’s remarks on the solution versionning. I managed it with git. In general, I have a master branch and several tunning branches. I merge the tunning branch to master only when the improvement is validated. Therefore, I can ensure that my master branch always contains my best solution.
At last, thanks codingame for your great work.
By the way, any guys in Paris are interested by a meetup around a cup of beer ?
First of all, I had a great time playing this challenge.
I also used git and developed purely on my local machine for a faster code-compile-debug cycle. Though my tree is not very clean, and I only did incremental improvements without using branches. I had only one branch when my program was starting to get “out of memory” from ghc (took me a week to understand it was the compiler, and not my program, that was using too much memory, where I tried to improve as much as I could the memory usage), but when they increased memory for compilation, it was a nightmare to merge with my other branch. I ended up having a lot of dead code that waited to be put to better usage (like I knew where the zones at equal distance to both HQ were, but thought it used too much memory so deleted that part).
The most important features I wished I had access to would be
- a better way to upload code
- higher code limit (at 50k, I had to delete comments :-()
- group symmetrical matches in arena
- way to get map from arena (without the trick mentioned above that I didn’t know)
- better way to test code than committing to the arena
From my point of view, it is clear as to why Sharcoux is far ahead of the others as he won games with much more regularity. It was very fun to see the rules change every week, although it was often for me f**k I need to rewrite everything (showing how poor my plans were).
To answer hwang’s question, in the end I am not particularly happy the “purity” of my code. Also, I am new to Haskell (started when I discovered CodinGame in December, to test the website and discover a new language), which is very different to the other functional language that I knew before (OCaml).
I constantly struggled between the immutable world and the need to update my view of the world; Like, “now you don’t know how much plat there is on a zone, you must discover it.” I was always at loss as to how to do that in Haskell while not sacrificing performance (or memory, as I wrongly believed I was using too much of it…). It is really strange how you get used to new constraints that would have baffled me in another language like C (“an array you cannot modify, what the f***???”).
The result is now there are IO monads everywhere in my code, but I also learned a lot during the challenge and I would probably make a lot of different choices now (although I don’t know what yet, I need a bit a time to let it cool down :-)).
Thanks to all of you, it was nice to be frustrated by all your sneaky little pods running around to MY side of the map and taking MY platinum mines ;-).
By the way, I fully agree with you on all the points you mentioned. It’s a very good analysis of all the little troubles we all faced and that were the most irritating. But fortunately, nothing that could prevent enjoying the contest.
Agree with suggestions about last battles list:
- timeouts highlighting
- grouping pairs of symmetric matches (with both-losed highlighting)
- copy-to-ide button
Also will be very, very useful:
- switch-players-sides button
- restore-to-arena- version button
- higher code limit (I had to remove all comments, rename my classes and vars to names like “Z” and “ac”).
Also about rating system. Looks like after initial testing session score value depends on what mostly submitted, if no any new submits of better-than-mine algorithms then my score will increase (not stay on the same value), and if I resubmit the same code I will get worse rating value. Also score will decrease if new uploads mostly from the top players.
And looks like in the last days battle visualization was broken. Sometimes I saw strange values on the screen, which didn’t match turn state from input in the logs.