Precise MEA
← Thread:Talk:Gilgalad/targetingStrategy/Precise MEA/reply (23)
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:Talk:Gilgalad/targetingStrategy/Precise MEA/reply (23).
What if we mix together ideas from DVs and non-iterative wall smoothing to calculate a more accurate MEA than simply using asin(8.0/Vb)?
Imagine 2 DVs, one trying to go as far as possible clockwise and the other counter-clockwise. Ignoring walls, the resulting angles will match asin(8.0/Vb). But when near walls, if we adjust those 2 DVs, like wall sticks are adjusted in wall smoothing, we get a more accurate MEA, using non-iterative trigonometry only.
I looked at this, the problem it has is that it doesn't take into account that as the angle changes the wave will hit sooner. You could account for this I guess, but the iterative predictive methods are fast enough, I think.
Something like non-iterative linear targeting can account for varied bullet travel times. But the resulting code will probably be very bulky, like most non-iterative methods.
Well, I didn't use a noniterative method and I actually don't know how I could, but I now use a "binary search" for attack angles to get a precise MEA that doesn't take heading or velocity into account. I may make a page for it with diagrams, but for now you would just need to look at the code to see what I mean.
I tried a non-iterative MEA in Combat and it is working quite well. It doesn´t take velocity and heading in account, but it does take walls into account.
I modeled the problem as 2 intersecting circunferences (bot moving and bullet moving) and 1 intersecting line (wall). There are at most 2 points where the 3 intersect. Then repeating it for all 4 walls for 8 escape points. Add the 2 escape points from classic MEA (ignoring walls) for 10 escape points. Do some out of bounds checking on all points and then find which remaining 2 gives the widest MEA.
There are some loops but they are fixed and independent from bullet travel time. Making it very cheap to calculate.
I can post the algorithm later.
I don't iterate to find the bullet flight time. By iterate I meant for my binary search.