Robocode doesn't care about that safe area at all. In segment intersection algorithm, The first thing is to determine whether they are on the same line. If so, robocode just ignores the intersection. This behavior look strange at first, but it is friendly to those who new to robocode. This way they (when trying two stationary robot, etc. sample.Fire) won't confuse — why my robot collides its bullet with another all the time?
Yeah, I was just interested in the behavior. Thank you again, that was pretty enlightening and makes total sense, it would be stupid if those bullets collided. Gotta take some time to make sure I understand all the Robocode mechanics.
After a long night, I just have to say that Bullet Shielding is the hardest thing... ever. You deserve a huge prize, man.
Thanks ;) Anyway, are you trying to build your own BulletShielder? Worth mention that a lot of good shielders are open source (although I haven't looked into any of them yet).
Yes, I was. I started reading the tutorial, but I found it really counter intuitive, so I decided to go by the bullet shadowing approach (or very similar to it). I looked at EnergyDome after struggling for a few hours, just to notice that the only difference was the use of Virtual Guns and the multi-movement thing. So it was doing pretty much the same thing I was for the intersection. I got happy and thought I was going to find where my bug could be. At this point I couldn't even shield a single bullet, so the VG thing was not a game changer. It turns out that I couldn't fix it. I'm just supposing it's in the actual intersection algorithm, since I can't even shield against Tracker after moving a fraction of a pixel. It should work easily if was doing things right, correct?
Even if your algorithm is correct, it won't work with wrong target. You could try SimpleBot 0.022c, which uses traditional HOT (for stationary bot) with random fire power. If the algorithm is all right, it would at least shield a lot.