[Home]TheSpikeConundrum

Robo Home | Changes | Preferences | AllPages

A riddle, if you will!

These are the results of a 1000-round battle on a 1000x1000 battlefield between Spike and SandboxDT 1.91 in reference mode. Spike, of course, does not fire.

These numbers may not be too impressive in and of themselves (I will leave that to you to judge), but the way that Spike achieves this victory is very interesting from a theoretical point of view. I am now developing a movement system based on what I have learned from this experiment, and I strongly believe that a solid understanding of what Spike does will help anyone to improve their bot's movement.

Here he is! http://www.robocoderepository.com/BotDetail.jsp?id=1674

The riddle then is this: Why the heck can't SandboxDT hit him?

--nano

This isn't really news, it's known that stat systems will get very hurt by their rolling against this type of oscillation, it's just a matter of it not being explored because SandboxDT is about the only bot that doesn't have a pattern matcher (or heck, any other gun would work here) to back up it's stat gun. Paul has in the past said DT has protections to prevent poisoning him with this sort of movement, obviously this isn't the case, but the movement itself still isn't terribly useful, a bot which isn't pure stat, even a nano, has a very easy time turning Spike to scrap. -- Kuuran

"Rolling"? What do you mean by "this type of oscillation"? Spike is a pretty specific kind of oscillation and I think it is worth looking into why this fools stat guns. This movement is not meant to be used in combat. It only works when Spike is allowed perfect conditions (a stationary bot that fires power-3 bullets). It works by a fluke -- an inherent disability in all stat guns. Like you said, only by adding elements of pattern matching (heavy segmentation, particularly on acceleration) can this movement be hit consistently by a stat gun. This doesn't mean DT's gun is broken, because like I said, this movement only works in perfect conditions. The important thing is that if you understand why this works, then you are well on your way to understanding all movement (at least as it applies to movement profiles and guess-factor statistical targeting). This is not anything new, like you said. It is just a good example of a simple movement system producing a complex movement profile. The key is understanding the parameters that make it work, and why.

In order that the community may benefit, I propose a challenge. Can you beat Spike's score? If you do, you must explain how and why it works. I would prefer bots that move with the same pattern as Spike, but anything that can produce a score like that against DT is probably worth looking at as well. ;) The only rules: you must stay closer than 700 to DT at all times, on a 1000x1000 battlefield, with DT 1.91 in reference mode, and all other settings default. The indices will be calculated as usual as (yourbotscore / dtscore) * 100, with Spike's index being 145.3%. -- nano

Isn't there a MovementChallenge or something that is almost identical to what you just said? -- Tango

This is an excellent challenge you throw at us! It deserves it's on page. What about SpikesChallenge? How does Spike do under CurveFlattenerChallenge conditions? -- PEZ

I've just had a look at Spike - at first I could not reproduce the results - because I was using 2.01 - 2.01 does not seem to have too many problems. The issue with the old DT here is that the stats were designed to cope with bullet flight times of up to 40 ticks (because in standard battles DT reduces bullet power to zero at a distance of 750 or more). With the larger space, and power 3 bullets this is easily exceeded and I end up firing guess factor 1.0 bullets at everything further away than 400 (because at 400 guess factor 1.0 does the job quite well). In version 2.01 I had increased the size of stats to allow a higher flight time in reference mode because I noticed some stats were not being collected. Sorry - it looks like I was one step ahead of you. -- Paul Evans

Unfortunately, the smaller distances on an 800x600 battlefield cripple Spike's trick, probably because, as Paul said, SandboxDT 1.91 segments correctly at these distances. Originally I had intended to release Spike in the CurveFlatteningChallenge, but found that I couldn't get the trick to work reliably against DT at 800x600. So, I suppose I am relegated to creating a separate challenge for Spike to compete in. ;) The difference is that this challenge emphasizes tricking DT, not creating a generically good movement.

So then, who will accept SpikesChallenge?

--nano


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 18, 2006 20:08 EST by GrubbmGait (diff)
Search: