Robo Home | Drifter | Changes | Preferences | AllPages

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 to 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 25 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.

Version 3::

Added a GuessFactor bullet type to dodge... but the GF gun used doesn't yet learn.

Fixed a big bug in the learning of which gun to dodge (had a y where it should have been an x... doh!)

Added manhatten dist 12 to diamond shapes for path search (now searches 37 different paths).

Removed code to make sure the bot doesn't just stay where it is.

Probably a couple of other tweaks that I can't remember.

Version 4:

Made changes to the GuessFactor implementation to easily allow it to be used for both Drifter targetting opponents and for opponents targetting Drifter. The GF gun that is used to provide a piece of shrapnel now learns in exactly the same way as Drifters real GF gun. I refactored a lot of code to perform this change.

Changed firepower for distance > 100 from 2.3 to 2.0. (don't know why I did this, but I changed it again in Drifter 5)

Changed GF gun to use lateral velocity rather than relative heading.

Version 5:

Changed GF segmentation to use abs lateral velocity (3 segs), rather then lateral velocity (5 segs). Also changed the range of the GF value from -0.125..1.125, to 0.0..1.0. The guess factors at the ends were hardly ever being used, and I thought this change would help with the accuracy (more bins in given spread of angles).

Changed firepower for distance > 100 from 2.0 to 2.5.

Version 6:

Changed firepower for distance > 100 back to 2.0. This was the only change for this version.

Robo Home | Drifter | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited April 29, 2008 8:36 EST by Tim Foden (diff)