[Home]RoboGrapher

Robo Home | Changes | Preferences | AllPages

What is it?

A utility, by PEZ, to graph your (or others) bots MovementProfiles. It's based on Kawigi's FloodGrapher, but simpler and comes with a special bot for the data collection - RoboGrapherBot. A special feature of RoboGrapherBot is that is fires two different types of Waves; one type when it fires real bullets (real waves) and one type in between (virtual waves). Real waves make learning a bit slower but more accurate (at least against bots that dodge, or change direction or anything like that when fired upon.) In RoboGrapher you can see how different profiles a bot has between these types of waves.

Like the Flood's and unlike StatistRobot, RoboGrapherBot saves data after each round so you can start graphing away immediately after starting a battle.

What's new?

Great! Where can I get it?

From the RobocodeRepository, at: http://www.robocoderepository.com/BotDetail.jsp?id=1828

It's bundled together with RoboGrapherBot which is the bot that collects data for it to graph.

How do I start it?

RoboGrapher is belongs to the "pez" package. When you have downloaded it. Start a 1v1 battle where RoboGrapherBot is one of the contestants. Then from a command prompt change directory to:
robocode/.robotcache/pez.RoboGrapherBot_1.0.jar_
. And then run:
java pez.RoboGrapher
to start it.

How do I use it?

Here's a screenshot when graphing the development version of Tityus.

What you see here is:

    1. Acceleration, with the options Decelerating, Constant and Accelerating. This is lateral acceleration.
    2. Distance, ranging from "a" (very close) to "e" (very far away). The actual ranges depend on the battle field dimensions.
    3. Fire power, also ranging from "a" (weak) to "e" (heavy) fire power.
    4. Wave type, Real or Virtual
All selections are combined with logical AND conditions.

If you would look at this version of Tityus from the perspective of Virtual waves it would look like this:

Quite different even if it is about the same peak...

Is it bug-free?

Hardly. It dumps a stack trace if you open a damaged file (like when RoboGrapherBot is writing to the file, which is quite frequent during minimized battle). Also, at least on my machine, RoboGrapher doesn't always respond when you do selections. You might need to re-select or try fiddling with another widget...

What's next for RoboGrapher?

Feel invited to help develop it further. Here's a brief list:

Where's the source code?

Bundled with the jar. Released under the RWPCL.


Comments? Questions?

Good job Pez, what about graph axis labels though? I assume that Y is probability, X is ? Velocity at the point when the wave was fired? --wolfman

Yes, Y is probability (or "visit counts" percentage). X is guess factor, ranging from -1.0 to +1.0. I couldn't get the text labels to line up so I skipped them. =) -- PEZ

PEZ, can u explain what does it means (the values) the "a,b,c,d,e..." ranges for distance and fire power? -- Axe

I am not sure what they exactly come out to be but I know they are dependant on the field size :) -- jim

Let's say for example a 800X600... -- Axe

It's sliced over MAX_DISTANCE of 800. -- PEZ

What does lateral acceleration mean? The lateral accerleration when RoboGrapherBot shoots in comparison to the last velocity?
Great tool by the way!! --Krabb

Can't say for sure, but it's probably based on (current lateral velocity) - (last lateral velocity). -- Kawigi

And "current lateral velocity" is the velocity when the bullet is shot?! --Krabb

Not the velocity, but the LateralVelocity. -- Kawigi

Ok, thanks! --Krabb

Is that bug related to bulletpower already fixed, or is it better to start using FloodGrapher. --GrubbmGait

Regardless, it's better to use FloodGrapher ;-) -- Kawigi

The robocode repository is often down, is there a way to get this without trying to download it from there, an alternative download source? -- Chase-san


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited December 17, 2006 1:33 EST by Chase-san (diff)
Search: