Bullet Shielding

Jump to navigation Jump to search
Revision as of 19 April 2019 at 20:19.
The highlighted comment was created in this revision.

Bullet Shielding

Basilisk gets bullet shielded to death by Cold Breath, uCatcher and BulletCatcher in the micro rumble. You might want to add a really little amount of random factor so bullet shielders won't hit you consistently.
You will gain free APS and I'll lose some =(
    Dsekercioglu (talk)11:20, 23 March 2019

    I never ever put anti-shielding code into any of my bot. I just do everything “correctly” and shielders simply don’t work anymore.

      Xor (talk)00:34, 24 March 2019
      Aren't Bullet Shielders supposed to be working against any deterministic strategy? IIRC what I do is to fire with some kind of random deviation when WhiteFang gets shielded more than 50% of the time.
      Does doing correctly include not firing angles that do not hit? =)
        Dsekercioglu (talk)10:50, 24 March 2019

        “correct” means shooting at the angle with statistically maximum hit rate, instead of the intuitive center.

        Since it’s statistical, it suffers from rounding errors and is chaos so shielding is impossible.

          Xor (talk)03:53, 25 March 2019
          Does this mean you are including enemy bullets in your firing algorithm to eliminate angles?
          Removing the shielded bullets might actually be a smart idea in AS Targeting.
            Dsekercioglu (talk)10:58, 25 March 2019

            Not yet, but this sounds a good idea. Anyway I don’t think this will improve anything actually, since you don’t have precise information.

            What I mean in statistically best is when you take precisely how robocode physics works into account, e.g. precise intersection and don’t use bins.

              Xor (talk)11:13, 26 March 2019
               
               
               
               

              Done! I added a random factor onto the gun if the bullet hit bullet event happens too often! Thanks for the idea, Basilisk 2.5 is now in #22 :)

                Slugzilla (talk)13:05, 26 March 2019
                For a second I thought it was roborumble =)
                Congrats on 22th place, maybe I'll do a mini bot just for competition.
                Oh and BTW if you have code size issues have that random factor on all the time. You should statistically have the same hit rate and you will have more place for future plans.
                  Dsekercioglu (talk)14:51, 26 March 2019

                  Haha I wish #22 in the roborumble :) Basilisk 2.5 is 1464 bytes so I will definitely make the random factor all the time. I plan to add some more segmentation to the gun and tweak the movement more in the future.

                    Slugzilla (talk)16:07, 26 March 2019
                     
                     

                    Hi, semi-random question. I saw David Alves' video on the evolution of robocode strategy and I watched the part about the bullet shadowing. While bullet shielding can be beaten with a random factor or precise intersection, do bullet shadows create a safe zone that cannot be hit by any bullets, even with a random factor, provided the shadow is large enough?

                      Slugzilla (talk)01:01, 19 April 2019

                      Short answer: yes, but you'd have to do it on purpose to make a bot-sized shadow. Bullets are just a short line segment, so you can optimize for maximum shadow size with that in mind. If the bullet is very close to an opponent when they fire, the shadow that is will cast will generally be larger. The more distance between the bullet's intersection with the enemy's wave and you, the larger the shadow grows. Also, if the bullet is perpendicular (not pointing directly at them) the shadow will be larger because it has more surface area relative to the wave. If you watch a bot that tracks bullet shadows long enough with debug graphics turned on, you'll start to notice all that.

                        Enamel 32 (talk)01:50, 19 April 2019

                        Awesome! I'm going to try to create a robot that uses active bullet shadowing, kind of like MoxieBot. Thanks for the help!

                          Slugzilla (talk)21:16, 19 April 2019
                           
                          When you are bullet shielding, you cannot cover the whole bot width. You don't have enough time to move to get the perfect angle so your actual goal is to predict(no learning is used generally) where the enemy fires. :When using bullet shadows what you do is: "My bullet was here, if there were any other bullets in this zone they would have collided. Therefore, the opponent didn't fire here.
                          In conclusion, bullet shadows guarantee that you won't be hit in that area while bullet shielders aim to predict where the opponent fires at.
                            Dsekercioglu (talk)08:53, 19 April 2019

                            It seems that bullet shadows are used for information purposes rather than a defensive technique. However, if you are firing to create large bullet shadows rather than hit the enemy, could the bullet shadow be wide enough to hide in? Thanks!

                              Slugzilla (talk)21:19, 19 April 2019