Opportunistic streaming sometimes not loading regions in

Reproduction Steps

Around this winter I noticed that my game started experiencing issues with streaming not loading in some random regions more often than it did before (possibly when roblox released PauseOutsideLoadedArea)

Here is the first time when this happened, it was a long time ago: Streaming enabled not streaming in certain areas of parts and terrain on certain devices - #25 by OneSkyVed

The game where this happens: OneSkyVed's Trolleybuses Place (indev) - Roblox

In order to reproduce the issue you have to play the game for some time

This issue happens with both MinimumRadiusPause and PauseOutsideLoadedArea, but it seems to be more common with PauseOutsideLoadedArea

Strangely enough, it seems that in addition to this issue, streaming became a lot slower (and MinimumRadiusPause made the game close to unplayable because it started showing paused screen a lot more often)

Additional note: It’s possible that this issue is directly related to an issue that my game still has for almost a year: Stream Out Behavior: New Property for Streaming Enabled - #133 by OneSkyVed
This issue linked here always caused a lot of trouble for my game, and considering how strange it is, it won’t be a surprise if it is causing issue with regions not loading in correctly too

My game is pretty complicated from physics standpoint, and due to how badly it pushes roblox physics limits, it tends to experience such issues with roblox physics engine

Expected Behavior

The game to load regions in properly:



(These are screenshots of same spots as in β€œwhat actually happens”)

Actual Behavior

Sometimes some random regions fail to load in properly



I noticed that sometimes if you wait for long enough (15 seconds - around 3 minutes), the region that failed to load actually does load in, but I’m not sure if it happens 100% of the time

Workaround

Not use streaming, which is not a viable option for my game

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Often

6 Likes

Do you know if the problem still occurs if you don’t use either MinimumRadiusPause or PauseOutsideLoadedArea?

Does this happen more frequently on some platforms?

Do you have any suggestions on how to repro the problem? When you say you have to play for some time how long are you talking about?

I’m curious if you are able to bring up the Shift-F3 menu when this happens what numbers are being shown for the ping here:
image

  1. The only way to test this out is to change it in live game and then wait for several days for people reporting things (btw this is why original issues I reported with streaming breaking vehicles was basically impossible to debug in any way), BUT the issue is that game scripting is not made to account for not having any ground under player at all

  2. My game mainly has PC playerbase, including me personally when I encountered the issue

  3. My game has pretty long routes (takes around 20 minutes for a single loop). I noticed that sometimes the issue appears when driving second loop (yes, notice that it means first time the region loaded correctly, but second time it failed to load). I will try recklessly flying around the map using admin script a bit later, and will check if I can cause loading issues to happen manually by that

  4. I will also keep this in mind, and will check it when I will do my own experiments. I should mention that yes, my game by default has pretty high ping (100-400 based on how full the server is), and its possible that this issue does rely on the ping, but thats only a guess

I will reply again with additional details for 3 and 4 after I will experiment around in the game

I did some experiments, but all servers I was in werent laggy (their ping is around 200 with 15 players), so flying around with admin, and driving around in a vehicle didnt cause this issues to appear (I also wasnt driving for long enough). I asked people who play my game to screenshot Shift + F3 ping if they encounter a region that didnt load properly, so its possible after some days I will get some information. In addition to that I will also ask people how laggy overall server was, as some servers are lagfests with ping spikes but where most of the time ping tries to be stable

Only thing I noticed is that sometimes terrain doesnt load in a bit β€œtoo close”, which has similar looking effect to what is reported here, but it correctly fully loads in when I approach that spot, so that information might be completely pointless, BUT it had very similar effect that if I stand nearby to not force it to load in, it does load after around 15-60 seconds, same as how these broken not loaded in regions behave

However that does not explain how does MinimumRadiusPause also have such issue with regions not loading in, but its harder to encounter, and as i remember it might not load in at all unrelated to how long will you wait

Yet again I want to note that everything I say here is basically me just guessing, as its impossible to properly debug streaming related issues

There is some additional debug visualization that can be reached if you do:
Shift-F3, then Shift-1 a few times (4 I believe). If you can capture a screenshot showing those details that would be more useful than just the ping. It should look something like this:

2 Likes

Are all the buses user driven only? You don’t have any self driving buses that I could just jump into to ride around the map a few times, right?

This is very interesting, will try do use this thing later

Sorry, but any debugging becomes harder due to nature of the game being a pretty detailed simulation of a trolleybus that takes several hours just to get used to it. There is nothing I can do about that part as that is the core goal of the game to be hard. You might be able to sit as a passenger in someones vehicle, but this is a bad idea by default as yet again due to the nature of this game, most people cant drive good/fast enough.

The only option for you is if you have some sort of built in thing from roblox that allows you to give yourself fly. And even in that case Im not sure how long you have to spend searching for β€œthat very laggy server” and then flying around a lot of times until something happens (if it ever will)

So only reasonable way to somehow find the cause is to instruct actual people who play the game what to do in case if replication breaks, which is exactly what I will try to do

I want to separately thank you for telling me about those hidden debug tools, as I personally also will try to drive around in the game after I will wake up, in an attempt to catch the issue

I managed to catch the issue by myself, but I was not fast enough to screenshot it, so the region managed to load in, but exactly next to it there is still a region that is broken, here is how it looks:
yet again I will mention, I was too late so I did not catch part of road/wiring not loading in


Notice how on the map to the left of red dot is a region that is completely empty (on debug map). In case of screenshot there is nothing there (that region is located to the left of my character, and it has no buildings or anything, so its not visible that its unloaded), so you can only see it based on debug information, but before part of the road/wires loaded in, region with road/wires looked exactly the same, it was just showing up as empty on minimap, and was not loaded in

Interesting thing is when I move into that region, it does load in and a green empty square appears on the map thing

Obviously I will try to catch the issue directly (or someone from game community will manage to do it), but maybe what I discovered here might be helpful, even if indirect

I noticed that this debug map puts no squares over parts of the game where there is nothing, and also tries to β€œload” them in when I fly over them, so it seems that for any reason sometimes game considers non empty regions as empty, so it does not load them even if it should

Yet another note: based on location of screenshots where players report experiencing the issue, I can certainly notice there is one spot in the game that has a lot of reports (actually 2 screenshots in first post here are taken at that place). Im not sure if this means anything, but this spot is located nearby a spawn point, so its possible that because of that the issue occurs at approximately same place for different people (but its not 100% of the time)

1 Like

Here is a screenshot from one of the players. The person who reported this says that it never loaded and remained like that (even if minimap thing shows it as loading?)

Here is a video of that situation on the screenshot: It's a FEATURE! - YouTube

Another screenshot from another user:

Interesting how it seems like there are 3 patterns of how this issue occurs:

  • not showing region as existing but then suddenly loading it (the way how it is on my own report). it also seems like this type is the only type where region does load if you wait for some time
  • failing to load only one region (yellow outline at one chunk)
  • failing to load regions in a line

Here is yet another screenshot of the issue from someone:

The person told me that second screenshot was made after waiting for some time


Sorry for spamming this report by separate posts, as obviously people send me stuff over long period of time, meaning I cant create a single post with all of the images

Do you have any more suggestions on what is need to reproduce the issue? Does it only happen after the server has been running for a very long period of time?

Are you able to share a repro place privately?

Hi, I do not know if this issue is related to server runtime in any way (same applies to client). In theory it might be related to people driving around on vehicles instead of walking, but the entire game is based around driving, so the chances to find this issue when walking around are small because nobody walks around in the game. Another theory is that its possible that moving rapidly around can be the cause of this, as I remember streaming tries to load region in as fast as it can if you approach too closely, which might be the reason why yellow unloaded regions on screenshots are in some sort of line

Thinking more about this, is it possible that roblox considers yellow regions as being β€œnot important”/far away, so it gives them some sort of very low loading priority, meaning the game will only load these regions after it loaded everything else? as on the screenshots it seems that if people wait for long enough, entire unloaded row of regions except one get loaded in properly. But then the question is, why does that one single region still not load in?

IMO overall the fact that regions fail to load in an entire row might give you an idea of what can actually break, as that looks a lot less random than everything else about this issue

I’ve made a settings change for your place id to see if it has any impact on this issue. I’m not optimistic that it will fix it, but please let me know if the problems keep occurring over the next few days.

Do you allow your players to CFrame around the map at all, after the initial spawn? Or is walking/driving the only way?

I notified my game’s community about this. Will provide you with results after several days

About your question, it depends on what do you mean

  • When player gets spawned, I set players CFrame from the server to a spawn location after calling :LoadCharacter, which can cover big distance
  • After player has spawned, they can teleport by a short distance to enter/leave the interiors of buildings. This is done from a localscript and covers pretty short distance
  • Players do not have an ability to teleport around the map for big distances

If you need it I can make a special tool just for you so you can teleport around the map (also different and a bit more complicated option, but i can give you a rank in my group that gives you access to a car, which is a lot simpler to drive than trolleybuses, you can see that car being used on one of the screenshots I provided above)