Head on gun in melee
Strictly speaking, Diamond doesn't have any deliberate corner movement strategy, and he certainly doesn't have a hard-coded triangular pattern that he follows. It's just a well-tuned minimum risk movement with some randomness based on recent locations. So hopefully it looks more predictable than it is. :-) One thing he does is precisely predict a few ticks ahead to avoid hitting walls, so his wall smoothing is pretty graceful and that may help him stay in the corners (where it's safer) and still avoid recent locations. Looking at it now, his melee movement is actually a very small amount of code: MeleeMover.java.
As for what's been tried before - my attitude is generally that everything has been tried before ;), but that doesn't mean it's not worth pursuing. Those attempts could have been suboptimal or outright broken and the landscape of competition has changed over time. If I were climbing the Melee ranks, I would certainly consider specialty guns for the top bots. And I have certainly considered it for Shadow and DrussGT in 1v1. :-)
But no, I don't remember anyone trying that. oldwiki:AreaTargeting came to mind, but looks like something different. Maybe you could formulate something like a GF that's based on a corner / quadrant of the field, the way a GF assumes orbital movement and factors out orbit direction. Like polar coordinates from nearest corner, with 0/north being towards the center of the field.
I am shocked. Am I right to observe that there is no bullet/wave dodging in melee code? I.e., the bullet avoidance is all in the randomized motion.
Does it mean that I over think the problem, and should stop wasting CPU on bullet tracks predictors? This is somewhat depressing, but I've seen HawkOnFire as surviver of a melee, so it should not be such a surprise.
Both Neuromancer and DemonicRage use some kind of bullet prediction - Neuromancer full waves, while I believe DemonicRage just predicts a few simple kinds of targeting. Diamond is the outlier among the top 3 for using a simple minimum risk movement that does not use waves.
Correct, no melee bullet dodging at all for Diamond. Up to you whether to believe it is a waste of effort to pursue it. :-) Clearly Skilgannon doesn't think it's a waste and he's at #1. Portia also dodges simple targeters, tho I don't believe his dodging learns at all.
I am still skeptical that any effective bullet dodging is possible in Melee. I just think the data is too noisy while wave surfing thrives on precision. So I still personally suspect that Neuromancer and DemonicRage are successful largely due to the minimum risk and unpredictable aspects of their movements. It's not like Neuromancer is that far ahead - nothing like when surfing showed up in 1v1.
Skilgannon and Justin are both super smart dudes that have surely done plenty of testing, but it's a hard thing to prove is doing what you think it's doing. I do think that melee surfing HOT or even Linear Targeting certainly seems possible. IIRC Portia had some impressive results vs a field of HawkOnFires.
I know that it is proven by a lot of bots, that GF guns and statistical guns are way superior, but my intuition rebels. There must be a way to predict a bot path, at least for a short amount of time.
If you play my bot against yours you would see that it often beats you in first round. This is the time when the circular gun is the most efficient. Than you learn to surf it.
In melee a bot does not live that long to collect a real hit stats, so I would think it should dodge the simple physical targeting gun like the circular or even linear. But once distance and, thus, time of flight increases, then the circular should be less of the issue, since there are plenty of disturbances to change the path.
I am currently dodging in melee the HOT and circular guns, but the issue is in the uncertainty of the fire time. Looks like I need to implement gun heat tracking. I am also dodging back part of an uncertain wave. I think I should try to dodge the front one, or may be all in between.