Difference between revisions of "Talk:Darkcanuck/VelocityTest"
Darkcanuck (talk | contribs) (voidious/positive combo effort) |
Skilgannon (talk | contribs) |
||
Line 147: | Line 147: | ||
And for comparison's sake: | And for comparison's sake: | ||
<pre> | <pre> | ||
+ | Darkcanuck's VelocityTest | ||
+ | |||
Starting velocity=0.0 distance=6.0 | Starting velocity=0.0 distance=6.0 | ||
1 velocity=1.0 remain=5.0 | 1 velocity=1.0 remain=5.0 | ||
Line 153: | Line 155: | ||
4 velocity=1.0 remain=0.0 | 4 velocity=1.0 remain=0.0 | ||
5 velocity=0.0 remain=0.0 | 5 velocity=0.0 remain=0.0 | ||
+ | |||
Starting velocity=0.0 distance=10.0 | Starting velocity=0.0 distance=10.0 | ||
Line 158: | Line 161: | ||
2 velocity=2.0 remain=7.0 | 2 velocity=2.0 remain=7.0 | ||
3 velocity=3.0 remain=4.0 | 3 velocity=3.0 remain=4.0 | ||
− | 4 velocity= | + | 4 velocity=2.5 remain=1.5 |
− | + | 5 velocity=1.5 remain=0.0 | |
− | + | 6 velocity=0.0 remain=0.0 | |
− | + | ||
Starting velocity=4.0 distance=0.0 | Starting velocity=4.0 distance=0.0 | ||
Line 168: | Line 171: | ||
3 velocity=-1.0 remain=-1.0 | 3 velocity=-1.0 remain=-1.0 | ||
4 velocity=-1.0 remain=0.0 | 4 velocity=-1.0 remain=0.0 | ||
− | 5 velocity= | + | 5 velocity=0.0 remain=0.0 |
− | + | ||
− | |||
− | |||
− | |||
− | |||
Starting velocity=-1.9 distance=10.0 | Starting velocity=-1.9 distance=10.0 | ||
Line 180: | Line 179: | ||
3 velocity=2.1 remain=6.700000000000001 | 3 velocity=2.1 remain=6.700000000000001 | ||
4 velocity=3.1 remain=3.600000000000001 | 4 velocity=3.1 remain=3.600000000000001 | ||
− | 5 velocity= | + | 5 velocity=2.3500000000000005 remain=1.2500000000000004 |
− | 6 velocity= | + | 6 velocity=1.2500000000000004 remain=0.0 |
− | + | 7 velocity=0.0 remain=0.0 | |
− | + | ||
</pre> | </pre> | ||
− | + | A few bugfixes and a 'smooth decel' predictor later... --[[User:Skilgannon|Skilgannon]] 08:30, 16 July 2009 (UTC) | |
== Voidious + Positive getMaxVelocity == | == Voidious + Positive getMaxVelocity == |
Revision as of 09:30, 16 July 2009
Contents
Using 1.7.1.3
Scratch that last posted result -- was using the method from 1.7.1.2 Beta by accident. Here's the corrected test result:
Starting velocity=0.0 distance=6.0 1 velocity=1.0 remain=5.0 2 velocity=2.0 remain=3.0 3 velocity=3.0 remain=0.0 4 velocity=1.0 remain=-1.0 5 velocity=-0.75 remain=-0.25 6 velocity=-0.25 remain=0.0 7 velocity=0.0 remain=0.0
Still a problem here:
- at tick 3 the bot should have stayed at velocity 2 then decelerated to 1 to hit the target
- the bot then overshoots and takes its time to get on target
- this should have been a 4-tick move...
--Darkcanuck 05:22, 15 July 2009 (UTC)
For another (worse) example of the above, try starting at 0 with a target of 10.
Starting velocity=0.0 distance=10.0 1 velocity=1.0 remain=9.0 2 velocity=2.0 remain=7.0 3 velocity=3.0 remain=4.0 4 velocity=4.0 remain=0.0 5 velocity=2.0 remain=-2.0 6 velocity=0.0 remain=-2.0 7 velocity=-1.0 remain=-1.0 8 velocity=-2.0 remain=1.0 9 velocity=-0.0 remain=1.0 10 velocity=1.0 remain=0.0 11 velocity=0.0 remain=0.0
Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=0.0 remain=-2.0 3 velocity=-1.0 remain=-1.0 4 velocity=-2.0 remain=1.0 5 velocity=-0.0 remain=1.0 6 velocity=1.0 remain=0.0 7 velocity=0.0 remain=0.0
Starting from an overshoot condition, the velocity formula causes a second, unnecessary overshoot. --Darkcanuck 05:45, 15 July 2009 (UTC)
And here's a sample of what odd negative velocities can produce:
Starting velocity=-1.9 distance=10.0 1 velocity=1.8074999999999999 remain=8.1925 2 velocity=2.8075 remain=5.385000000000001 3 velocity=3.8075 remain=1.5775000000000006 4 velocity=1.8075 remain=-0.22999999999999954 5 velocity=-0.22999999999999954 remain=0.0 6 velocity=0.0 remain=0.0
--Darkcanuck 05:49, 15 July 2009 (UTC)
Voidious Version
Here's the same tests done with the changes made by Voidious:
Starting velocity=0.0 distance=6.0 1 velocity=1.0 remain=5.0 2 velocity=2.0 remain=3.0 3 velocity=3.0 remain=0.0 4 velocity=1.0 remain=-1.0 5 velocity=-0.5 remain=-0.5 6 velocity=-0.5 remain=0.0 7 velocity=0.0 remain=0.0 Starting velocity=0.0 distance=10.0 1 velocity=1.0 remain=9.0 2 velocity=2.0 remain=7.0 3 velocity=3.0 remain=4.0 4 velocity=3.0 remain=1.0 5 velocity=1.0 remain=0.0 6 velocity=0.0 remain=0.0 Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=0.0 remain=-2.0 3 velocity=-2.0 remain=0.0 4 velocity=-0.0 remain=0.0 Starting velocity=-1.9 distance=10.0 1 velocity=0.050000000000000044 remain=9.95 2 velocity=1.05 remain=8.899999999999999 3 velocity=2.05 remain=6.849999999999999 4 velocity=3.05 remain=3.799999999999999 5 velocity=2.8999999999999995 remain=0.8999999999999995 6 velocity=0.8999999999999995 remain=0.0 7 velocity=0.0 remain=0.0
That seems to fix all the problems I've found so far, except for the tricky 0,6 case. --Darkcanuck 06:12, 15 July 2009 (UTC)
There's a bug here: in the 4,0 case, how is the bot able to get from velocity 2 to 0 to -2? Surely it should be:
Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=-0.0 remain=-2.0 3 velocity=-1.0 remain=-1.0 4 velocity=-1.0 remain=0.0 5 velocity=0.0 remain=0.0
--Skilgannon 09:53, 15 July 2009 (UTC)
It was late, and I missed that. =) Here's the newest version's results:
Starting velocity=0.0 distance=6.0 1 velocity=1.0 remain=5.0 2 velocity=2.0 remain=3.0 3 velocity=1.5 remain=1.5 4 velocity=1.5 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=0.0 distance=10.0 1 velocity=1.0 remain=9.0 2 velocity=2.0 remain=7.0 3 velocity=3.0 remain=4.0 4 velocity=3.0 remain=1.0 5 velocity=1.0 remain=0.0 6 velocity=0.0 remain=0.0 Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=0.0 remain=-2.0 3 velocity=-1.0 remain=-1.0 4 velocity=-1.0 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=-1.9 distance=10.0 1 velocity=0.050000000000000044 remain=9.95 2 velocity=1.05 remain=8.899999999999999 3 velocity=2.05 remain=6.849999999999999 4 velocity=3.05 remain=3.799999999999999 5 velocity=2.8999999999999995 remain=0.8999999999999995 6 velocity=0.8999999999999995 remain=0.0 7 velocity=0.0 remain=0.0
Looks ok to me, now I have to find some more numbers to break it... --Darkcanuck 15:42, 15 July 2009 (UTC)
Skilgannon Version
And for comparison's sake:
Darkcanuck's VelocityTest Starting velocity=0.0 distance=6.0 1 velocity=1.0 remain=5.0 2 velocity=2.0 remain=3.0 3 velocity=2.0 remain=1.0 4 velocity=1.0 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=0.0 distance=10.0 1 velocity=1.0 remain=9.0 2 velocity=2.0 remain=7.0 3 velocity=3.0 remain=4.0 4 velocity=2.5 remain=1.5 5 velocity=1.5 remain=0.0 6 velocity=0.0 remain=0.0 Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=-0.0 remain=-2.0 3 velocity=-1.0 remain=-1.0 4 velocity=-1.0 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=-1.9 distance=10.0 1 velocity=0.10000000000000009 remain=9.9 2 velocity=1.1 remain=8.8 3 velocity=2.1 remain=6.700000000000001 4 velocity=3.1 remain=3.600000000000001 5 velocity=2.3500000000000005 remain=1.2500000000000004 6 velocity=1.2500000000000004 remain=0.0 7 velocity=0.0 remain=0.0
A few bugfixes and a 'smooth decel' predictor later... --Skilgannon 08:30, 16 July 2009 (UTC)
Voidious + Positive getMaxVelocity
Starting velocity=0.0 distance=6.0 1 velocity=1.0 remain=5.0 2 velocity=2.0 remain=3.0 3 velocity=2.5 remain=0.5 4 velocity=0.5 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=0.0 distance=10.0 1 velocity=1.0 remain=9.0 2 velocity=2.0 remain=7.0 3 velocity=3.0 remain=4.0 4 velocity=3.0 remain=1.0 5 velocity=1.0 remain=0.0 6 velocity=0.0 remain=0.0 Starting velocity=4.0 distance=0.0 1 velocity=2.0 remain=-2.0 2 velocity=-0.0 remain=-2.0 3 velocity=-1.0 remain=-1.0 4 velocity=-1.0 remain=0.0 5 velocity=0.0 remain=0.0 Starting velocity=-1.9 distance=10.0 1 velocity=0.10000000000000009 remain=9.9 2 velocity=1.1 remain=8.8 3 velocity=2.1 remain=6.700000000000001 4 velocity=3.1 remain=3.600000000000001 5 velocity=2.8000000000000007 remain=0.8000000000000003 6 velocity=0.8000000000000007 remain=-4.440892098500626E-16 7 velocity=-4.440892098500626E-16 remain=0.0
Passes all tests except doesn't account for max velocity yet. The nice thing about this one so far is it's use of round velocity numbers. I like it!