Robo Home | Fractal | Changes | Preferences | AllPages

NOTE: in the latest version of Fractal, the grapher is not included (sorry!) because it is not compatible with Fractal's new gun. I may eventually write a new grapher (and I do have plans to do so); Fractal's new gun would make for an extremely powerful graphing utility because of the pluggability of its segmentation axis. For this reason, I might simply create the grapher as a new robot. In the meantime, if you'd like to use this grapher, you can ask me (Vuen) or anyone who has it for a copy of Fractal 0.32.

Like other robots such as StatistRobot, GloomyDark and the Floods, Fractal 0.32 comes with a graphing utility to show a graph of your robot's movement profile. To use it, simply fight your robot against Fractal, then browse to

and type
java Grapher

Here are some screenshots of it:

The graphing utility segments data across 101 angles and 80 distance ranges.

Anyway, I'm not sure how correct the math behind this utility is and if it's buggy or not, so trust other graphers before this one at least for now. I'll double-check it and improve it in a later version. Let me know what you think! :)

-- Vuen

Questions / Comments:

Could I wish for a "sidebar" indication of where (on the distance axis) the graphed bot spends the most time? I guess it could use the same "language" of transparancy levels. Also I think that to make this grapher really useful you need at least one dimension more than just distance. Acceleration is a canditate since it often discriminates much and "only" multiplies the need for data by three. -- PEZ

Yes I agree, a column of squares indicating which distances are most important would be good.

It looks like the distance element of the graph is based on the distance the wave traveled which is good (but is not too useful for prediction) you ought to use the distance to the enemy at time of firing (although this may not make much difference).

You may consider using bullet flight time (in ticks) instead of distance for the virtical scale.

Until you start using the data you have collected to shoot at DT you will find strong 'Y' patterns in DT's graph (DT will tend to move in long sweeping arcs until regularly targeted at that position.

DT's stats show that you can create a flat profile against a non-segmented gun - unfortunatly at the expense of more predictable movement against a segmented gun - but I think you have the makings of some strong movement.

Finally - great graphics. -- Paul Evans

The sidebar indication is a great idea. Right now, for each point it divides the value by the highest on that row to get a value 0<=x<=1 so that the color is normalized for each row. This is useful to find the angle across a row, but now the overall concentration of points; I'll add a sidebar to show the distribution of points across the rows. Anyway, I've been out of the loop in Robocode for about a month so I'm not quite sure how to implement these new graphing concepts that new bots use. The axis you suggest Paul do seem more useful than what it currently uses; I may replace distance with flight time or angle with angle/bulletspeed; I'll see about incorporating the bullet speed directly anyway. Maybe I'll split into two graphs, one incorporating bullet speed as a direct proportion in one of the two axis and one not directly incorporating it (i.e. the one I have now.) I also have plans for adding a tab to view the graph in 2D curve mode (like all the other graphers) rather than 3D, using a sliderbar to view the graph at any distance you want. However I don't currently have plans for segmenting further on things like acceleration or wall distance; these may come later. I'd rather program Fractal to actually use the data that it has first to get a feel on movement graphing before it gets too complicated. Anyway, thanks for the feedback, and more is always welcome! =) -- Vuen

The 2D graph mode sounds like a great idea. Using your stats for aiming is the easy part. It'll take you at the most 10 minutes to get it to work. -- PEZ

Robo Home | Fractal | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 5, 2006 2:40 EST by Voidious (diff)