How do I implement these features to make my physics based character's gameplay more smooth?

Hello! I hope this post reaches you at a good time and that you are having a good morning/good afternoon.

Recently, I’ve been inspired by another game, [Ragdoll Universe], of their unique combat system and movement. I had since used a great chunk of my time to create a custom character model with ragdoll physics like theirs, to try and use in my own game. But during this, I had hit a stop with my development for the past few days because I cannot figure out how these issues would be implemented or how they can be fixed.(RAGDOLL UNIVERSE - Roblox)

These 2 issues are what’s being bothering me so far. The first, with the player’s jump, their jump height and distance are basically physics based and are inconsistent. This is caused because it uses Vector Force and creates a force for a second before removing it. Their landing is also really sudden, due to the fact that it gets up instantly with the change of HumanoidState and because of this sometimes the character may glitch into the ground. I also want to make the character movable during the jump, and I’ve tried changing the HumanoidState to different types, but they would all bug out.

The 2nd issue that is apparent is the lag of the BallConstraint on the server end. This is because of the Ownership being to the client, which causes the BallConstraint to be smooth on the client end while laggy on the server. I had tried changing Network Ownership, but it did not work to the way I wanted

Below is a video showing the issues I talk about and comparing them to Ragdoll Universe.

As of current, I have looked through the devforum for any available info for my issues, but none of them are able to resolve it. Even though I have found some and attempted to work with it, but none of them would be able to be used for the long term.

Some extra info to note, the custom character is made by making your actual one invisible, while creating a fake one that is linked to the real one with BallConstraints. When I make the character jump/ragdoll, I use a slightly modified version of [Perfect R6 Ragdoll], with the modification being disabling the BallConstraints that link the fake character to the real character and enabling Motor6Ds that links them together so the fake character is really mirroring the real character. Though, I feel like changing this might solve the 1st problem, by ragdolling the fake instead, but I feel that this would cause some issues with the hitbox hence why I decided to make a post instead. ([Updated] Perfect R6 Ragdoll - Easiest Ragdoll System for R6 Avatars)

If needed, I can always give more info and the file of the custom character. I would really apperciate any methods and helpful tips that can help me fix these issues. I hope I am not asking too much, as despite my long time of developing, I am still really amateur at scripting and generally most things.:sweat_smile:

2 Likes

Perfect R6 Ragdoll relies heavily that you dont modify the Humanoid state while the ragdoll is active. Your issues could be because you are changing the Humanoid state in your controller script.

1 Like

Wow! Thanks for letting me know! Though, I had not changed the Humanoid State within the controller script. Would it be better to rewrite the ragdoll or to work around it?

Here is a copy of what I currently have done for better understanding of this topic. Sorry if my code is really defective and messy, I’m not quite the scripter :sweat_smile:
RagdollTest2.rbxl (99.8 KB)