Game too big to load - what to do?

Hello, I’ve been working on an island for my game for 2 weeks, but after adding it, the game fails to load. I’ve done something which could be considered a “solution” - the new island is copied from ServerStorage to Workspace around a minute after the server starts, which makes it possible to join but only for the first player (the game runs smoothly for him, there are only lag spikes when the island is being copied to Workspace, but eventually becomes smooth again). If someone tries to join to an existing server, where the island is already in Workspace, he (the person who is trying to join) always gets kicked by the server, even though his machine has enough power to handle the game.

I could think of two actual solutions:

  • make the island load locally for each person a minute after joining (computers may have huge lag spikes while loading the island)
  • reduce the part count or delete the island (sounds terrible)
  • split the game into 2 places, united in a universe (this one may be hard, since in my game players transport cargo between islands, which would be in different places).

The game file has 21.6 MB, there are over 34,000 parts, including the island I mentioned. Could it be too much for Roblox? I should mention that the island I’m talking about consists of around 7-8k parts, but a lot of them are fairly big triangles (up to two thousand studs long and wide, but flat). The entire island is ~20000 studs long.


What should I do? I spent 2 weeks building that island, which is supposed to be the most important part of the update I’m preparing.

Edit: Here I described what exactly happens when I try to load the game:

6 Likes

Have you tried turning on StreamingEnabled? I know that might not be ideal, but it might help.


I don’t think that 34k parts should be causing players not to be able to join though. Seems like another issue is going on.

2 Likes

Tried, changed nothing. It’s not the RAM which is lacking, my computer (and the computer of my friend who also tested the game) can handle the entire game even with the new island. In studio it always works perfectly, so I assume that something wrong happens when people try to join (the game window is expected to freeze for a few seconds, but then should be playable instead of kicking the player out after the game is loaded).

Because a message shown after being kicked looks like this…


… I think this bug could be related…

…but this time, it happens every time a person joins because of the size of the place.

2 Likes

Have you tried disabling all of your game’s scripts to see if they are causing the issue? If you want to determine whether or not the size of the game is the problem you need to be sure that nothing else is interfering. I’ve had experiences before where scripts caused problems like these.

With StreamingEnabled you should be able to load a game with that many parts instantly. You’d literally load the client and drop right in, because there is so little to load at first. As such, I don’t think it is the size of the map that is causing this.

1 Like

I think it’s a result of the size because it started to work normally again after I removed the island, which didn’t contain any new scripts (it contained a couple duplicates which would be in the game anyway because they are also on different islands). I’ll try your idea though.

My game generates 40k parts on server start. Works fine without lag. Even for mobile.
Streaming enabled is off

Do you think that size of the parts matters? There are many huge triangles in my game which are used as land.

I dont think, mines creates a maze. The walls are massive.

It might be unions/ meshes if you have them

1 Like

Removing all of the scripts didn’t change anything. I’ll try removing CSG parts from the island, I’ve heard they might use a lot of data.

Edit: Is it even possible for CSG parts to create connection problems so serious? I don’t see why they would cause them.

1 Like

CSG takes time to load.
So maybe if you have A LOT of them, it can cause this

1 Like

If it’s an issue on your side, try to aim on objects which are highly detailed by using mesh instead. Performance can be better if used correctly

1 Like

I know this might sound weird but if your game is in FE you could copy that island with local script for each player after they join. Since it will be inserted with localscript it won’t be existing for other players . This probably is not the best solution but it might work.

After a careful consideration, I’ll go for the option with turning the place into a universe. It will open a lot of new opportunities.

1 Like

Custom culling?

I know some games that use StreamingEnabled. The downside is because of the render distance when it’s on, if you want good looks for your game, you have to set the FogEnd to a value that hides the ‘missing’ draw distance.

I think why it’s taking so long to load is because there are so many parts stuffed in one service: Workspace.

I meant like, have the entire world or a small part of the world available. Once that loads you can properly load in the map based off the fps and computer performance.

Perhaps using CSG parts could cause it? I use a lot of them, and because of that my game has over 21 MB.

That is more than likely the problem. Try using meshes instead of CSG.

I remember a while ago, I created a very large map that would take a long while to even load into the game (The game used Streaming Enabled) - however, once the server loaded up, and a player was in the game, any other players who tried to connect would almost instantly be able to connect.

My understanding is that the server will take a long time just to load up the map, however once the map has actually been loaded, and provided the game is using Streaming Enabled, any players connecting later on will not have to load the entire map, making their load-time almost non existent.

Another time when I made a very large map, the game would still take a very long time to load, but i would eventually get timed out because it had not loaded in time.