[Home]DCBot

Robo Home | Changes | Preferences | AllPages

Showing revision 10
Difference (from revision 10 to revision 10) (minor diff, author diff)
(The revisions are identical or unavailable.)
Opensource version of the gun used in Shadow and Tron. Movement and radar come form RandomMovementBot. I made the gun a single (pluggable) class, removed the melee and multiple enemies part and changed the dimensions a bit. I hope it's clear enough for anybody to understand, keep in mind that it's code that evolved along the years.

Version 1.0 is an anti-Cigaret optimised version, it scores over 90% against it in the TC. I didn't run a full TC2k6 yet, but my guess is it will score around 85%.

In Version 1.01 I changed the number of samples and added a very simple wavesurfer detection code (if hitrate < 12%). It is even better at hitting Cigaret, and scores better against wavesurfers (CC) too. 84.96% in the TC2K6.

v1.0 : http://robocode.aclsi.pt/abc.wiki.DCBot_1.0.jar v1.01: http://robocode.aclsi.pt/abc.wiki.DCBot_1.01.jar

-- ABC


By the way, is this released under RWPCL? Seems like a pretty major source code release, so I thought you might want to specify that. -- Voidious

No license needed, use it and abuse it. :) -- ABC

Thanks for sharing, maybe I will find some ideas to speed up my gun. -- Florent

I found one! I will use your sqr function instead of Math.pow, it seems to realy speed up my gun, thanks again. -- Florent

You should look closely at the code inside the log traversal loop, that code is being executed 30000+ times (in my case) per firing tick, after the log is full. The top N scans selection method is also important speedwise, I remember trying 2 or 3 different approaches before settling with one I use now. Another speed optimisation change I remember doing is the enemy path retrace, instead of tracing it step by step I use an iterative method. -- ABC

I looked at your enemy path retrace method,I am not using an iterative method like you but I am tracing it step by step. This way I can check if all the movement is inside the battle field, not only the end point, but I am not sure if this loss in speed is worth the performance (in terms of rating). -- Florent

Yep, that's a disadvantage of my current method. I don't know it's impact in terms of rating either, I was looking for ways to reduce testing times when I switched to it, but it must not be a big loss or I wouldn't have kept it. Maybe I'll do some tests... -- ABC


Robo Home | Changes | Preferences | AllPages
Edit revision 10 of this page | View other revisions | View current revision
Edited April 18, 2006 19:35 EST by ABC (diff)
Search: