Thread history

From User talk:Beaming
Viewing a history listing
Jump to navigation Jump to search
Time User Activity Comment
03:17, 4 December 2015 Beaming (talk | contribs) New reply created (Reply to Fire power 2.95 bug)
23:41, 3 December 2015 Voidious (talk | contribs) New reply created (Reply to Fire power 2.95 bug)
09:07, 3 December 2015 Skilgannon (talk | contribs) New reply created (Reply to Fire power 2.95 bug)
03:13, 3 December 2015 Beaming (talk | contribs) New thread created  

Fire power 2.95 bug

I was browsing the wiki and found a couple places where authors mention the fire power 2.95 bug. Can someone tell me what it is? I did my best, but I could not find a description or rationale behind this magic number.

Beaming (talk)03:13, 3 December 2015

It is actually an x.x5 power bug. If you look at the history of BasicSurfer/Code, you will see that the old method of comparing bullet powers to filter onHitByBullet to match to the correct wave multiplied both by 10, rounded, then checked for equality. This meant that due to rounding errors, some values of bullets with the pattern x.x5 would not be matched and the bot would not learn from the bullet hit. Since many bots used BasicSurfer as a base, this actually caused a noticable increase in rumble score.

Skilgannon (talk)09:07, 3 December 2015

Yeah... IIRC I was doing some extensive default bullet power testing and found that 1.95 drastically outperformed both 1.94 and 1.96 in a large test bed and this turned out to be why. I felt kind of dirty since I was both the person that introduced the bug and the one who figured out how to exploit it. :-/

Voidious (talk)23:41, 3 December 2015

Thanks guys. This clears it.

In retrospect, it is even strange to see the old based on rounding code. Is it a remainder of some attempts of code shrinking?

Looks like nobody wants to use buil-in robocode.util.utils.isNear :)

Beaming (talk)03:17, 4 December 2015