Looking forward to this.
The highlighted comment was created in this revision.
I look forward to seeing your implementation. I tried making one at one time. It isn't a simple trick to get down. But I wonder if this could actually decrease your score against some robots that you already get 100% against. Like ones that have near head on targeting that never landed on your surfing, but might bypass your shield.
It can. But not by much more than a few percent, and your average score is still much better with it than without it. And I highly suspect that we'll soon see a generation of bots with bullet defenses intertwined with their movements much more than they currently are.
I actually feel a bit jealous about the current adding-bullet-shielding-to-megabots trend. A while ago I noticed GeomancyBS getting ~99% against Nene and other ridiculously high scores, and I wondered why other high-end bots weren't shielding. It was going to be my secret weapon, but now I guess I'll just have to find something else. :(
Well Nene also uses Raiko's gun, which was written back in 2004, long before bullet shielding or even surfing was a thing. It just has a strong movement. I had considered using BulletShielding for awhile to, at the time that GeomancyBS came out. But at the time I wasn't able to get it to work.
These days I might be able to, but I hadn't really given it much thought again before this latest round.
Sorry Sheldor. I guess I kind of let the cat out of the bag. I did briefly think about how nice it would be to get my score up closer to Diamond and DrussGT and then add bullet shielding in an attempt to briefly steal the top spot, but truth is, despite much effort, I have had very little success improving my wave surfing and guess factor targeting beyond where they are now.
I doubted that Skilgannon and Voidious would bother with trying to add bullet shielding, as they are more wave surfing and guess factor targeting purists who might not like the idea of adding an alternate behavior and/or risking losing a little score against non-vulnerable opponents, but I think the score boost for XanderCat was a little more than anyone was expecting and the temptation may be too much for them. :)
You're right on that it was something of a purity issue of me. It just felt like an ugly thing to implement. There is at least one other technique we already ignore, which is preloading data about specific opponents. But it's not "impure" in the same way and I could see myself adding Bullet Shielding augmentation to Diamond, but probably never preloading.
It's less of a 'purity' issue for me than it is a very difficult problem to integrate the two 'correctly' without losing score against anybody. I'm very willing to integrate this into DrussGT, but I feel that this is almost exploiting a bug similar to the x.x5 bullet power issue, as in I don't mind integrating it, as long as it doesn't cause any scores to decrease relative to current DrussGT levels, because it is so easy to work around that a new-gen smarter rumble population would effectively give me a lower relative score if I integrated this and was willing to compromise my score against non-vulnerable bots in the process.
Bullet Shielding is an exploitable strategy, like all other crush-the-weak strategies.
It will probably increase APS score and decrease PL score.
I don't see any way multi-mode Bullet Shielding could ever not decrease your score against bots that aren't susceptible to it. So it's purely a matter of accepting the cost as worth the benefit. The extreme case that might mitigate it for me is if I already beat everyone badly enough to still average > 50 APS even with the feature, but who knows if/when that might change.
Agreed. I don't see it as a bug, but at the same time it just feels naughty to use it, like maybe someone should give me a spanking for adding it to XanderCat. In fact, if active folks wanted to make a play nice agreement to not use it, I would remove it from XanderCat without complaint.
I don't feel the same way about bullet shadows or on-the-move shielding like MoxieBot uses. Both of those techniques I think are quite clever and well within the spirit of the competition. It's just the stand-still shielding that feels dirty.
Btw, I don't think he means a bug in Robocode, but a bug in other bots. Like shooting at bullet powers of the form ((x * 0.1) + 0.05) takes advantage of a bug in the original BasicSurfer that a lot of bots are based on.
I wouldn't mind such an agreement. Since generally it would save me having to implement it in a bot. Even though I just got an implementation working.
I think I would mind it. :-) Though I have no plans to implement it myself yet. It just kind of offends my sense of what techniques are worthy of banning. Pre-loading bot specific data, on the other hand, I feel I could make a legitimate case for (but wouldn't at this point).
What Voidious said. I'm quite happy to implement this, and actually would feel negligent if I didn't, since it would let people get away with sloppy targeting that doesn't attempt to avoid this technique. However, because I expect this to be something which is fixed in most re-releases and new bots joining the rumble, I don't want the integration to be something that in the long run will cost me points.
Nice work. Looks like I´ll have to implement anti Bullet Shielding in Combat.