Hello developers! I am having some problems trying to understand the Slow Motion things in Roblox. I know these are about intense scripting, but what service or what do they use for slowing the “time”? I am thinking that they are using BodyForces, even if I do not know how does scripts control them. Can anyone help me?
I am not asking for full scripts or “Spoon-Feeding”.
Slow motion is something you would have to code. There is no easy way to “slow down” a game, and coding something in slow motion would require a good amount of code. And what exactly are you trying to code in slow motion?
If you are coding characters, I would suggest slowing down walk speed and slowing down animations. Also reducing things like the pitch on the sounds would create a feeling of slow motion for the player, however there is so many things you need to “slow down” and therefore slow motion is very hard to make work.
You’ll need to do a lot, you’ll have to modify Gravity, adjust animation speeds, change the walk speeds of characters. I think that should make the bulk of the effect.
Honestly this effect isn’t that hard compared to other Time Manipulation effects.
I have seen two games that contains this type of effect. I seen someone build a game taht the player would see what is coming next. Like, future telling. I don’t really know how he did that, but I like it. It is similar to this.
Hmm, Roblox doesn’t have any functions, events, or services to do this. You’d have to script it yourself. Which, is not an easy task to do. If you had a part that gets tweened back and forth continually, you could use UserInputService to detect a key press, and slow the time it takes to tween the part. But, if you wanted to make it slow down all processes in the game, that would be hard. it really depends on what exactly you’re trying to slow down. Read @codedcosmetics’s response for some examples of things you could change to give the “illusion” of slow motion.
Manipulating gravity would be the bulk of the effect, slowing down tweens as far as I know, is not gonna be possible from one script, you’d have to use some kind of Bindable and tell the other script to slow things down which would be really inefficient.
Sorry to bump this post but I have something to add here, I have made a useful framework for this kind of thing, it doesn’t feature Tween support although it has a few things you may find useful for your use case. Time Scale Framework