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.
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
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.
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
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.
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!
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.
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.
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! 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.
Yeah, I hate the format too, wish Roblox would use another and I didn’t take the time to convert it to mp4 so I could inline it in the post. I was lazy at the time.
If this is a getting a serious look, at last from my own experience with using a pseudo-version of it on my own, I believe having the ability to modify the server and client physics FPS separate would be a good start. Server wise is pretty straight forward to achieve because everything runs at 60 fps normally and changing it via load limiters works great. Trying to achieve the same effect on clients is really hit or miss due to all the variations in speed, but a built-in FPS target that the client will seek would be great at pairing up the server and client physics FPS to keep the effects in as close of sync as possible.