I am working on a new version of my microbot and noticed that Cotillion and several other top bots use different bullet detect logic. I am currently using 0 < energyDrop <= 3. Cotillion uses energyDrop > 0, but also corrects enemy energy in onHitByBullet and onBulletHit.
Having thought about the robo-physics of it that looks to be superior as it will not miss a shot that is coincident with taking damage. Is that correct?
Also assuming that enemy energy is adjusted properly then energyDrop > 0 is sufficient and the <=3 is no longer necessary to avoid false detections?
With that the only issues would be ramming and wall hits, but that is a little hard to account for in a micro.
Yes, that's correct. I found it helped my stop-n-go a lot doing it this way, and the <=3 didn't have any effect on score. Also, don't worry about ramming because if they are ramming then they are too close for stop-n-go =)And wall hits would be nice to take into account, but I'm afraid they are a tough nut to crack even in mega, never mind in micro :-/
Yeah, I've found using
onBulletHit adjustment instead of limiting the energy drop to be much more effective against linear targeting, because if the enemy fires the same tick the bot hits it, or the same tick it hits a wall, or even the same tick it gets a bullet hit bonus, its fire will not be detected. If you have some codesize to spare, I would also recommend adjusting the enemy energy variable on
onHitByBullet, to make it even more accurate.