Extracting data from the Robot during battle

14 views
Skip to first unread message

Victor Konde Jr

unread,
Jan 21, 2022, 10:53:22 AMJan 21
to Robocode
Hello everyone,

Happy 2022, I hope everyone is well.

I am currently working on an evolutionary neural network project using IntelliJ, coded in java.

Before battle, I construct neural network controllers that dictate the behavior of the robots. I then evaluate the performance of the controller based on the robots behavior for further analysis.

My challenge is, extracting data from the battles that may aid in determining the fitness of the neural network involved after a round of battle, and after the rounds of battles have been completed.

The manual routine I've been using is running the battle, extracting the results, and then running it again. That is challenging if I have an algorithm that requires 1000 runs with each run having 100 generations, that is, 100000 loops.

I would really appreciate any support given in this regard.

Thanks in advance

Victor

Pavel Šavara

unread,
Jan 23, 2022, 6:30:22 AMJan 23
to robo...@googlegroups.com
Hi  Victor,

The Robocode engine comes with a system of modules, where you could plug-in your own module and consume in-game events.
See addBattleListener 

Here I played with data mining using Kusto analytic engine.

Modules are more practical than wrestling with connectivity from inside of the robot, as the robot is locked down for security and to prevent cheating.

The engine's external API could be used to execute battles in an automated way.
Or you can also configure your own LiteRumble server and direct your own roborumble client to it, to run a specific set of battles for your training.

Note, that the engine has full visibility to precise locations of bullets etc. It also has it one or two ticks earlier than the actual robot could get it via radar.
The engine's view is richer and if you used it for training, the real robot would not have the same information available in real fair battle.
And therefore, don't confuse inputs from information the engine has, with limited information the robot has.

Cheers
Pavel


--
You received this message because you are subscribed to the Google Groups "Robocode" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robocode+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/robocode/4afb9a20-e1c0-4d83-8b36-a7824977dab4n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages