NeophytePRAL

From Robowiki
Jump to navigation Jump to search

Info

Bot Name
NeophytePRAL
Author
Nz.jdc

Details

NeophytePRAL (Predictive Rolling Average Linear).

This bot was languishing down around rank 20 or so, but I recently improved its firing logic and updated the tuning.
It is currently ranked 7th, which is not bad for a bot which does not use a pattern gun (Yatagan, NeophytePattern, Moebius), ramming switch (Sabreur, Caligula) or lookup tables (LittleBlackBook).
Take a quick look at the code to figure out what it does. Got it? Good.
The idea is pretty simple, use rolling averages so we can hit linear and stop and go movement. Segment on velocity to hopefully be able to predict what the enemy will do next, but record the data based on the segmentation at the time we last fired, so we view things from a historical perspective. This allows us to better hit oscillating movement.

Now that all of that is in your head, twist it around a bit and look at it from another angle: this is actually a strange variant of a guess factor gun. Recording based on the firing tick achieves something very similar to starting a wave at the time of firing.
The rolling average is an approximation of recording the best guess factor, but doing so in a single summed value rather than weightings over a bunch of bins. Less accurate and adaptable, but similar result.
And like GF guns it uses (a single very simple) segment.

Movement is semi stop and go, but using a clever direction change idea from dft.Freddie by Alcatraz271. This same movement is also used in NeophyteSRAL and NeophytePattern.

[update] I managed to squeeze in a second segment, the bot is now up to 5th!

Some more background Neophyte has been copied across from the old wiki.