Slow down or speed up part physics for slow-motion and time-control effects

I’ve tried to do this before multiple times but it’s quite difficult and even if I get something close to it, the part seems to move in a different way than normal. This would be awesome, you could create a game in which you totally control time.

If it can’t be done for each part, Workspace.PhysicsSpeed would be fine although it wouldn’t be possible to keep the character’s physics normal.

17 Likes

Maybe something like workspace.TimeScale that default to 1 instead.
I agree this would be tremendously cool but I doubt it would be technically easy to implement

3 Likes

part by part probably hard

whole workspace? I don’t think so, but perhaps with distributed physics it would be

The time dilation effect would be indeed very cool, but the physics engine and networking make too many assumptions based on the currently hard coded physics time step. It’s not impossible, but the demand for this feature would have to be much bigger.

6 Likes

Im trying to make a game like superhot, but roblox doesnt have slow-motion/slow-time/bullet-time effects, so its really hard to try to implement something like this, i basically have to lower gravity, which isnt ideal considering thats not how slow time works, then slow all the characters playing animations speed then restore the speed back after the slow time is up. I like how unity does it, they have a global time value from 0 to 1, 0 being stopped and 1 being normal, something like that in roblox would be good, so like a property of workspace

9 Likes

I come from the future to nicely ask Roblox to make this a feature, would be so cool for racing games, physics destruction scenes, or even game over scenes (slow down the finally shot in a shooter), so many games would benefit from a way to slow down time.

This would be a super cool feature, very useful for many different physics scenarios (imagine an explosion scene with destructible parts at 1/10 of the speed!), as most other game engines have a feature like this as well.
Not sure how realistic it would be that Roblox actually does this, but might as well hope.

2 Likes

BUMP, You can’t just expect the demand to be higher if we don’t even have access to it to find out what we can and could do with it first. There’s very few ideas at the moment and the only reason to find more is by plain and simple testing.

2016 post, it’s now 2024, meerly 8 years after. I guarantee that many of the upcoming developers I’ve been in contact with could and would be happy to use it.

Games like CS:GO / CS2 use it under the name host_timescale x, this could be made using Physics FPS and Delta time by mixing around the values, which is why the CS:GO / CS2 command “boosts” Framerates even though they don’t, it’s just a trick.

MY IDEA:
I wanna make a slow motion transition from normal motion to slow motion when game round ends and a new one must begin. I’m making an fps game here, I can gladly use a host_timescale property in Workspace because we already have that to Particle Emitters.

I’ll get on my hands and knees for this feature, PLEASE!

2 Likes

If this feature is never implemented engine wise, would it be worth creating it from scratch then? I’ve learned enough about the Roblox engine in my time using it; that it is possible to create such a system for both individual parts and the whole game world. I’ve already seen some devs here demonstrate this with parts physics that run on their own system, so I know it is possible to create a more robust system to give you, the developers, those slow motion and speed control effects. :thinking:

I’d love for this feature to be implemented officially too. I have a system for this so feel free to use it as a starting point: Time Scale Framework
The source code is on GitHub so feel free to contribute with any improvements. :slightly_smiling_face:

1 Like

This was easier to create that I thought it would be. I can see someone else has already posted a system they created. I have a feeling that since you can already do this (even without official support), it makes it more difficult for Roblox to spend some time and resources doing it engine wise. It turns out, we have enough low-level access to simulate anything that was requested in this topic, so to each their own! :smile:
robloxapp-20240428-2108146.wmv (5.4 MB)

.wmv file format, ewwww. Anyway, the easy way to do this yourself is to just turn the anchor property on and off over and over to simulate it, without interpolation this would just look choppy.