So I've been looking through forums about how to micro Phoenixes against different units perfectly. Since I did not find any satisfactory answer on the topic, I decided to do the math myself and calculate how exactly Phoenixes should be microed theoratically. Here is what I found.
The fact that Phoenixes can infinitely kite certain other units due to their high speed and their ability to attack while moving has been known for a long time. The question is, which course should the Phoenixes follow so as to take no damage.
Let's take the speed of the Phoenix as v, the speed of the chasing unit as u. The Phoenix wants to keep a distance of d from the pursuing unit. Without detailed mathematical demonstration, the result is that the Phoenix should move along a circle of the radius
v*d/sqrt(v^2-u^2).
This will cause the chasing unit to move along a circle concentric to the Phoenix's, but with the radius
u*d/sqrt(v^2-u^2).
Furthermore, the chasing unit's phase must be delayed by
alpha = acos(u/v)
(where acos is the arcus cosine function), which also means that the direction in which the Phoenix is facing and the direction in which the chasing unit is facing should always form an angle of alpha. In case of range-upgraded Phoenixes vs. Corruptors, the values for radii and angle are as in the figure: + Show Spoiler +
For those who don't believe me, here are two things. First, here is a short document with the exact mathematical derivation of the above formulae. I tried to be as clear as possible, but it contains some more serious maths (well, no rocket science, but still not the most basic things). However, I suggest you DO read it, even if you skip the maths, because it is a very thorough document; this post here is merely an extract from it. You may say, OK, this is theory, but real game is another thing. The two, however, actually coincide perfectly in this case. To prove this, I made a tiny test map and tested it, and, hey presto!, the test results were perfectly as predicted. Here is a video demonstration:
As you can see, the Corruptor exactly follows the circle it is supposed to, and never ever damages the Phoenix. I concede, this micro cannot be used in real game to kill enemy units, because the opponent will not let that happen and at least pulls away his unit, but if you start your microing in the right direction, and you can maintain it for two-three volleys, you can actually gain a significant lead.
Anyway, I have some other topics related to of math in SC2; if you find this one interesting, I will upload more.
This is pretty awesome, but nobody will be able to make their Phoenixes take that path in the heat of battle, let alone in a game where their opponent lets the Corruptor chase it around like that!
On July 25 2014 06:39 DinoMight wrote: This is pretty awesome, but nobody will be able to make their Phoenixes take that path in the heat of battle, let alone in a game where their opponent lets the Corruptor chase it around like that!
But sick nonetheless.
what ? why not its pretty easy, just kite in a circle ..
Having a bunch of Phoenixes instead of a singel one, really makes a big difference, as you need to click kind of beneath the Phoenix'. Should be doable though, rly nice.
On July 25 2014 06:39 DinoMight wrote: This is pretty awesome, but nobody will be able to make their Phoenixes take that path in the heat of battle, let alone in a game where their opponent lets the Corruptor chase it around like that!
But sick nonetheless.
what ? why not its pretty easy, just kite in a circle ..
You have to click loads to keep your Phoenixes stacked, and they'll be moving their Corruptors/Mutas back and forth and try to flank you while you have to manage with loads of other stuff in the game. And then you get hit by a fungal and lose every Phoenix .
This is super impressive. I haven't seen anyone else in this community who has such deep knowledge both in math and game editor. Also, so much passion for SC2 I'm looking forward to reading your researches!!
Wow, great post, really interesting. If a pro can just get the feeling for the right radius he should be able to use that micro for some extra volleys.
On July 25 2014 06:39 DinoMight wrote: This is pretty awesome, but nobody will be able to make their Phoenixes take that path in the heat of battle, let alone in a game where their opponent lets the Corruptor chase it around like that!
But sick nonetheless.
what ? why not its pretty easy, just kite in a circle ..
The zerg can just right click through the middle of the circle though.
On July 25 2014 07:34 Dingodile wrote: what if opponent (corrupter in that case) microes too?
Then you have to adjust accordingly to another circle. It shouldn't cause you to lose Phoenixes because the Corruptor can only attack your Phoenixes if your opponent recognizes the pattern in your movement and intecepts the Phoenixes at another point of the circle. Worst thing to happen is that you can't kill the Corruptor.
Hey, great job on the op. Excellent math skills and a cool topic.
Question for you though. You mention that obviously you can't use this in game because the opponent will micro, and that probably effective use of this technique will result in around 2-3 volleys of uncontested attacking, which may be enough to give you the edge in the encounter.
Does that satisfy you?
Why not take a different tack entirely? Instead of looking for an absolutely PERFECT mathematical answer by making simplifying assumptions (in this case, no microing of the corruptors) which cause the practical application to be necessarily inexact, look for a PERFECT (or much closer to perfect!) practical result by refusing to make simplifying assumptions and actually get in there with a necessarily inexact multidisciplinary approach using psychology and game theory (to model micro choices) AND math (to generate the data on which to base the game theory)?
The end result of this could possibly be something a pro-gamer would legitimately take on stage and use.
I would do all of this but I am not smart enough. You seem to be really smart, though, so I was just mentioning it to see what you thought =D!
Very well done. You can see pro-gamers do sometimes move their phoenixes in arcs along this line to kite enemy units. Obviously they can't do it in a full circle like your video because the opponent flees when they have a chance, but if you mapped the pathing, it seems like it would be a series of chases and arcs, similar to charts of naval engagements.
It kind of makes sense that the escape angle is around 45 degrees. The higher the speed of the phoenix relative to that of the corruptor, the higher this angle will be, with 45 degrees indicating an equal movement for the two flyers.
Is the ratio of the angle 45,98/45 equal to the ratio of the movement speeds, or maybe when it's squared?
Good job, solid maths which would actually make a nice exercise (maths PhD here, so you can believe me this is well done and interesting stuff !). You may want to correct c_1 = u and not 0 on page 3 -hope I'm not making a fool of myself, it's actually pretty late and I could have misread ^^.
Interesting read and well thought perspective, good job Sholip. So basically it's good to learn the proper distance a phoenix must keep against every specific unit (which, personally, is something I would do by game-sense alone... I mean: instead of calculate it, I'd rather guess it intuitively after some games) and then try to micro my phoenixes in order to avoid entering the attack range of the chasing unit - but instead of retreating and attack again like I'd do, rather escaping by 45 degrees left/right or the pursuing unit (possibly the opposite direction where infestors/thors are). Am I right or there's more that I have missed?
If you have more mathematical insights about the game feel free to write more
On July 25 2014 06:38 Big J wrote: That's probably the most well-researched post ever in the history of SC2. :-)
Uhhhh, you apparently have never read any of Orek's posts.
Perfect spine crawler placement, walling with buildings, how many hits it takes to kill each unit with each unit, etc., etc. Orek is like the king of SC2 scholastic knowledge (but to be honest, most of the time, players don't need to do that much research to play well).
On July 25 2014 06:38 Big J wrote: That's probably the most well-researched post ever in the history of SC2. :-)
Uhhhh, you apparently have never read any of Orek's posts.
Perfect spine crawler placement, walling with buildings, how many hits it takes to kill each unit with each unit, etc., etc. Orek is like the king of SC2 scholastic knowledge (but to be honest, most of the time, players don't need to do that much research to play well).
On July 25 2014 06:50 ejozl wrote: Having a bunch of Phoenixes instead of a singel one, really makes a big difference, as you need to click kind of beneath the Phoenix'. Should be doable though, rly nice.
can expand the math on a phoenix that gets autofollowed by the rest of the phoenix x3 . Phoenix Flail for the win !
On July 25 2014 06:38 Big J wrote: That's probably the most well-researched post ever in the history of SC2. :-)
Uhhhh, you apparently have never read any of Orek's posts.
Perfect spine crawler placement, walling with buildings, how many hits it takes to kill each unit with each unit, etc., etc. Orek is like the king of SC2 scholastic knowledge (but to be honest, most of the time, players don't need to do that much research to play well).
On July 25 2014 08:40 pigmipigmi wrote: Hey, great job on the op. Excellent math skills and a cool topic.
Question for you though. You mention that obviously you can't use this in game because the opponent will micro, and that probably effective use of this technique will result in around 2-3 volleys of uncontested attacking, which may be enough to give you the edge in the encounter.
Does that satisfy you?
Why not take a different tack entirely? Instead of looking for an absolutely PERFECT mathematical answer by making simplifying assumptions (in this case, no microing of the corruptors) which cause the practical application to be necessarily inexact, look for a PERFECT (or much closer to perfect!) practical result by refusing to make simplifying assumptions and actually get in there with a necessarily inexact multidisciplinary approach using psychology and game theory (to model micro choices) AND math (to generate the data on which to base the game theory)?
The end result of this could possibly be something a pro-gamer would legitimately take on stage and use.
I would do all of this but I am not smart enough. You seem to be really smart, though, so I was just mentioning it to see what you thought =D!
The reason simplifying assumptions are made is that the math gets prohibitively complicated as variables get added. Even constrained variables based on "correct" micro decisions from the opponent would be too complicated for a computer to run in the amount of time necessary for in game decision making, let alone a progamer (even the machine that is INnoVation!)
Nice, but not really useful unless its one phoenix vs 1 corrupter. As soon as it is 3 phs vs 3 corrupter which will happen in 100% of zvp games, phoernixes has no way to kite corrupters and do consistent damage.
The solution to multiple corruptors is given by Huygen's Principle. Essentially treat each of the corruptors as point sources, and obtain the envelope of all the added spherical waves (well circular in this case). aka, waves obey superposition.
Impressive derivation! I'm a physics major and I just learned about the rotation matrix along with many other things you used in your derivation last semester, it's nice to see that it can actually be applied to productive pursuits like SCII
On July 25 2014 08:02 fmod wrote: Cool, what is your background, like education wise?
I'm currently studying as mechatronics engineer, will start my 3rd semester in September.
On July 25 2014 08:40 pigmipigmi wrote: Why not take a different tack entirely? Instead of looking for an absolutely PERFECT mathematical answer by making simplifying assumptions (in this case, no microing of the corruptors) which cause the practical application to be necessarily inexact, look for a PERFECT (or much closer to perfect!) practical result by refusing to make simplifying assumptions and actually get in there with a necessarily inexact multidisciplinary approach using psychology and game theory (to model micro choices) AND math (to generate the data on which to base the game theory)?
Well, that seems a bit complicated. How could I guess how the opponent decides to micro their Corruptors? Anyway, I think their only option is to pull them away, in which case you can simply follow them with the Phoenixes and attack them. Once they turn around again, you can continue microing in circles. If they don't turn around, then you can follow them until you have killed all of them (or eaten a Fungal in which case all your Phoenixes die .)
On July 25 2014 09:40 Anacreor wrote: Is the ratio of the angle 45,98/45 equal to the ratio of the movement speeds, or maybe when it's squared?
Actually, the angle is acos(u/v), where acos is the inverse cosine function (or maybe it's arccos in English? I can't remember).
On July 25 2014 10:00 MavivaM wrote: but instead of retreating and attack again like I'd do, rather escaping by 45 degrees left/right or the pursuing unit (possibly the opposite direction where infestors/thors are). Am I right or there's more that I have missed?
The 45 degrees only applies to Corruptors. Other units have different speed and range values, so the angle will be different, as described in the linked pdf.
On July 25 2014 15:03 uh-oh wrote: I just learned about the rotation matrix along with many other things you used in your derivation last semester, it's nice to see that it can actually be applied to productive pursuits like SCII
Same for me actually.
On July 25 2014 14:26 kramuti wrote: The solution to multiple corruptors is given by Huygen's Principle. Essentially treat each of the corruptors as point sources, and obtain the envelope of all the added spherical waves (well circular in this case). aka, waves obey superposition.
Could you explain that a bit more detailed, please?
On July 25 2014 09:44 [PkF] Wire wrote: You may want to correct c_1 = u and not 0 on page 3 -hope I'm not making a fool of myself, it's actually pretty late and I could have misread ^^.
Of course, you're right! I'll correct it, thanks! Looks like you read it through really thoroughly.
On July 25 2014 07:34 Dingodile wrote: what if opponent (corrupter in that case) microes too?
Then you have to adjust accordingly to another circle. It shouldn't cause you to lose Phoenixes because the Corruptor can only attack your Phoenixes if your opponent recognizes the pattern in your movement and intecepts the Phoenixes at another point of the circle. Worst thing to happen is that you can't kill the Corruptor.
Oh I was under impression that phoenix dont get a single attack from corrupter as you showed in that video. If this is possible too when opponent microes his corrupter.
Could you explain that a bit more detailed, please?
It may be easier to look at it using the position and velocity of the center of mass. The optimal angle to minimize the damage should be the same as if you calculated the velocity of the center of mass and used this as pathing for the velocity (if you have multiple phoenix, treat them the same way)...essentially you are treating X corrupters as 1 with an weighted average of position/velocity Vcm = Sum of (mi*vi) / Sum of (mi). where mi is the mass of each, and vi is the velocity of each (so the denominator is just the total mass). Using a mass of 1 should be ok...
It should give you the same answers as this (i think): Since you are both on a circle of radius r, essentially treat each object to be on a wavefront (crest of the wave is the line cut out by the respective circles. To solve the problem for multiple objects, you have several overlapping circles. The answer is obtained by using superposition (waves add like vectors, so you can use matrix operations).
The first way is probably the cleanest way to think about it, and looks like is would be a bit easier to use in your derivation. This, in general, will not keep the phoenix from being damaged, but it should minimize it.
If you wanted a time evolution (aka, corruptors and phoenix coming from the bases to the fight, you 'simply' evolve your system, and either use circular wave addition, or using the velocity of the center of mass.
One thing that was intersting to me is that you never seemed to account for the projectile speed, or the animation speed of the firing. Are both of these assumed to be the same? and are they? I suppose even if you use this, the answer could be obtained using a characteristic velocity. Maybe it doesn't matter to some extent if the corruptor is always out of range...hmmm...
This is still a little vague, and I have given no proofs. I am pretty sure this should work though. Hope is at least gives you and idea on how to look at multiple objects. There may also be some cases that could be found in which there are actually better optimal paths that minimize the number of units lost, rather than minimizing the total damage taken. I would have to think it through more, and probably have to put pen to paper.
Edit: to fake micro, have the corrupters do a (weighted )random walk. where there is a good chance the corruptors will go towards the phoenix, but not always. It won't be perfect, but you can start to characterize what are the best ways to move the phoenix given particular corruptor spacings, and the like (better players will keep their units in the optimal positions, moving in the optimal direction). I would still probably start with using center of mass values of things, and then tinkering with the individual units' motion while keeping the center of mass values fixed.
@kramuti Well, that indeed is a bit vague, I have to admit. As for projectiles, though, I think their speed doesn't matter. As long as the Corruptor can't attack, its projectile is obviously out of the picture, and the Phoenix's attack will hit the target sooner or later.
On July 26 2014 00:12 Sholip wrote: @kramuti Well, that indeed is a bit vague, I have to admit. As for projectiles, though, I think their speed doesn't matter. As long as the Corruptor can't attack, its projectile is obviously out of the picture, and the Phoenix's attack will hit the target sooner or later.
Maybe this is clearer. (with a link for a pic!)
Since the mass is irrelevant, the velocity of the center of mass of N corruptors is simply the average of their velocities. Vcm = (v1 +v2+...vN.) / N The position of the center of mass is the average of all the individual postions. Rcm = (r1+ r2+...rN) / N. Use vectors Vcm, and Rcm, and apply constraints appropriately. You will get a circle of a new radius.
This radius can be obtained using basic wave theory as well. The average velocity of any corruptor in your derivation is zero. (note so the average velocity of the center of mass is also zero) So it can be treated as if it is still at the center of the circle. If you add in another corruptor. Draw an identical ring for the phoenix's path around it. The path the phoenix should now take is given by drawing the envelope that surrounds both circles.
Here each of the points on the inner circle are the corruptors. The small rings are the ones the paths a phoenix would take in a one-on-one fight. The outer circle is the path a phoenix should take to minimize damage, from all these corruptors...aka a bigger circle where you connect all of the dots of all the tangent points.
The phase should just be the addition of the indidual phases (I think).
Again, this would minimize the damage taken, but I don't think it would maximize kill ratio. You probably really need a numerical model to give optimal trajectories under specific constraints. I also think this is where fire rates, animation times, acceleration rates (assuming the general solution is NOT symmetric...aka you will take damage for anything more than 1 on 1) will start to apply.
My mind....ow. Thanks for taking the time to do this, it's really interesting and, while not the most viable in competitive play, is really awesome to know.
On July 25 2014 06:39 DinoMight wrote: This is pretty awesome, but nobody will be able to make their Phoenixes take that path in the heat of battle, let alone in a game where their opponent lets the Corruptor chase it around like that!
But sick nonetheless.
what ? why not its pretty easy, just kite in a circle ..
Have you heard of fungal? Hydras? Queens? No?
There's this great thing called liquipedia you might want to check out.
That being said, perfect kiting with nix is hardly necessary given shields (note: I mean absolutely perfect or near perfect, not good kiting).
The solution for more than one Corrupter and one Phoenix should be easy assuming linearly separable sets of Corrupters and Phoenix. The main point is to every given time you only have to pay attention to one Corrupter: It exist one Corrupter j with
d(j,t)= min_i d(i,t),
where d(i,t) is the distance between the Phoenix and Corrupter i at time t. For all k!=j with d(k,t)=d(j,t), we know that Corrupter k lies on a circle around the Phoenix. As the Phoenix and the Corrupters are linearly separable we know further that a sector of a circle enclosing all Corrupters k exist. We choose one of the edge Corrupters k and can use the above micro in direction of this Corrupter. (At this point it is obvious that linear separability is stronger than needed. It would be enough that the Phoenix is not trapped by the set of Corrupters ... but I'm not in the mood to find the corresponding assumptions ) If at any time T a second Corrupter j with d(j,T)= min_i d(i,T)= d(k,T) exist, we start to use the above mico in regards of this Corrupter (as we where traveling towards him) and so on.
EDIT: For more than one Phoenix it gets messy if the Phoenix are not "close enough" to each other. See
p Phoenix, c Corrupter, distance between p_i and c_i d, distance between p_1 and p_2 D>d. p_1 and p_2 should use different mico to avoid getting hit by c_3.
Too bad there isn't a painted circle to follow in game. The Phoenix only outranges corruptors by 1, so this works better in theory (where you can focus your full attention on 1 unit against a non -microed corruptor while following a painted circle) than in practice.
On July 26 2014 23:30 Salient wrote: Too bad there isn't a painted circle to follow in game. The Phoenix only outranges corruptors by 1, so this works better in theory (where you can focus your full attention on 1 unit against a non -microed corruptor while following a painted circle) than in practice.
Of course. But it's definitely something that isn't impossible to learn, and I'm sure the top players have enough APM to do at least something similar.
Calculating individual results, applying them, and then calculating the net will result in more 'singularities' that you must account for (or something to know to not get trapped). Using superposition first, and then applying the result (you can do this BECAUSE the variables are linearly separable). will result in less of these instances, but your overall movement suggestion would result in phoenix not always firing since their primary goal is to get to the optimal line.
In the end, the 'real' result is possibly best modeled using field theory, and pertubation theory...you could actually write a dissertation on a game of starcraft...and it is directly applicable to almost any field in science, math, economics, biology...games are fun!
On July 25 2014 06:38 Big J wrote: That's probably the most well-researched post ever in the history of SC2. :-)
Actually... from the beginning of the phoenix hype in all match ups you can kinda tell that phoenix's faster firing rate would actually make them a counter to units like corruptor... but, nonetheless, props for doing the math and actual research!
On July 25 2014 07:23 Orek wrote: This is super impressive. I haven't seen anyone else in this community who has such deep knowledge both in math and game editor. Also, so much passion for SC2 I'm looking forward to reading your researches!!
Well, this result basically stems from the fact that you want to move with the same speed with the corrupter in the direction it is moving, to keep the distance the same. If the corrupter is made to always follow you and you need to move at full speed at all times, the end result will be a circle.
In reality, suppose the corrupter indeed follows (so that the term kiting makes sense), you can kite with any radius larger than your calculation shows, including a straight line. You just need not to move at all times, effectively reducing your speed. Now this in isolation is probably harder to execute, as you not only have to place your move command at the right place but also at the right time. But in game it is probably seen more often, as there is no strategic need to move in a circle anyway (so that you just try as you can to keep the distance between your phoenix and the corrupter the same as the phoenix range.)
If you wanted to perform this but head in a specific direction across the map, could you perform this in an "S" shape? Or would further modification need to be made to the path?
On August 03 2014 06:22 Reborn8u wrote: If you wanted to perform this but head in a specific direction across the map, could you perform this in an "S" shape? Or would further modification need to be made to the path?
You can just move in a straight line. But you have stutter step to keep the corrupters in range (and not too much to be too close to them).
On August 03 2014 06:22 Reborn8u wrote: If you wanted to perform this but head in a specific direction across the map, could you perform this in an "S" shape? Or would further modification need to be made to the path?
At any point of the circle, you can decide not to continue the current circle, but to start another one, which is the mirror image of the original one with the line defined by the Corruptor and the Phoenix as mirror axis. That means, if you travel clockwise, you can turn by 2*alpha counterclockwise and start a circle counterclockwise (or vice versa). That is because only the size of the angle you have to hold matters, whether it's cw of ccw does not. The resulting curve will not be C1 continuous, i. e. it won't be smooth, but will rather have a "break point". It will not be an "S", but some weird looking curve, that's for sure.
I think that it is possible to solve this with a bit less math, but that is all fine. As you pointed out in your post just above, you missed an important part though. Cos(x)=y has the solution, x=+-acos(y). The plus minus is what you say above, the the phoenix at any point can change direction. And a bit of zig-zagging is probably often a better solution in a real game.
Further, you could do a similar calculation for a corruptor moving away from you, and how you would have to move towards it at an angle to keep within range without getting to close. So it would still be a circle. And maybe also solve for a corruptor moving in a straight line, independently of the phoenix. How to kill retreating corruptor without getting in range.
For groups of phoenix/corruptor, you could approximate the groups of units with circles (yay physics!) And see how quickly you deal damage/take damage at different distances. A safe distance would be when no part of the circles are within 6 units distance, but you can deal damage faster (still at a good exchange rate) if you allow the circles to partially go within range. How much phoenix damage are you willing to take to damage the corruptor faster?
You solve for steady state, always same distance, but in practice it is equally important to know how to get there, and how to adjust, when you are getting too close/far away. The answer her would be to adjust the escape angle more directly away to slowly increase distance, and angle more towards the corruptor to close distance slowly. This would be a lot easier than what many people are doing now, which is running directly towers or away from the corruptor, giving you a very small time window when you are at exactly the right distance. By adjusting the angle you can increase or decrease distance slower, and it'll be easier to find the right distance.
1: Could you summarize what's the discovery here. What is the main advantage of kiting in a circle instead of kiting backwards ?
2: I try to reformulate your post in my words, how close is it ? '' I've formulated an hypothesis, then verified in game, that there is a way for Phoenixes to never stop attacking OR shooting a target that follow them, and it is to travel on this circle.'' (shown above)
3: I find very interesting the answer
Then you have to adjust accordingly to another circle. It shouldn't cause you to lose Phoenixes because the Corruptor can only attack your Phoenixes if your opponent recognizes the pattern in your movement and intecepts the Phoenixes at another point of the circle. Worst thing to happen is that you can't kill the Corruptor.
I feel it is sometimes what the best players do already.
A: The zerg tries to do swift movement toward the Phoenixes or away from them in a attempt to ''break the circle''
B: If feel that's the important point: The protoss should not adjust with a movement on the same direction, but simply try to modify it's circle.
4: I'll try to notice that in replays and post them to see what we can see at high level of play.
1: The "discovery" is essentially what you write in 2: If you move in a circle, the Phoenix never stops attacking the unit that follows it, nor will it ever be attacked. 3: It was a poor choice of words on my part. Again, you have it right: the Corruptor will stop following the Phoenix at some point, trying to move away. Then, theoretically, you should immediately start simply following the Corruptor (you will still be able to attack it and it won't attack you). If the Corruptor ever turns back to attack the Phoenix again, you will have to start moving in a circle again. This will be another circle, obviously, since the positions of the units have changed. 4: I don't think you will really see this in actual games, because I think it requires far too much (constant) attention and you are pretty well off with just good, not perfect, micro, due to shield regeneration (I may be wrong, though).
Hi, I'm not a math major (physics instead) but shouldn't it be easier to calculate this--assuming two concentric circular paths and constant distance between phoenix and <unit>: therefore, as you might have mentioned, identical frequencies of the circular movements with only a phase difference--by calculating the move-speed ratio and figuring out the circumferences, then using the relative circumferences to figure out the phase required to preserve the constant distance?
Also, on a much simpler note, couldn't you convert the circular paths into sine-wave paths fairly easily (frequency is frequency, after all), allowing for true kiting, moving the phoenixes backward to safety? One couldn't keep a constant angle but the frequency and distance should be easy to intuitionize.
This is really great stuff! It's cool seeing how calculations like this work out in a virtual world with set boundaries. If only math teachers were cool enough to use stuff like this to engage kids and get them to appreciate math more. I guess it doesn't help the argument of; "I'll never need to use math like that in the real world". However, it does provide an amazing visual and proof of concept, which is extremely important for most good jobs in the "real world".
Is it possible that this currently does not work in LotV? Although I don't have the beta, I messed around with that LotV unit tester thingy, and holding down the alternate key for Smart Command didn't do anything. When I pressed the Smart Command key just once, it worked fine, just as if I had right clicked on the ground. It seems like it can't interpret the key held down as repeatedly pressed. Rapid fire and other stuff worked fine, though. Maybe I just did something wrong, but it can be a potential bug. Can someone with the beta test it?