Cause?

Jump to navigation Jump to search
Revision as of 4 June 2012 at 05:20.
The highlighted comment was created in this revision.

So... is stuff like this, this, or this caused by skipping turns and dropping radar lock?

Right now this bot has no "oops, I skipped a turn and lost my radar lock" type contingency code. If I drop radar lock, deBroglie'll just sit there and die that round.

    Tkiesel04:48, 4 June 2012

    Hmm... I don't think so. While IMO it's important to handle "oops, I skipped a turn and lost my radar lock" gracefully, that would have a similar probability of affecting any given round out of the 35 rounds, which would likely not result in such a huge gap between battles.

    Whatever the problem is likely is something that affects subsequent rounds after the problem first occurring I think... Times like this make me wish Roborumble sent slightly more information to the server (i.e. per round results, or compressed robot stdout logs for the last <insert-number-here> battles in the rumble)

      Rednaxela05:37, 4 June 2012

      A few little spots where NullPointerExceptions crept in. Just needed a few sanity checks here and there. Wave surfing with a kNN is very interesting in round one.. where there may be little or no data to go on yet!

        Tkiesel05:47, 4 June 2012

        I would argue that aspect is more of an issue for VCS, because in kNN you'll always get at least one data point after the first wave passes, whereas in VCS you could get no data even after the first wave passes. Though in both cases you need to handle the no-data case gracefully of course.

          Rednaxela06:02, 4 June 2012

          What bites me is that I cull points via displacement vectors (points that would lead off of the battlefield), so it's still feasible for me to end up with an empty return till about 1/2 to 3/4 of the way through round one.

          I really should drop the displacement culling and see if it hurts/helps. It may be a bit of complexity I don't need.

            Tkiesel06:11, 4 June 2012
             

            Hmm, you're surfing displacement vectors? Or just using them for bounds checking? If it's the former, that's pretty interesting. Maybe try wall smoothing them instead?

            If it's just for bounds checking, that doesn't make much sense to me in movement. In a gun, it makes sense to discard that data because it's clearly not the movement choice the enemy's going to make now. But in surfing, you're the one deciding on the exact movement that correlates to the firing angle, which the enemy had already chosen. I don't really see the correlation that says you should ignore the data you collected about that firing angle. But it's pretty late and my brain's pretty fried from refactoring... :-)

              Voidious06:20, 4 June 2012
               

              I just surf a Head-On Targeting curve if there's no data. Glad you figured it out. =)

                Voidious06:09, 4 June 2012