Humanoid.WalkSpeed should allow negative numbers not be clamped when set below 0

Yep, I too liked to make use of this feature

@CodeWriter or another appropriate staff member: any thoughts on removing this restriction, or could the wiki be updated to reflect this change? This was an easy way to invert movement without having to replace the default movement scripts, so it would be great to have it back. Could you (or anyone) also let us know why this change was made in the first place?

1 Like

Just talked about this with people, surprised nothing has been said after so long.
Would be nice if this isn’t limited as it used to be and easy to use without creating our own input system / modifying core player scripts.

2 Likes

If this change was intended it should be reflected on the wiki @UristMcSparks @cowbear16

4 Likes

This is an unnecessary, arbitrary change, and should be reverted imo. Brings more harm than good.

5 Likes

Waiting… (Considering the fact the wiki still doesn’t reflect this change, I assume this is still unconfirmed to be intended or not)

2 Likes

Nearly 2 year old bug

8 Likes

Please bring negative WalkSpeed back! I’d like to avoid hacky workarounds.

14 Likes

3 year old bug

5 Likes

I don’t think I ever recall seeing a game use negative WalkSpeed though for actual gameplay. I imagined negative WalkSpeed would only be used to mess around with players temporarily since it inverts your controls. Do you know any games that actually used negative WalkSpeed as part of the game?

4 Likes

blind/stun/disorient effects

6 Likes

As a developer, it is currently too hard to make a humanoid walk backwards. This used to be possible with negative walkspeed but has for some reason been clamped to 0 for 3 years.

Many games relied on this feature and this thread has been bumped time and time again. We now have to rely on hacky measures to implement something that used to work perfectly fine.

After 3 years of unanswered prayers and waiting, this bug or change has caused me great emotional stress as a developer. Please revert it.

9 Likes

I found that ‘feature’ fun once, but why did they clamp it? :thinking:

Alternate solution is flipping entire character(except HumanoidRootPart I think), which doesn’t sound as good as it works… and maybe camera manipulation.

1 Like

I’m not really sure about this. But if you apply a velocity to a character, it’ll automatically walk that direction. It’s probably because of the animation script. Anywho, you could possibly try to give the character a velocity in the opposite direction and disable auto rotation.

I wouldn’t really call this a hacky solution. If you was to remove the WalkSpeed this would be the proper solution in any other engine. (I use Unreal Engine). WalkSpeed is just an easier implementation to do this.

Though I’m pretty neutral on this feature.

1 Like

As I have said before, this was an unnecessary and arbitrary change that brought zero good to anyone, broke a ton of games, and now makes it significantly harder to reverse controls, which is a very common mechanic for confusion related effects.

I wanted to use negative walkspeed for a disorientation effect for an attack, but that ability’s development priority fell to the bottom of the stack because of this change. I now have to jump through hoops, waste time, and figure out a foolproof and robust way to accomplish this when before it was as simple as multiplying walkspeed by a negative number.

This should not have been changed. Negative walkspeed should just work.

4 Likes

I think this 3-year-old post is just symptomatic of a larger issue: There is not a lot of Lua control over roblox character still. In my opinion, Roblox should move more towards lua-based controllers. Perhaps helper API objects like a “HumanoidController” would be useful for this, as there are many instances in which I want to change the movement, orientation, and jumping of humanoids, but can’t.

Even this recent issue (Add a property to disable jumping out of Seats) that I posted is symptomatic of the lack of lua control over humanoid movement.

10 Likes

A post was merged into an existing topic: Off-topic and bump posts

I second this, especially considering the new IK controller would be very cool to have more lua based and editable. Anyway, I wanted to bump this since I noticed that Transparency and Reflectance are able to take values greater than 1 and less than 0. I dont see why Humanoid walkspeed can’t share similar behavior, one thing I noticed is a part with Transparency < 0 looks opaque, and > 1 is invisible. I feel a Walkspeed < 0 should just not move at all, similar to walkspeed equal to 0.

2 Likes

I agree with pretty much all of this except for WalkSpeed below 0 acting like 0. I really like how negative WalkSpeed worked before.

1 Like

Yeah I can understand that stance, but the reason I say it should behave like 0 is because something like InverseControls may not be the behavior someone may want. For example with a basic walkspeed reduction system, developers may increment or decrement walkspeed and if you decrement to the point it is negative the walkspeed reduction is not a walkspeed reduction system. I think something like inverse controls should just be coded into the PlayerModule.

1 Like