Pausing Physics in Studio [Beta]

Are there plans to allow developers to slow down, or reverse physics to allow for slow motion, and replays?

11 Likes

Thats not what i mean, i mean like you pause the game like, in the middle of the game by scripts.

10 Likes

I dont think its possible to reverse physics, but slowing them down would be pretty good

12 Likes

We’re working on releasing this Pause Physics functionality as a Lua API so that you can pause in the middle of the game by scripts - does that answer your question?

24 Likes

yeah, thanks anyway, i appreciate your response

10 Likes

So what I’d love to be able to do is have some time scale propety like workspace.TimeScale.
A property that can be set both on client and server but is not replicated by default.

A time scale of 1 would be the normal speed at which physics are simulated.

But setting the time scale to 0.5 for instance would simulate physics at half-speed.
It would also affect currently active animation tracks on characters but not scripts.

There’s a few reasons I absolutely NEED this property.

I have a few projects (some multiplayer, some where you can play solo) where I want to implement things like time-stop or slowing down time when a boss is defeated so you can watch an explosion in slow-motion with debris flying around.

Time-stop can be used to make things like critical hits from weapons feel VERY powerful by pausing all physics, animation tracks and particle effects for a split second.

And being able to slow down time to say… x0.1 would be super cool for cut scenes, exploding buildings, etc.

Having ragdoll physics in slow motion or being able to create a game like Superhot on Roblox where time only moves when the player moves would also be absolutely amazing.

There’s so many ideas that I have in mind that all involve manipulating time and physics stepping speed.
Being able to speed up everything can also have it’s own usecases, such as making a fast-paced game more difficult without having to write a ton of code to adjust the movement speed and gravity of all characters in a game.

Edit: also would like to mention that almost every game engine has some kind of time scale or global simulation speed property or something similar to it.

46 Likes

this^^^^

this is exactly the idea i also had, it would be insanely helpful to be able to manipulate time like this

12 Likes

Seems useful, for sure will use in order to figure out issues with physics.

9 Likes

interested to see how adjusting timestepping would work with network ownership and all that; it seems like there’d be issues with latency and desyncs and stuff like that

9 Likes

We’ll follow up on the slow motion capabilities - it’s great to see there’s a lot of desire for it!

33 Likes

now let us toggle physics replication per client :fire: :fire: :fire:

15 Likes

love how we can stop time now :blush: thank you!

10 Likes

Now let us: :fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire:

  • Control physics and property replication
  • Physical API control and insight
11 Likes

Best Update ever! Now we have to work hard on our game to make it awesome! right guys?

10 Likes

I would like to see a “fast-forward” feature to the physics engine to enable simulations to run faster than real-time, skipping rendering all together. This feature would allow developers to adjust simulation speed up to 10x or more, read and record physics properties of parts at every step, and dynamically apply force changes. Such enhancements would significantly accelerate the training of neural networks by reducing the time required for iterative testing and development.

10 Likes

This could be the time where you could make it so we can do this with scripts

7 Likes

We want slo-mo but how do you think it should be implemented?

  • Add extra delay between physics steps so that the result is always the same whether ran slo-mo or normal speed.
  • Decrease the distance objects are moved each step so that when ran at very low speed the simulation doesn’t look choppy.
  • Add a option in studio to decide what method to use.

0 voters

EDIT: Another user pointed out that the 2nd option doesn’t account for the acceleration of objects per simulation step.

9 Likes

Wow! I’ve been wondering when something like this would happen, if it even would. Glad to know that just days after it would become a thing. Can’t wait to try this out, great job!

9 Likes

This is an awesome feature! Using it will be able to enhance our Roblox Studio experience and help us efficiently build something like ruins for a building.

7 Likes

Thus instead of mainly using, print(“Bug Found”) or warn(“”) to find bugs. You can just look at the script.

Does this mean, I can pause everything, then edit a number in a script, unpause everything, it will continue with the change?

7 Likes