[Home]Drifter

Robo Home | Changes | Preferences | AllPages

Showing revision 3

Drifter

Author

TimFoden (tcf)

Extends

AdvancedRobot

What's special about it?

Nothing much.

Great, I want to try it. Where can I download it?

http://www.7sun.com/robocode/tcf.Drifter_1.jar
http://www.7sun.com/robocode/tcf.Drifter_2.jar

How competitive is it?

Drifter 1 -- 1759 after 1358 matches.
Drifter 2 -- 1774 after 1741 matches.

How does it move?

Version 1:

Its a GoTo type of bot, with Shrapnel Surfing against HOT and Linear predicted bullets. Both bullets are avoided, and there is no learning to find if it's better do dodge one or the other.

The arena area is divided up with a 25 pixel grid. The grid points closest to the centre of all opponents are initialised with a value of 1. A flood fill algorithm is then used to set all adjacent points to 2. This is then repeated with 3, and so on, until the whole grid is filled. Thus this gives an idea of where on the grid is close to and where is far from all opponents.

It also models the predicted bullets as points to avoid on the grid (initialised to 1), as well as the points half way between each of the opponents.

Points near opponents are set to -99999999, so as to avoid hitting them. Points near bullets are set to -10000, but these are dynamic... i.e. They move depending on the simulation time in the search.

It then does a search for the path with the highest value. This search basically tries each valid destination (-8..8, -8..8) around Drifter, models how the robot would move to get to this point, and adds up the grid scores for each tick. This search process is what makes this version such a SlowBot.

Version 2:

This version adds learning to the bullet types to dodge. It only dodges the bullet type with the highest weighting. This is in preparation to introducing a GF based opponent bullet.

Also, instead of searching a 17x17 square (329 points) it searches only 21 points from that square (successive diamond shapes where manhattan distance = {0, 4, 8}, and only even points (-8, -6, -4, -2, 0, etc.) This makes the search only slightly worse (I suspect this only shows for opponents that like to get close up -- Drifter has trouble running away.)

This results in the increased the efficiency of the path search algorithm for this version, so it's now not quite such a SlowBot.

How does it fire?

VisitCountStats (27 sectors) GuessFactor gun, segmented on relative heading (/45 deg) and distance (/250).

How does it dodge bullets?

See How does it Move above.

How does the melee strategy differ from one-on-one strategy?

No difference.

How does it select a target to attack/avoid in melee?

Fires at closest opponent bot.

What does it save between rounds and matches?

GuessFactor values are saved between rounds.

Nothing is saved between matches.

Where did you get the name?

Out of thin air.

Can I use your code?

Nope. It's too embarasing to put on public display! :)

What's next for your robot?

Improvements to movement.

Does it have any WhiteWhales?

Loads.

What other robot(s) is it based on?

None.


Comments, questions, feedback:


Robo Home | Changes | Preferences | AllPages
Edit revision 3 of this page | View other revisions | View current revision
Edited April 24, 2008 11:01 EST by TimFoden (diff)
Search: