New Humanoid Physics Controller - Beta

It’s a beta, and won’t appear ingame until the update is fully released.

Will this make constraints on the character less broken? Trying to say, make a physics fishing rod has always lead to extreme instability.

When walking ontop of a unanchored car, (specifically the free police car by roblox in the toolbox), you can end up sliding off and not being able to move in the meantime, might be related to network ownership.

repro - press play and walk around on the front of the car.
b.rbxl (408.9 KB)

The player still clips on any slopes even at default speed or even higher.

(Happens on any material, not just ice which is slippery, this happens on older controller too, and new too.)

Place file if needed
ice phys.rbxl (42.9 KB)

R15 too.

2 Likes

There does seem to be a few replication bugs, but since this is an early beta i hope it’ll be fixed.

Refer to this post
https://devforum.roblox.com/t/new-buggy-roblox-walking-physics/2003213/3

Are you aware of the obby community, wall hops, ladder flicks, and long jumps? They have been patched by this beta. Could you please at least give us a script that is more efficient than current patches such as this?

Or will this be resolved in the customisation that you have mentioned?

2 Likes

We’re definitely aware that there’s obbies built around every bug and edge case in the legacy pid-based Humanoid controller. :slightly_smiling_face:

Part of our motivation of putting this out in Beta now, even with some known issues, is to start discovering all of these interesting edge cases. We really don’t want to break games if we can avoid it. We spend a lot of time thinking about compatibility. It’s something I and the rest of the team care a lot about. Screaming “don’t break games!” at people is one of my core job responsibilities.

Our goal is to make the behavior as close as possible to the legacy Humanoid by default, given some intentional changes like more linear acceleration curves and conserving momentum by default. We want to investigate and understand every single behavior change, understand in depth why it behaves differently, and make sure it’s not a regression.

Still the new controller can’t be expected to be perfectly bug-for-bug compatible. We might not want to reproduce all behaviors, like some cases of flinging, as built-in functionality at all depending on what exactly causes them.

We do plan to remove the legacy Humanoid controller eventually and replace it with this, but that’s at least months, or even a year out easily. It will take time to refine, polish, and gracefully voluntarily migrate as many games as possible.

Repros (automated if possible) will help us minimize the differences and provide better workarounds, but we do need help. Some of these obby tricks are insanely hard to reproduce consistently on our own.

10 Likes

Any chance of these physics being manually stepped forwards or backwards in the future and opening up that whole side of things to the player? It could help with implementing rollback networking solutions, without having to make your own deterministic physics.

3 Likes

Edit
I found the cause, which is still a bug. Basically, this made players way more fragile and they can fling very easily, but the major thing that causes this are constraints. Using forces or velocities on characters makes them way too likely to fling by even just jumping a little. Also, I found a few other bugs, like flinging if you glitch inside a part even a little, interacting with ragdolls owned by the server, and your character being treated like a part if you use a rope constraint.

I found a lot of bugs that basically render most of my code useless.
Ever since I enabled this feature, I was amazed at all of these changes, and I wanted to implement them into my game asap since I’m currently working on the movement controls. However, I started noticing a lot of bugs. For example, sometimes I get flung whenever I land from a tall height (the taller the more likely it happens) and go to the “breaking point” of Roblox. This also happens if I set my humanoid state type to physics after falling. This is game-breaking, because a lot of my features use the humanoid state types and the physics state in order to use ragdolls.

Example of a bug I get every single time:

With the character controller enabled

With the character controller disabled aka intended behavior

The only thing that I’m doing is anchoring the humanoid root part locally, and playing an animation.
Sorry for the inconvenience, if I did anything wrong please let me know.

6 Likes

When this first came out, I loved it. Was able to stand in the train in my game when there were no seats available without all the glitchy jumpy stuff. But now I get flung all over my map and/or knocked over trying to do anything. Wont even let me go up any stairs anymore. Had to remove it. Excited to see what becomes of this in the future, but for now I can no longer test my game in studio with it.

2 Likes

Flinging seems to be a big issue with this beta. Just walking over a few unanchored parts can send you absolutely flying…

2 Likes

yes it is, theres games like bhop and theres a open source bhopping script.

1 Like

This sounds like an amazing update!

1 Like

Will we be able to use the old physics engine like a enable or disable button?

1 Like

I might be misinterpreting here, but from what staff are saying, this update shouldn’t change anything with the actual physics. If you do find anything that wasn’t replicated in the new engine, then it should be relatively easy to add those features back yourself.

But yes, this feature will eventually become mandated for all experiences in the future (perhaps months or even a year)

I forgot to ask, how would you enable/disable specific controllers? This was not explained in depth.

We should get a option to disable the physics engine for like games that replicate classic Roblox. It would ruin classic games that simulate roblox’s old engine

Or maybe a way to change the settings where we can disable certain features we don’t like. I like these features though to be honest.

Ok my point is that changing the physics engine will cause a bunch of bugs. Like some people like these bugs and they been around since for ever

https://devforum.roblox.com/t/elder-communities-in-roblox-are-collapsing-fix-obstacle-courses/2003253/35