Improving large terrain loading

The server loads terrain right away regardless of streaming enabled due to the fact that it needs to know what the terrain is to figure out how to stream it.

Clients using streaming already get smaller chunks of the terrain over time.

Clients not using streaming will load the terrain whole as the loading screen loads, but using a slightly different process from how terrain load works.

2 Likes

This is great to hear. I’ve always felt a bit limited in creating larger games / maps.

My largest complaint is the current terrain tools. They are difficult to use on a large scale. I’ve had to create my own terrain tools (and even my own terrain generator) due to the constraints. Hopefully your team will tackle these issues and similar to help achieve your goal. Can’t wait to see what you do!

7 Likes

Gotcha, I mistook loading to the client for loading on the server in this case. Thanks for the explanation.

1 Like

This update has brought so much more creative power to world and scene developers, the plethora of ways we can make our games more wholesome now is truly unimaginable. I’m so glad to witness the infancy of smooth terrain grow well into adulthood.

Thanks once again!

2 Likes

Hmmm. Faster loading times with terrain. Will have to check this out!

(Will update post later with results)

1 Like

Yes I got the newest update. Studios prints out 63451812 when using that command. Though we also have a issue since we built vertically vs horizontally which I know a 2048,2048,1 size brick going vertical converted to terrain uses 20mbs of terrain while a horizontal version of that brick only uses 3mbs of terrain so I think that is half the issue since the optimization system doesn’t seem to work for vertical terrain.A post about that issue can be seen here. Can terrain optimizations be improved?

1 Like

Would love love love water as a material. I really depend upon this as a mechanic, but Roblox as a part material would let me use smooth terrain.

Please please please.

20 Likes

Would this also entail improvements to float inaccuracies when a map exceeds a certain size?

1 Like

I’m happy to hear there’s an initiative towards large scale games.

I’ve been working on a game that utilities absolutely gigantic terrain maps (talking in the range of 4,000,000 x 4,000,000 voxels squared).

I’m curious as to whether you guys are taking any feedback from developers regarding the limitations or issues we’re facing right now. I have a lot of input to give.

4 Likes

This is a great improvement, using streamingenabled made me and my friend’s game not work at times and since the players have their position saved when they join they end up falling off map due to the map loading slowly.

Anyways thanks for working on Roblox Terrain again!

1 Like

Thank you! I always use terrain in my works. :smile:

2 Likes

YES, I can now use my HUGE Island map! It used to take about 5 seconds to load, can’t wait to see how it loads now!

2 Likes

That’s good news! I’ve always wanted to make a Realistic OpenWorld Game which takes hours upon hours to explore Without relying on separate places. It ruins the Openworld feel. Good to know i might be able to make such a thing in the future. I can’t wait to hear more about it :smiley:

2 Likes

Im a bit confused, so the level loads the whole thing, or just makes the Smooth Terrain load faster?
Because in our projects we dont use Smooth Terrain and instead we use some kind of sandbox maps with triangle parts.

1 Like

If you do not use SmoothTerrain you will not be affected in any way.

If you use tall, already slim terrain, this optimization won’t help. The way it works is that it prevents unnecessary loading of an 8x8x8 cube of terrain if that cube is surrounded by other terrain that is of the same consistency (aka, there is no surface).

If your terrain is very porous, you may gain no benefit.

1 Like

Would you guys be able to take a look at voxels then to fix the issues regarding vertical terrain using 20mbs while horizontal terrain uses 3mbs? Also I just tested another map that uses terrain and the load times were a bit better. Was using terrain horizontally.

1 Like

The issue is that Terrain is specifically optimized to be compressed horizontally. We can see if there is a better way to optimize it more generically, but the difficult part is that majority of terrain use cases for Terrain are generally on a Horizontal plane, not a vertical one.

1 Like

Alright, thank you for your time and efforts. I do hope that there is something that can be done about that as it seriously hinders us for quiet a few maps that we want to work on using terrain.

1 Like

Very good to see that there are terrain optimisations :smiley:
My game is very flat and spread out so this update encourages me to expand the map even more, before this update I was scared to build huge maps with terrain in case of lag, for some reason I used to think that Roblox terrain loads the same as 2013…

7 Likes

I think I may still be exceeding some upper threshold here, I attempted to fill in my map with about 5/6ths of a 56k x 56k square 100 studs thick and this was the result:

:sweat_smile:

EDIT:
I was able to get the number of voxels down to ~283 million as opposed to several billion in the screenshot above by slimming down the footprint and making the terrain slice thinner, but it still took 12-20+ attempts to start a server as opposed to no terrain taking 7 attempts (Bear in mind it takes longer after each failed attempt before another one is made). I’m a little disappointed that this update didn’t seem to fix that.
@Khanovich Is there any way to improve this? I have these changes uploaded here: