Hi @Rprades, I did not know about that technique. I guess, it’s more fun to figure out and code your own algorithms. When I first saw the game, I immediately thought Prolog would be a good solution for it. I never knew there were solving libraries…
Anyway, what is the complexity of implementing the algorithm yourself ? The Python libraries are open source, so burrowing the code could be done. Or is Python just too slow (making C-libraries necessary) ?
The current top rankings don’t seem to reflect performance. The top spot is quite easily beatable in the IDE while the second spot is a much stronger opponent. Also, the top spot has been claimed by the same player since the start of the Bronze League if I’m not mistaken. Is this perhaps because they were the very first to reach the Bronze League?
I suppose it doesn’t matter as much at this point because there are still upcoming leagues, but it raises the question if the top rankings are recalculated at some point. Is this only at the very end for the Legend League?
I confirm what @SpectralFlame said. “emil” Rust bot last time I tried facing him didn’t challenge me properly. The 2nd and 3rd bots seem to be much stronger or just better sparing partners. I do not what’s going on here.
emil’s bot is in Rust. Rust is in debug mode in IDE matches and release mode in the arena, so you can’t test against the arena version of his bot. Same goes for C# iirc.
Clojure : Random timeouts on first turn only, seems to affect all clojure coders
Hi, looking at battles of all (4) people coding in clojure, we all experience the same issue : we randomly timeout on the first turn of our battles. In my case at least, the main function is not reached. If we manage to get through the first turn, then we manage all the other turns without any timeout.
It happens more often in battles than in the IDE. But both are impacted.
Commenting the (:gen-class) form, which is part of the codingame provided template, reduces the frequency of timeouts, but is not enough. This form performs an additional AOT compilation. It seems that the compile/startup time for clojure programs takes too long.
I’m coding in java and get frequent timeout errors. I don’t get them when testing in the IDE but i can see them all the time once I submit my code. When I import those game parameters back into the IDE, I don’t usually get the errors. Can anyone tell me why this is happening? I currently have 7 time out errors in the last 95 game with only one of them showing up when I import to the IDE.
More seriously look at your turn timer, you can still see your debug output in the replays. If you get timeouts that seem a bit random it may be a garbage collector issue.
All of the sudden I started getting this error:
Warning: your code did not read all available input before printing an instruction, your outputs will not be synchronized with the game’s turns and unexpected behaviour may occur.
Even with the code that worked just fine before.
Is this a known issue?
This error is likely shown when your program times out, like several other languages affected by this, as reported above. It is under investigation. If your language is not one of those listed above with the timeout problem, you should report it as well.
Alright, maybe I didn’t explain my thoughts clearly enought the first time. All I said is you can reduce garbage collection issues by pre-allocating your objects instead of creating/deleting them every turn. That is common sense when you know how much memory you might need at most and can afford it. Memoization will also help with this.
I invited you to PM me, so we can talk about this in more depth, but you neglected to do so. Instead you continue to point me out, as if my thinking is wrong without explaing why… I would prefer you tell exactly how it is incorrect, so we can all learn something instead.
Most likely CG can’t do much about garbage collected languages timing out more frequently than others. We already have 1000 ms at the first turn to warm things up and perform pre-allocation. For the rest, we “have to deal with it”, as best we can, writing better code or switching to another language.
I am always eager to learn better ways, and I am not sure why you are acting this way instead proposing a better solution.
Thank you for the information @Uljahn. We didn’t see the top C++ coders talk about this on the forum. So there is a problem with all languages. I didn’t notice it myself, because I am busy rewritting a local engine and didn’t submit in a while.