Hitting Pure Flattened Movement?
YersiniaPestis has a non-binary flattener, like you describe. He is pretty tough, and I do like the idea. I have several thresholds in Diamond's surf stats, as well, not just 2 modes.
But I don't think some thrashing between guns is a big deal - I certainly don't read that much into it. You have fairly little data, two very strong guns, and an enemy that's constantly changing its movement profile, so a lot of fluctuation doesn't seem surprising. I don't see anything inherently bad about thrashing, either. I still think it's the right move to choose the highest rated gun at any given point, even if it changes every shot.
I don't know, I just don't see a strong distinction between targeting vs flatteners or surfers. It's all the same algorithms and using information that's available to both of you. But I'd love to see some innovation vs either or both. :-)
There seems to be a fundamental difference to me: Surfers avoid where they have been hit, and do not change their (segmented) movement profile till their hit. This means that fast learning, fast forgetting guns essentially relearn the new movement profile every time they change (when they are hit). Flattening bots constantly change their movement profile, hit or not. Thus a "classic" anti surfer gun will be constantly lagging behind. My point about the guns was not that rapid switching is a bad thing, but that current anti surfer targeting is not very effective against surfers with flatteners, to the point where guns optimized for non adaptive movement can match or outperform them. One thing to note is that a but that just flattens wouldn't be using adaptive movement.
A few thoughts. First, yes, the difference is one uses bullet hits and the other uses visits to update its stats. If you're hitting the enemy at all consistently, this is more a difference of granularity than of rate of decay. Is there a general correlation of bullet dodging/flattener to decay rate, like flatteners decay faster? Maybe, but that seems like a guess for now.
Against most surfers, my non-decaying gun is actually the strongest gun I have. I guess those surfers have enough exploitable weaknesses unrelated to their surf stats to outweigh what I can gain from a fast decay rate. As a result, I really only tune the Anti-Surfer gun against the very strongest bots - some subset of DrussGT, Shadow, Tomcat, and XanderCat. My Anti-Surfer gun decays based on visits, not bullet hits, which it actually knows nothing about. So in terms of the metric, it's more like a flattener. I guess it probably is more tuned as an anti-flattener than anti-bullet dodger.
And you could look at it another way. Diamond and DrussGT's main guns are pretty much the strongest guns in existence. Against most bots, they crush the Anti-Surfer guns. The fact the Anti-Surfer guns can compete at all in that matchup is notable. And DrussGT is an insanely hard bot to hit - I wouldn't be shocked if both of my guns perform about as well as Random Targeting at certain points in the match.
I've been experimenting with an anti surfer gun which decays on shots and on hits/ bullethitbullets , its working reasonably well vs top bots with flatteners disabled. (Not good enough yet though...) I am suprised the anti surfer gun isn't used vs most surfers, but then again I've only been doing tests vs DrussGT, Diamond, and other high ranking bots... The difference I see is that a pure flattening bot would change its profile every wave, while a pure surfing bot would have the same profile until hit.
I wouldn't be surprised if these guns perform worse than random targeting with precise MEA.
Now some thoughts on anti-surfer guns. Statistical targeting without data decay assumes the targets movement is non adaptative. If that is really true, count how many times the target dodged at a given angle, and then shoot at the angle with highest occurrences. That is the best response to a non adaptable movement.
This assumption is not even close to being true against surfers. They know bots are using statistical targeting and use it against them. Peaks in statistical data are the worst angles to shoot at.
What if you tracked all bullet hits in an attempt to track what surfers are using to dodge bullets. You know surfers are avoiding peaks in this data set. What if you shoot at the valleys instead? From a statistical point of view, it doesn't make sense. But from a game theory point of view it makes perfect sense, since the opponent is actively trying to screw up your statistics.
But the valley is not always reachable, it is probably not reachable most of the time. Bots can only manipulate statistics to a certain extent and there is still some meaningful statistics there, despite the peaks being meaningless. What if you used a weighted random targeting instead? The lower the density, the higher the chance of shooting at that angle?
The idea would be using random targeting/precise MEA, which is the most unsurfable gun ever, and improve it by using determinism in surfers against them. With some tuning, a weighted random targeting, weighting angles inverse to statistics have a lot of potential.
Against flatteners it is trickier, as if you try to do that, statistics are flat and you end up with an ordinary random gun. Might work in the first round though as it is impossible to have a flat profile in the first 20 shots or so. Since every shot counts, it might give a slight edge against active flatteners as well.