Tough to beat

Jump to navigation Jump to search
Revision as of 14 September 2017 at 01:36.
The highlighted comment was created in this revision.

Tough to beat

Maybe I'm late on noticing this (took some days off from Robocode), but your bot is really tough to beat! Congrats on that, that's amazing since a reasonable portion of the bots on top-10 are pretty much beatable. I'm struggling against ScalarBot as hard as I struggle against Gilgalad. Keep up the good work. And 8% vote is just incredible :)

    Rsalesc (talk)14:17, 13 September 2017

    Thanks! I'm also surprised a lot by the vote ;) I think my success is largely contributed by the way I'm keeping track of enemy firing ;) I use only one best match from each tree (which can be considered a good source of randomness, from the view of the guns), making the movement really unpredictable for the strongest guns ;) What made this approach is that my Kd-tree, when searching for more than one point, has some bug when I was first developing my movement. All my attempts to use more than one match failed at that time, but it, however, works surprisingly well against the top bots, even without a flattener.

    However, with this approach, some simple GuessFactor gun can hit it almost as good as the top guns ;/ Therefore its APS rank is generally much lower than it's PL rank.

    And that is also why a lot of top bots are easy to beat — they are really good at dodging GuessFactor guns, making them pretty predictable by the top guns.

    Then they use flatteners, but their nature of being easy to hit will never change. Flatteners only work against fast decay lightly segmented guns, not kNN "pattern matchers".

      Xor (talk)15:58, 13 September 2017

      It seems that the ideal thing would be to figure out a way to learn which class of targeting a robot belongs to. We know that it is harder than predicting how an enemy moves because the enemy give us way less information about his gun, but you could try some conditions (not only hit rate) to estimate this instead of letting your learner figure out everything about enemy's targeting method. I usually hate to mix hard-coded conditions with learning methods, but it could work out here.

        Rsalesc (talk)17:18, 13 September 2017

        Maybe you don't really need hard coded conditions here — they are really fragile, as you are making strong assumptions about your opponents.

        Instead, even with less information, their targeting method will be explosed by the attributes they show after statistic. And why don't let your bot itself to figure out which targeting method it matches the best?

        Just hard code a bunch of virtual guns like what EnergyDome do, and select the best. Then dodge.

          Xor (talk)03:26, 14 September 2017
           
           

          Yeah, congrats for the strong vote and PL! It's actually interesting what your list of problem bots are, you have some interesting ones like SilverSurfer and SniperFrog. I guess your unique movement makes you susceptible to different specific types of guns.

          Also I think vote is a really interesting score metric. While it does say how strong your bot is, it also says how unique your bot is, since you only need to be best by a very small margin, and against a specific set of bots. Getting vote for a small set of bots is hard. Getting vote much higher is really, really hard.

            Skilgannon (talk)18:59, 13 September 2017

            Thanks a lot! And it also has a lot of interesting problems bots which is relatively simple, e.g. FloodHT, which segments simply on whether near wall or not, and with some traditional ones like distance. No fancy attributes, no decay, but it hits me well ;)

            Agree that vote is really hard to earn, and it is often earned with surprise ;) Maybe what contributes to vote the most is movement, when you dodge effectively. But a really strong gun which is able to exploit some hidden weakness may also help.

            Anyway, ScalarBot's gun is unchanged at all since initial release, and it also has a lot of bugs I'm not fixing now ;) Maybe some bug also make its targeting unique, giving some bot a trouble.

              Xor (talk)03:36, 14 September 2017
               

              And... to the top 10 with 8 pairings left! Just wanted to register this moment :)

                Rsalesc (talk)23:00, 13 September 2017