Skipped Turns

Jump to navigation Jump to search

Skipped Turns

This is bot just about Oculus but it happens a lot to me. I do the things below.

  • Start the battle
  • Maximise the speed(Oh no too many skipped turns)
  • Minimise the windows(Wow my robot is faster than Shadow. No skipped turns)

Is this normal. Maybe something about robocode robot painting time. Debug graphics are closed by the way.

Dsekercioglu (talk)14:37, 11 September 2017

Yeah, I also noticed this. Robocode seems to give every robot a certain amount of time to do calculations. Whenever I activate debug graphics, the skipped turns become less. Maybe because Robocode provides more time in that case. When the window is minimized, battles run faster. Maybe the time for painting the battlefield is added to the regular bot calculation time, but I am not sure.

Does anybody know whether there is a way for the robot to know how much time he can spend before it would lead to a skipped turn?

Cb (talk)14:47, 11 September 2017

I would say simply try and save data ;)

e.g. just run your code like normal, but with time recorded. when skipped turn recorded, try to limit run time and save that. Only when skipped turns are not happening, the time limit will not decrease, then you know it.

However if the skipped turns are happening occasionally, you may end up limiting yourself too strict ;)

Xor (talk)15:50, 11 September 2017

If your robot does skipped turns you can't measure the time.=)

Dsekercioglu (talk)17:11, 11 September 2017

Skipping turns is disabled when debugging graphics is enabled. This is so you can do extra work in your debugging compared to regular without skipping turns.

Skilgannon (talk)17:30, 11 September 2017

The thing I wonder is that why skipped turns stop when I minimise the window.

Dsekercioglu (talk)17:36, 11 September 2017

It could be that painting generates a lot of objects for the garbage collector.

Skilgannon (talk)19:46, 11 September 2017

The permitted amount of time per tic for a robot is given by "cpuConstant" (see the source). On a modern computer it is about 5 -- 6 mS. You can check/recalculate it via the menu in GUI, see under options. It is reported in nano seconds.

If you want to time your bot, I would recomment to use nanoTime() call for profiling. You can see how a bit more fancy profiling done via a special class at [[1]] I am using it in EvBotNG. If you look at console, you will see profiler info at the end of every round.

Beaming (talk)20:57, 11 September 2017

Mine is a bit slow. It's about 6.4 milliseconds.

Dsekercioglu (talk)12:45, 12 September 2017