For the curious.

Jump to navigation Jump to search
Revision as of 23 February 2013 at 09:45.
The highlighted comment was created in this revision.

For the curious.

In case you are curious (which I highly doubt, but anything is possible). It's flattener was locked into the on position from the start of battle, and detecting bullet collisions was broken (from onHitByBullet anyway, onBulletHitBullet worked 'sometimes'). Which basically meant it was just a random mover most of the time. I corrected both, I locked its flatter to the off position till the second match, and added some basic logic to start it if needed (which had been missing).

I have a 2.4.0 which was the version I hacked on to determine the errors. I has a lot more changes. Including a better distance danger check. But I want to see how this minimally modified version does.

    Chase03:58, 22 February 2013

    Looks like it jumped about 33 ranks to around 24ish. The fix wasn't exactly complicated either once all is said and done (finding them was something of a pain though).

      Chase06:14, 22 February 2013
       

      Considering it was pretty much just a flattener, I'm not surprised it scored about the same as SandboxDT =) I mean seriously, check out the comparison: http://darkcanuck.net/rumble/RatingsCompare?game=roborumble&name=cs.s2.Seraphim%202.3.0&vs=pe.SandboxDT%203.02 Same APS, same PL, just slightly different problem bots.

        Skilgannon06:44, 22 February 2013
         

        I thought SandboxDT 3+ was an actual surfer. But your right they are very similar in performance.

        I am just glad I finally dug Seraphim out of the rank 50 rut it was in. I only changed about 14 lines of code. The big bugs were only about 3 lines worth, but I wanted to keep the flattener, and fix a minor bug I noticed.

          Chase06:53, 22 February 2013
           

          I think SandboxDT was a little bit of surfing with a lot of flattening. But it's strange how such tiny bugs make such a huge difference. I left Neuromancer on the shelf for a long time because for some reason the movement just wasn't working correctly, until I discovered a nested iterator was calling the parent's iterator .next() method instead of its own. Amazing what a difference that made :-p

            Skilgannon07:23, 22 February 2013

            SandboxDT has a kind of adaptive Random Movement, where it merely adjusts the probability of reversing direction.

              Sheldor14:19, 22 February 2013

              That was 2.x, I think 3.x uses some form of precise prediction.

                Skilgannon11:45, 23 February 2013
                 
                 

                Yeah its nuts. The big bugs were, an off by one error, an off by one error (in the other direction), and the wrong Boolean value. I mean honestly.

                  Chase07:32, 22 February 2013
                   

                  The complexity of the bots amplify the effect of "minor" bugs. If I flip the sign when calculating danger in Wave Surfing, which is adding only 1 character "-", and do the same when calculating density in the targeting, the bots score and ranking will drop all the way to near last place.

                    MN16:55, 22 February 2013

                    I think that actually happened to a real rocket test once. It literally flew the wrong way because someone put a dash where it shouldn't have been.

                      Sheldor17:03, 22 February 2013
                       

                      Off by one in the logic, rather then the code. To otherwise large numbers. The off by ones were for fire times. The Boolean handled the flattener.

                        Chase17:15, 22 February 2013