|This article makes references to graphical capabilities enabled by RobocodeGL, an add-on to Robocode developed by David Alves. Current versions of Robocode include native (Java Swing) graphical debugging capabilities, and most everybody now uses those instead.|
For edutational purposes I (PEZ) always bundle a GL version of CassiusClay with each release. To test it download CassiusClay from RobocodeRepository. And then you should see pez.rumble.CassiusClayGL in the list of bots. (You'll also find M and T versions of CC there. They are movement only and targeting only versions respectively.):
Here's what the output could look like:
This is all about WaveSuffering and the output should be interpreted like so:
- EnemyWaves are rendered with blue dots. The dots grow with the corresponding bin's associated danger. They've got an id label in the middle.
- Green, red and yellow dots are evaluation destinations. They've also got an id label corresponding to the wave they belong to. They also have their respective danger() value in their label.
- Green dots are maximum forward destinations
- Red dots are maximum reverse destinations
- Yellow dots are stop destinations
- It also shows a bar graph in the lower left. The bars represent the current danger associated with forward, stop and reverse respectively.
CC is up against an early version of ChironexFleckeri here. CF uses unsegmented StatisticalTargeting which makes it pretty predictable for CC's wave surfing.
See also PugilistGL.
Enjoy! And please write comments and questions on this page.