Difference between revisions of "Aral"
m |
|||
Line 24: | Line 24: | ||
<br /> | <br /> | ||
Movement is semi stop and go, but using a clever direction change idea from dft.Freddie by Alcatraz271. | Movement is semi stop and go, but using a clever direction change idea from dft.Freddie by Alcatraz271. | ||
− | This same movement | + | This was originally the same movement used in [[NeophytePattern]], [[NeophyteSRAL]] and [[NeophytePRAL]], but has now been upgraded to the new "Adept" style movement.<br /> |
==AralR== | ==AralR== |
Revision as of 04:01, 2 June 2013
Info
- Bot Name
- Aral, AralR
- Author
- Nz.jdc
Aral (adaptive rolling average linear)
Another hopefully innovative nano gun, grafted on to my venerable an unoriginal Neophyte movement.
It uses the rolling average of absolute linear velocity feeding into linear targeting,
which hits orbit and stop/go movement well.
Some additional time-since-direction-change logic to detect and adapt to
oscillating movement (generally a hard counter to linear targeting) so it gets
decent hits against bullet dodge oscillation.
Wave surfing, random movement or non-bullet-reacting oscillation is a problem for
the oscillate detection, so it is slightly fudged using some variation
(T_GF_OSCx, T_GF_0 etc) in the table lookup, which would otherwise just be T_GF_OSC
for the first 20 ticks then T_GF_1.
Movement is semi stop and go, but using a clever direction change idea from dft.Freddie by Alcatraz271.
This was originally the same movement used in NeophytePattern, NeophyteSRAL and NeophytePRAL, but has now been upgraded to the new "Adept" style movement.
AralR
The story of AralR is a bit of a cautionary tale for nanobot authors. When I wrote Aral I though the idea was pretty cool and expected it to be quite effective. In testing however I soon discovered that while it hit stop and go, orbit and bullet-dodge-oscillating movement types as intended, it was very weak against random. In the end I had to fudge the osc and linear targeting offsets in the table a bit so that it would not completely fail against random movers.
That of course lead me to wonder what a similar bot which just used random determination for it's offsets would work (rather than something 'smart' like time since direction change or a lateral velocity rolling average).
I had hoped taking that out would save enough space for some ramming code, but in the end all I could fir was a bit of bullet power management. Despite that Aral's dumb brother AralR is currently ranked 3 places higher :-/
The moral of this story is that while being smart is good, being a little bit smart is often worse then just being dumb or random. And obviously in a nanobot you usually only have enough space to be a 'little bit' smart, so you have have to choose that 'little bit' very carefully.