I have two addiction at my life, develop new things and play games.
When I started at Codingame, it was an instant love.
BUT, there is a problem. I just play for fun, I’m not a developer at work, I know only JAVA, and I’m not interesting in learn C++.
I learned a lot about a bunch of thing, and every time that I learn new things, my code request more process, more memory, and a thing that a can’t control in JAVA, I need Garbage Collector.
It is very sad, when you have to reserve 50% of your turn time, as a security margin for GC to run, In other words, every turn I lose 50% of my turn time, because in one or two turns, maybe the GC will run and timeout me.
Reading any Strategy Forum, you can see that any people are proud to be the first place using a GC language. Because GC language is naturally, slower than C++, and when you have to reserve so much time to GC, the performance difference is so large, that you can’t expect to get the first positions. And it is not good if you expect to have any kind of developer competing here.
I did my complaint, and I have 2 suggestion to improve the experience for JAVA player:
Lets use the MeanMax game as example:
You have 1000ms at the first turn, and 50ms at others turn, most of the users, do not need so much time at the first turn.
- Instead of give the 1000ms to waste at the first turn, give this 1000ms to waste any time. So you can set your timeout to 50ms, and each time that the GC run, you know how much time the GC is taking, how much extra time left, and you can in some level, control it. Languages that do not have this problem, can use this time in different ways.
- Any time not used at one turn, will pass to next turn (with a cap), for example, if I use only 45ms per turn, I will increase 5ms at my extra time that I can use when the GC run.
One of this 2 suggestion is enough to increase the experience for JAVA players.
Why to do this?
- This will improve the experience for who is using Java and .Net.
- This will not add any benefits to any kind of language.
- Who is using C++, can use this time to do different types of strategy, like using more process time during key turns. But it will not give a large advantage for then, like today.