0.014c

Jump to navigation Jump to search
Revision as of 30 October 2017 at 00:01.
The highlighted comment was created in this revision.

It's great to see ScalarBot will enter melee as well. I'm excited, there are going to be some nice battles :)

    Cb (talk)10:01, 28 October 2017

    Thanks ;) I'm also excited to see what's going on ;)

      Xor (talk)13:49, 28 October 2017
       

      About skipping turns: I've had an issue I heavily skipped turns in RR@H but I could not reproduce it against some pre-defined battles I had. I could get some skipped turns only when I run the exact same battles I got skipped turns in RR@H, so I had to log the exact scenarios that led me to skipping that much turns. Yeah, it's weird, but that's what often happens in Robocode. At least it forced me to do a bunch of weird optimizations, and I'm still skipping a bunch of turns btw. I don't know if you are already doing that but I hope it helps anyway. Excited to see ScalarBot performing in melee!

        Rsalesc (talk)14:54, 28 October 2017

        Well, I thought that skipping turns could be avoided by not using full CPU to run rumble (leave a thread for GC, etc.), as it seems that I skip turns heavily (and randomly) against every bot (however I've examined only two bots which is selected randomly by rumble@home). I've been already doing weird optimizations everywhere, which destroys readability & extendibility.

        Anyway, I've never verified that skipping turns could be avoided in any way. But anyway, being able to handle inconsistent scans always helps, that's why I decided a full rewrite.

          Xor (talk)16:18, 28 October 2017

          That was my main issue when going from rumble to melee. I basically destroyed all my code beautifulness because of those constant optimizations, but they really showed necessary, it became evident that my code was really slow when I released Medina, and it actually helped a bit on 1v1 too as some optimizations were not that bad and actually gave me more room to work on Knight.

            Rsalesc (talk)16:56, 28 October 2017

            Just found why I'm skipping turns so bad —

            if (Math.random() < 0.01) {
              ArrayList<Object> list = new ArrayList<>();
              for (int i = 0; i < 10000000; ++i) {
                list.add(new Object());
              }
            }
            

            I forgot to comment this out.

            Anyway, I think I'm still skipping turns badly when I run two clients together, as a newer version which is theoretically the same as previous version performs much worse.

              Xor (talk)06:28, 29 October 2017

              I can never run more than one battle (1v1) at a time without skipping turns, because the computer I have at the moment is not well suited for this. Never even tried Melee. Maybe you should check if two Neuromancer battles would cause skipped turns and, if not, then specifically worry about ScalarBot.

                Rsalesc (talk)06:42, 29 October 2017
                 
                 
                 
                 

                Yeah, I always found it too difficult to mix one-on-one with melee in one bot (except ofcourse for Gruwel). The fields of melee and duel are so far apart in my mind, that I can't blend them together in one good performing bot. Btw, until you are ready to release the first of 0.014c series, there is no reason to pull back teh best performing 0.012n version. It is a killer bot and I am always happy to get trashed by a better bot. Next to that, reaching top-10 is a bit inflated, as it really is top-11.

                  GrubbmGait (talk)01:01, 30 October 2017