Progress
← Thread:User talk:Tkiesel/MovementPredictor/Progress/reply
This is for a precise MEA calculation? One of the predictions I do in my precise MEA calculation is having the enemy move with wall smoothing, but ignoring wall collisions (he can just move outside the battle field). Getting stuck on the wall is never going to be the optimal way to reach the MEA, and precise MEA calculation is never going to be exact, so I just try a few predictions and take the max MEA I can find.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page.
Return to Thread:User talk:Tkiesel/MovementPredictor/Progress/reply (2).
Well, actually I think #4 could be > #3 - wall smoothing is not the way to get true MEA, turning and moving directly to the farthest point you can reach is, but I use wall smoothing w/o wall collisions as an approximation as I try to iterate towards the max MEA. The full algorithm I use is here: Talk:Maximum_Escape_Angle/Precise#Calculating.
But yeah, I think getting close to precise MEA is good enough, and GFs barely > 1 aren't really the worst thing, although obviously can result in shooting at unreachable spots in situations where your MEA is accurate. At the same time, just because I settled doesn't mean you have to... =) My current method has room for improvement, and it is one of the things I consider revisiting in Diamond's gun.
I like your algorithm as described on the MEA talk page. A nice, clean solution, and after a few extra iterations, I do think you probably bump up against the law of diminishing returns.
I think I'll give that a shot, it should blow some annoying cobwebs out of the code, not needing to jump through the hoops I was starting to jump through to get it right.
I'm refactoring this now, and just to be accurate, I actually don't ignore wall hits in the prediction, though I thought that was my intention. I wrote this code so long ago I'm not really sure if I screwed up the code or the original description! My old predictor didn't do wall hits right anyway, so either way would've been a bit off....
Well, I've got this code in a pretty workable state (I think) but I haven't done any unit tests on it like you have. Depending on how portable your new work is, I very well might consider jumping ship!
The pluggable orbit distance controller (which I also use to drive the bot itself) and the pluggable wave surf prediction ender (should be dirt simple for me to implement surfing until the first wave hits me, even if that's a different wave for CW and CCW) are both things I really like, and would like to offer though.