Terrain Initialization is still having huge issues

Sometime before October 25th there was a change to terrain replication/initialization that has noticeably caused huge issues for our game where the entire game completely freezes for a short duration until Terrain has been fully loaded.

This was the post:

After a month or so, it appears that this must have been 2 separate issues because we are still experiencing this issue in our game to this day. We are still getting many reports from many users about this issue and we have no way of solving it. For some users with weaker devices, this can even crash the game entirely or take an excessively long time.

Video showcasing the issue: (resolution crunched due to size restriction)

I’ve done testing and removing all terrain completely fixes the issue, so for sure this is related to the terrain.

I’ve also tried reverting the game to older versions months and months before the issue started showing up and the issue is still presenting itself when running, so there has to have been a change in the engine that is specifically causing terrain to initialize like this.

During the state where the entire game is about to freeze for all the terrain to be loaded in, you are unable to use the roblox menu and console. The only source of information I can get is from the microprofiler, but it doesn’t show much, and dumping the results only seems to yield results after the big lag spike.
microprofile-20241123-182956.html (5.9 MB)

This issue might be related to the fact that we are not using streaming enabled. Thought I should mention that.
Edit: the creator of TWW mentioned their game has no streaming enabled and they also have very large terrain, and yet they don’t seem to have as bad initialization as us, so I’m not too sure why exactly this is happening anymore.

Link to game:

1 Like

Thank you for your report!

I want to let you know that we’ve added this issue to our system and are currently investigating it to assess its severity. Unfortunately, I cannot provide a timeline for when it will be resolved at this moment.

1 Like

I just want to update that this is still a huge issue for our game.
Seems that sometimes it appears and disappears, but a couple days ago it has returned in full force.

log:
microprofile-20250314-160438.html (4.9 MB)

This is continuing to be a constant problem in The Survival Game, I have tried reverting to old saves as well but eventually this problem seems to happen if servers are left up long enough.

We recently added a new biome which added a lot more terrain to the game. Now this problem is happening way more often and is causing CCU to tank as a result of people having 10 minute wait times to get into the game.

Please look into this ASAP

First thing to ask if enabling streaming helps: Instance streaming | Documentation - Roblox Creator Hub

Turning on streaming enabled did solve the problem, but it’s very frustrating that an engine change seemingly degraded our non-streaming enabled version that we simply had no choice but to work with streaming enabled.

Hi @aaron_mccoy , I’m curious to understand what other solution could there be?
The way I see it is that, without streaming, the client needs to download the entire placefile every time it joins. So if additional data (like terrain) is added to the placefile, even if somewhere in the distance, the join times will be longer.
This is the reason why ideally everything would be streaming in the future. But perhaps I’m not seeing some detail here…

I’m quite curious why server uptime would affect load times for new players joining. Does your experience generate or add more terrain as-needed as the game progresses? Making players joining later sync a larger and larger amount of terrain upon joining?

There may have been an engine-related change that affected load times, though I did ping some folks working on terrain and they don’t recall anything specific around October. It might still be worth some debugging on my end if I can learn some more context on how your game works currently (without streaming enabled).

Either way, streaming is definitely a must-have for this kind of experience.

You are correct that streaming enabled is way better for terrain altogether the way terrain is currently set, it was just a big burden of time/effort having to convert our current game to accommodate this change.

And it was rather frustrating that it was kind of forced upon us because for some reason terrain initialization in non-streaming enabled was taking longer than usual. Just to double check, we did test this on very old versions of the terrain using place history and the issue was still persisting even though it didn’t used to be that way, so there must have been a change in the engine in how it handles terrain around back of October 2024

I guess since we have swapped to streaming now, it’s no longer as pressing to wait for a fix since we aren’t gonna swap back.

I’m honestly not too sure what to tell you other than just give you an old copy of the game while streaming was disabled. I’m not 100% sure if I’m recalling correctly anymore, but I think the issue can arise entirely scriptless as well.

At this point the only thing I could think of would be to start modifying the workspace settings or just flat out delete certain chunks of terrain to see if there was some bad data still hanging around that maybe used to be ignored but now is causing loading issues?

also to add: the game does have a small mechanic in which you can change some materials of the terrain in certain locations, but the loading issues still persisted even without the mechanic present, it was pretty much just the starting snapshot of the terrain that still had issues

Was there any difference in player behavior around that time that comes to mind? For example, if a few players join/leave a bit rapidly the server will try sending large amounts of information all at once. I’m not yet super familiar with the networking model under the hood on our end, but it’s possible under heavier load certain players may have just been accidentally starved out.

If you’re interested in sending me your placefile via DM please do so. I have some spare time at the moment to do some debugging and testing on my end if you’re interested.

Either way, I’m really glad you’ve been able to unblock things, and am sorry for the frustrating change in load time behavior. Thanks for handling it all gracefully.

I’m going to marked this as fixed just to get the issue closed out on our end, but feel free to continue talking with me or make a new report if you need to.