[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)AI Challenge Forums • View topic - Visualising AI state

You don't have to compile the Java visualizer - that is only if you want to use the real-time streaming visualizer. You can run your games and view them in the browser-based visualizer just fine without compiling anything. In the instructions, just stop before the "Stand-alone real-time streaming visualizer" heading.

If you still want to compile the Java visualizer: It seems that your error is because 'ant' is not installed. 'ant' is a build tool - not part of this aichallenge project, the 'ant' name is just a coincidence. I'm not a windows user, but I'm guessing you're using cygwin.. this stackoverflow question might help you to install 'ant' on windows: http://stackoverflow.com/questions/4724 ... -whys-that

Alternatively if you really want to get the Java visualizer to see games as they play, you could look through the aichallenge/ants/visualizer/build.xml file (that's the makefile for ant) and figure out the commands it's executing to build and copy the .jar file to the deploy directory. Or you could get someone you trust who has compiled it already to send you the .jar file.

I had an interesting pull request with some modifications, but I want to find out how people are using this first as the modifications could break some people's visualizations...

The suggested change is to draw the ants on top of the visualizations - this can be useful to see your ants clearly, but it can also mask information that you're drawing onto ants. Also, you can always NOT draw tile overlays for tiles with an ant on it if you want to see the ants better. It could also be modified so that some commands get drawn behind the ants and others on top, for example the tile command might get drawn behind the ants and all other commands on top - this would be useful if people are using tile to draw heat-maps and using line/tileSubTile/star/circle/etc. to draw information on top of their ants.

So what are your thoughts on this? What commands are you using and how? Should all commands get drawn on the same layer or some on other layers between the map/ants? Should the fog remain on the very top or might it be useful to have some commands drawn over the fog? Would it be useful to have a setLayer command and define some layers?

If anyone is interested the version with the changed order is on the vis_overlay branch on https://github.com/jcdny/aichallengeAlso if anyone wants to see what drawing fog first looks like it's a simple change to CanvasElement.js -- simply move the block starting with the comment "// fog" in the function CanvasElementAntsMap.prototype.draw up to just after the map is drawn (the line after "// draw map" at the top of that function).

I do a lot of heat maps and for them its much nicer to draw the ants last; obscuring subtiles is definitely an issue though. In an ideal world it might be nice to have something like a setlayer command that lets you draw to different layers (and I think that could be done pretty efficiently if you maintained color state per layer and had the overlay data stored as an array by player then layer).

The default layer value (if you don't ever use the setLayer command) should be 1, so that existing visualizations remain unaffected. Heat-maps or terrain knowledge/info can then be drawn on layer 0, ant data on layer 1, and anything you want to see always, even when fog is displayed can use layer 2.

This shouldn't take long to implement - I can do it this evening... It can be done fairly optimally without any complex re-structuring of the data.

The only thing I'm a bit unsure about is how should setLineWidth and set*Color commands work? Should they set it globally or only on the current layer? And if per-layer, should switching to a layer restore the previous values for that layer or should it be undefined? Any suggestions?

bugnuts: Regarding the fog: I don't think this is something that should be controlled from the bot, but it would be nice to have a GUI in the Visualizer to modify where the fog gets drawn... I'll have a further think about that.

Edit: P.S. Please test extensively and let me know of any bugs, I know you will