Normally I wouldn't want to lose third place, but I'll be rewriting my movement so maybe it won't happen.
1) According to the TCRM, you could make some huge improvements in targeting. I would suggest switching to GF KNN for the moment. I have some ideas on a new PIF based targeting strategy, but as far as current guns go, I think GF's are best.
2) Next, it appears from Tomcat's graphics that you have bugs in your bullet shadows where you place a new shadow over an old one (which could result in negative danger.)
3) Also, if you really want to improve ranking, you could probably squeeze some points out of classification schemes that are more complex and are enabled at certain hit rates. Personally, I like teh way you currently do it much better, but when I originally tried a similar method in pre-release versions of Gilgalad, my results were not very good. Regardless, I think you could gain some points by having hand selected classification schemes that included reverse wall distance, etc.
4) Maybe bullet power. Don't know how you do this, but you appear to fire with lower bullet power than I would usually use.
5) And of course, the real way to improve is probably bug hunting. A perfect score against HawkOnFire over 1000 rounds MUST be possible.
As regards a perfect score against HawkOnFire, I have been running some tests, and it appears that HowkOnFires shoots at angles quite distant from guess factor 0.
(From a 1000 round battle, GF = -100.0 means I failed to detect the wave when it was fired or couldn't find a match for some other reason.)
148Hit GF = -100.0
207Hit GF = 0.1636332953564261
89Hit GF = -0.11944245243219632
208Hit GF = -0.2328668375113637
75Hit GF = -100.0
84Hit GF = -0.12453026743165671
88Hit GF = -0.13356419636603006
273Hit GF = -100.0
0.1 seems to be a fairly large deviation from 0.0. Any thoughts? Anyone else see this before?
Yes, it's old and known "problem". I did not research it, but i think, that its Hawk's issue
Isn't it because HoT targeting shoots one turn after it calculates the angle?
both bots are perpendicular to each other on the x axis and have a distance of 100 - the calculated angle would be 90deg
bot one moves +8 and bot two -8
if bot one shoots the next turn with 90deg angle it would be 9deg difference to the center he targeted the last tick.
Of course this is the worst case and scales on distance and relative velocities to each other.
As far as I remember HOF doesn't use setAdjustGunForRobotTurn and also just spins its radar, so if you get a bad combo it isn't anywhere near GF0. I've seen as bad as GF+0.3. I'm sure you could improve your score by also dodging the bullet if it was fired at your last 8 locations and adjust the angle based on if they are turning and hadn't adjusted their gun for it yet this tick. Trouble is it will hurt against other bots :-)
HoF has an infinity lock, which slips quite frequently. And it looks like, he shoots whit in the run method and not in onScannedRobot(..) what makes the HoT angle even worse. Not sure about the setAdjustXX(..) but it would make it even more unstable.
As conclusion i would say there is no bot that shoots at GF0 all the time.
But even if you have perfect prediction of your opponents targeting, there is still the occasional ramming score due to bots spawning too close to each other in the beginning of a round, making perfect scores almost impossible against moving opponents.