Workshop code for movement acceleration

Movement acceleration is a mechanic where players accelerate over some time in the direction of their input. In OW, the acceleration is instant, which leads to some janky animations with instantly reversible strafing. I was wondering if someone has a workshop code that has this mechanic, since it has been a hot topic for a long time.

create chase variables. StartSpeed, EndSpeed. Instead of setting a flat Set Move Speed = 130, Set Move Speed = StartSpeed and the next action, Chase variable EndSpeed. Are you looking at nerfing Overwatch’s amazing ability to dodge bullets with strafing? Love the idea. Start around 50 and work up to 100 over 2 seconds or so.

1 Like

When you use the Set Move Speed action in conjucntion to chasing the speed as percentage value in any fashion, keep in mind that the input parameter of Set Move Speed don’t reevaluate, meaning while the StartSpeed is not equal EndSpeed you need to loop and update the Set Move Speed action manually either every frame or at higher frames.

I am not trying to make OW2 a tactical shooter with brutal movement accel, but yeah, I think damage and healing numbers are being powercrept hard because with 0 movement accel, the hitbox displacements and broken animations (Tracer’s head, Sojourns thighs lol), so in order to make hit shots rewarding to hit the numbers have to be extremely high. I think if I introduce a little movement accel, shooting will be less guesswork and crosshair placement and more reacting to what you actually see on screen (WOW, what a innovative concept for an FPS, am I right?). The only problem is instant crouching animations, but that seems harder to fix with the workshop.

I actually implemented code already and 50% was way too low for my taste. It makes you feel like you’re suddenly walking on glue if you change directions. I’m still testing, but 70-80 percent seems like a good starting point and increasing movement speed over about half a second seems to work.

If you’re curious, I actually used a variable that stores throttle and compares it to the current throttle. If they mismatch, then the move speed is reset to 75 and I used a loop instead of chase to bring the speed up to 100, so maybe I can improve on that. Here is the code if you’d like to test it and provide feedback:

QBFXS

EDIT: I tried playing around with this and it seems that the animation problems are not fixed, because while movement speed decrease creates a movement acceleration, the deceleration is still instant, so headbobbing is still present. I think instead of changing Move Speed I have to Force Throttle, but that takes a lot more math. I’ll try to figure something out and let you know.

EDIT 2: I tried using tranform throttle but I can figure out how to make the throttle relative to the player, so I toyed around with the original code and I think I made it better by setting the starting speed to 20% and increasing it to 100 over .32 seconds. I also added a recording program so you can test the changes (press F to start) against a dummy bot.
38FT3