New Physics Stepping Method: Adaptive Timestepping

Nice nice I like the idea of having dynamically changing frequency based on client engine performance, adds more capability to the overall design of the game without having to worry about lower-end devices.

image

YES! FASTER SIMULATION FOR LOW INTENSITY. :grinning_face_with_smiling_eyes:

Is this change in relation to the new RunService event additions?
RunService.PostSimulation(double deltaTime)
RunService.PreAnimation(double deltaTime)
RunService.PreRender(double deltaTime)
RunService.PreSimulation(double deltaTime)

5 Likes

Was the beta feature disabled because I can no longer find it in studio?

1 Like

Seems like they turned the corresponding FFlag off, so yes, it seems to have been temporarily disabled. :confused:

1 Like

Yea I just saw that on the FFlag watcher. Hope it comes back soon

Thanks for everyone who were able to give us feedback! We decided to disable the beta feature until we rule out the reported bugs. Stay tuned!

6 Likes

Will it be able to prevent this?

My thing glitches into the ground when it’s not supposed to.

1 Like

It looks like this feature was disabled for now, so my Terrain-based physics bugs (the “phantom voxels” bug) is no longer manifesting. Thank you!!

Hopefully this issue (and a few other defects attributed to it in this thread) can be addressed before it is re-released. I look forward to getting these addressed so that we can use the Adaptive Timestepping improvements!

As a reminder, I have a read accessible demo Place in my post above which provides a Repro for this defect. It recreates the errors to show both parts and characters left floating in the air after terrain is removed. It also demonstrates missing terrain acting as obstacles in horizontal movement too (not just falling). My demo also includes a simple GUI to turn on/off different potential work arounds for the defects.

Update: After some multi-platform testing, it seems these phantom voxels were only happening on Macs or in games where there was a Mac present. I tested iPhone, XBOX, and PC and did not see the issues unless there was a Mac connected too. Maybe this has something to do with network ownership for physics… In any case, the problem is currently resolved since the feature is disabled.

1 Like

So, as of today, the defect has returned in the Player and is manifesting publicly. I assume Adaptive Physics Stepping has been re-enabled. The phantom terrain voxels are back and wreaking havoc with my games. It is also causing strange things in a few games I play. Curiously, it is not happening in Studio as of now-- I assume the relevant flag is disabled in Studio but enabled in the Player, or that there is code divergence based on commits here.

  1. I recommend this feature be turned off because it was not fixed yet.
  2. If it remains, perhaps Terrain manipulation should just be deprecated (most games use Parts anyway).

For example, if you use a rocket launcher to make an Explosion with Craters enabled, this will often remove some terrain voxels. But, on the Roblox Mac Desktop Client, this will lead to the player floating mid-air if they jump into the crater.

I reproduced this in 1 minute using the Team FFA/Arena Starter Place. (I simply had to edit the Rocket Launcher to enable Craters, and voila – I had phantom voxels).

I’ll file an official bug report now I guess…

Hey ScottSpiritWalker,

Thanks for the response and feedback. This defect went away a few weeks ago, but I noticed it had resurfaced today on the Mac Player client. The weirdness in removing Terrain continues for Mac users after a brief hiatus. Previously it affected the Player and Studio on the Mac, but currently it only impacts the Player now.

I viewed the video link you shared, and indeed it shows normal handling for physics when Terrain is removed. Thanks for sharing that.

I then played your Growing Up game and made it to the Dream task where you have the laser gun to remove Terrain. On my Mac, I observed the same physics defects that I described earlier, with floating in the air above removed Terrain. In your case, I believe you are using Explosions with Craters to remove terrain.

So this defect is affecting your game – I captured a video and uploaded it here:

I have not tested recently on iPhone, XBOX, or PC to see if this occurs, so it could be happening there too. If it is Mac only, I am not sure about the % of Users who have Macs.

By the way, I like your game – it’s fairly broad in capability and pretty cool! I mean Pets, NPCs, Tips, Quests, Vehicles, Dancing, etc. Cool stuff!

Hello! I’d like to activate this beta for my place.

Place Id: 6004108409

Direct Place URL: nul - Roblox

Any update on this or any way to have some studio client to test this? Definitely want to see its effects on my physics-intensive game.

Hello! I’d like to activate this beta for my place.

Place Id: 6539392935

Direct Place URL: Wall Walker - Roblox

Hey uh, I already think this is enabled if YOU READ

Adaptive Timestepping Beta was closed due to some bug fixing.
After some work, we have re-enabled the feature in studio.
Please let us know about any potential bugs / performance issues!

1 Like

Whatever update was made recently had immidiately crash the studio client whenever the method is “Adaptive” in runtime

Hey @Hajimalago, I’m having issues with what seems to be this feature, as whenever I enable this feature, I keep getting very weird humanoid behavior like so:
https://cdn.discordapp.com/attachments/741500839666909214/874019217349935244/N7Dp5wlZ5V.mp4

I have not been able to reproduce this issue when setting the stepping method to fixed, but even then it’s somewhat hard to reproduce with Adaptive - I have been unable to create a smaller repro file for this no matter how I’d try, and so I hope it would be fine for me to send you my game’s file in private? Many thanks beforehand.

To clarify - I only test this all in Studio as I only push big updates for our testers, so please let me know if I need to push this for you to test. This is the place link: Gods' Domain - Roblox

3 Likes

@Hajimalago The pets in all of my games use BodyGyro and BodyPosition. When Adaptive is enabled they seem to go out of control. I currently update the body movers every 1/20th of a second or so depending on the users device capabilities.

The first half of the video is using Adaptive and the second half shows them going back to normal when I re-enable Default (Fixed)

I was hoping to use Adaptive to reduce physics lag created through too many moving parts in a tycoon however it breaks my pet movement code completely :frowning:

2 Likes

It seems like an assembly like this should be classified as “unsafe” to run at lower frequencies, but it’s clearly not being classified that way

6 Likes

there is some wierd behaviour with client network-owned physics objects in water, and “adaptive physicsstepping”, making it difficult to swim, no matter the density setting.

Fixed:
fixed.wmv (1.4 MB)

Adaptive:
adaptive.wmv (1.7 MB)

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.