4 replaced http://gamedev.stackexchange.com/ with https://gamedev.stackexchange.com/ edited Apr 13 '17 at 12:18 In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant accelerationon simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l 0.001 .001 .001 0.001 .002 .003 0.001 .003 .006 0.001 .004 .010 0.001 .005 .015 now motor turned off, so a = 0.000 0.000 .005 .020 0.000 .005 .025 now retro-rockets fired (ie braking applied) -0.001 .004 .029 -0.001 .003 .032 -0.001 .002 .034 -0.001 .001 .035 -0.001 .000 .036 now motor turned off again 0.000 .000 .036 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l 0.001 .001 .001 0.001 .002 .003 0.001 .003 .006 0.001 .004 .010 0.001 .005 .015 now motor turned off, so a = 0.000 0.000 .005 .020 0.000 .005 .025 now retro-rockets fired (ie braking applied) -0.001 .004 .029 -0.001 .003 .032 -0.001 .002 .034 -0.001 .001 .035 -0.001 .000 .036 now motor turned off again 0.000 .000 .036 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l 0.001 .001 .001 0.001 .002 .003 0.001 .003 .006 0.001 .004 .010 0.001 .005 .015 now motor turned off, so a = 0.000 0.000 .005 .020 0.000 .005 .025 now retro-rockets fired (ie braking applied) -0.001 .004 .029 -0.001 .003 .032 -0.001 .002 .034 -0.001 .001 .035 -0.001 .000 .036 now motor turned off again 0.000 .000 .036 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. 3 added 238 characters in body edited May 4 '13 at 21:17 Pieter Geerkens 2,03488 silver badges1616 bronze badges In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l 0.001 .001 .001 0.001 .002 .003 0.001 .003 .006 0.001 .004 .010 0.001 .005 .015 now motor turned off, so a = 0.000 0.000 .005 .020 0.000 .005 .025 now retro-rockets fired (ie braking applied) -0.001 .004 .029 -0.001 .003 .032 -0.001 .002 .034 -0.001 .001 .035 -0.001 .000 .036 now motor turned off again 0.000 .000 .036 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l .001 .001 .001 .001 .002 .003 .001 .003 .006 .001 .004 .010 .001 .005 .015 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l 0.001 .001 .001 0.001 .002 .003 0.001 .003 .006 0.001 .004 .010 0.001 .005 .015 now motor turned off, so a = 0.000 0.000 .005 .020 0.000 .005 .025 now retro-rockets fired (ie braking applied) -0.001 .004 .029 -0.001 .003 .032 -0.001 .002 .034 -0.001 .001 .035 -0.001 .000 .036 now motor turned off again 0.000 .000 .036 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. 2 added 238 characters in body edited May 4 '13 at 21:12 Pieter Geerkens 2,03488 silver badges1616 bronze badges In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l .001 .001 .001 .001 .002 .003 .001 .003 .006 .001 .004 .010 .001 .005 .015 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. In regards to this comment by OP: The problem is the resulting behavior, where the object continues to move up for example, even if the down key is pressed. It eventually changes direction but by then it's at nearly uncontrollable speeds. That is how velocity and acceleration work. You are simply providing the user with acceleration increments that are too large. Try reducing your acceleration increments to 1/4 of their present value, and report the results. Because distance travelled varies as the square of applied acceleration, rather subtle changes in acceleration can affect the agent more than might be intuitively expected. Also check my answer to this post on simple equations of motion with constant acceleration. Update: Your turns should look like this, where the player can only set a = .001, or 0.000 or -0.001:  a v l .001 .001 .001 .001 .002 .003 .001 .003 .006 .001 .004 .010 .001 .005 .015 etc.  When you increase the acceleration by .001 each time, you are in fact using constant jerk, as I suspected earlier. 1 answered May 4 '13 at 19:11 Pieter Geerkens 2,03488 silver badges1616 bronze badges