What's a good way to slow turning speed in an FPS when running?

I’m working on a sprinting mechanic for an FPS controller and I don’t want sprinting to just be bonus speed while still being able to turn on a dime.

I guess I haven’t played enough games with a sprint, what way feels natural and still fun.

I tried lowering the mouse sensitivity and clamping it’s maximum turn speed, but it turns out that’s super annoying and forces the player to continuously pick up the mouse to keep moving it over.

My next thought was to break the sprint if they turn too fast, but that also sounds annoying.

What do yall recommend?

  • Try to lie to the players. Give them uncomfortable walking speed and slightly faster sprint and do not give them disadvantage for sprinting (Skyrim-style)
  • give them stamina bar
  • or just extra velocity in the original direction instead of hindering the turning speed

But it depends on the overall feel of your game, so no silver bullet.

1 Like

Honestly, I’m kinda thinking that I don’t even WANT a sprint as it will just be a distraction. And I really think that I just want to put it in because I have an unused button on a controller otherwise.

You’re talking about mouse sensitivity, and also about having an unused button on a controller. What’s your primary target, here - controllers or keyboard + mouse?

If you want players to not turn quickly while sprinting then I wouldn’t mess with mouse sensitivity, I would cap the resulting turn speed. That subtle difference means that players don’t have to move their mouse any further, but they do have to move it more slowly.

I’d also give a little bit of leeway on it so that you can make small adjustments without hitting a speed cap, but large or sustained ones are capped. Probably I’d implement this by letting players “bank” a certain amount of rotation. The reason for all of this is that it respects my personally tuned mouse settings, but still imposes physical limits on my character which make sense, and which I can explore and abide by.

1 Like

i’ve played a few big shooters that make yaw input very slow while sprinting. Basically it means you can only sprint in a straight line. It really only matters in context to the larger play experience, so hard to answer without actually playing the game what the best sort of sprinting would be.

come to think of it, almost every big shooter i have played slows down the yaw input while sprinting. Personally I don’t care for any speed restriction to player control. While it might make literal sense it just ends up feeling like a handicap.

I think freedom of movement is a big joy in games. Let the tactical decision making be elsewhere, and let movement be a constant source of satisfaction - not an obstacle to contend with.

1 Like

I already tried exactly this.

I think I’m leaning on just ditching a sprint. It’s simply not conducive to the experience I’m trying to craft.

Then getting rid of it is exactly the right thing to do. If an individual feature isn’t contributing to your underlying design goals then it should be scrapped.

3 Likes

I agree that getting rid of the sprint altogether would be the best if it doesn’t fit. Anyways, if you still want to give it try, you can modulate the speed bonus by the angle difference between the velocity they had over the last few frames…

This way, if the player’s going straight, full speed bonus is applied. And as they turn, it gets progressively reduced until it disappears completely. That should incentivize the player to make big, slow turns that don’t lose much speed over sharp turns that makes them brake dry.

I haven’t done the math but I believe that having a small ramp-up in the speed (say 0.5s) and matching that time to the accumulation time would give good results.

I don’t like changing the turning speed while sprinting. It will make turning in general difficult, because the player has to learn to play with 2 different turn speeds depending on context.

You could consider making sprint only last a short time. A short burst of sprint forward, not really allowing the time to turn back and forth, etc. Make it useful for quickly getting to cover, but not really for zooming around the level.

I’d go with taking it out if you didn’t need it in there to start with, who has the time to build the mechanics they do want let alone ones they don’t.

But as we’re on the subject anyway… I’d go with slow turning while holding the button down, then have a period of maybe a second after lifting the button where they can turn full and are still sprinting but are slowing down. If they can turn and get the button down again they keep momentum, if they slow down too much they stop the sprint.

Not dissimilar to coasting in a racing game really, you don’t turn as well while accelerating.

You can use time scale for game speed
Similar to the Call of Duty or burnout 1-4

With time scale 2x you can make a lot more smoother gameplay and controlling the game movement

Yeah I hate this too, and players could simply counteract that input design by using macros, not a good decision in my opinion

Most games slightly increase FOV while sprinting. That has these effects:

  • turning feels as if the sensitivity decreased (since the viewport now has more angular width while the angular rotation speed remains the same)
  • peripheral vision is increased which is good when sprinting since you will mostly run into new surroundings and need some overview while approaching it
  • running feels faster since the floor on the edge of the screen is more normal to the camera and therefore scrolls faster across the pixels of your screen

I suggest you try that AND add a tad of medium mouse smoothing while sprinting, that could feel good. Mouse smoothing will not modify your sensitivity (if done right) so the player will not loose his reference direction when looking left+right while sprinting+notsprinting.

But be aware that in competitive games, most players will hate mouse smoothing since in competitive shooters you get smooth inputs by using high DPI + low game-sensitivity-setting to achieve jitterless aiming

What happens if you turn too fast while sprinting IRL? You would probably fall over… could be a fun mechanic :smile:

Another option is to go the other way: Instead of slowing their turn speed when they’re sprinting - slow their sprint speed when turning.

1 Like

Ingenious, how would you advertise this effect to the player? Something the clearly shows him the he can only turn so much before it has an (gradual?) adverse effect on his sprinting speed

@Marrt I imagine sprinting would not be 0 or 1. You start to sprint and it builds up to 1 over a second or so. When you turn, you slow down proportionally to the rotation over time, then the speed builds back up to 1.

For example, turning 90 degrees in 1 frame would drop you to 0, turning 90 degrees over 60 updates will drop your speed to 0.5, over 120 updates it drops to 0.75.
Obviously, you’d tweak these values to make it less jarring.

The player would learn that running in a straight line is faster than turning all the time.

You could alter the animation and/or add some sprinting effects which change along with the speed factor.

I think you should have a little bit of leeway, like a 8° cone that will not slow down your speed since otherwise the best input would be to hold the mouse uncomfortably still during sprint. the cone only moves when the lookdirection traverses the cones shell and only this will slow down speed, heck if you normally would have a reticle, you could replace it with two brackets (hinting the cones shell radius)

But as always, I complicate things. Probably a simple “Racetrack” approach is simple enough with great outcome: