Major Optimisation Needs (+ Help)

  1. What do you want to achieve?
    I am looking for ways to optimise a game with over 500,000 parts, to make it not so laggy and actually playable.

  2. What is the issue?
    The game is very laggy for most and some are no longer able to play it because of device specific issues or experience extreme lag.

  3. What solutions have you thought of so far?
    I have made a lag reduction system. The only two options on it is:
    Remove Scenery/Decoration
    → Removes around 300 models/parts of decoration which does not change the experience or feel of the game.
    Remove Materials
    → Changes all Materials on every part to plastic in an optimised method, completing 1,000 parts every 10th of a second.

After other updates have arrived, this system has started to “degrade” and is not becoming effective enough to keep players playing.

At this moment, we want all (if not very much most) players to be able to join our game and play without intense lag/game-impacting lag so we can grow our building and grow our group without these obstacles.

Game: The AppIegate Centre - Roblox

All help and ideas are very much appreciated!

I have two suggestions:

  1. Use less parts. 500,000 parts is a LOT! Do you really need that much? Look for places where you can use fewer parts and achieve somewhat of the same look. You can also give less detail to far away parts that the player can’t access.

  2. Use Content Streaming. If the map is really big, then streaming would definitely help. It makes it so parts only load when the player goes near them.

4 Likes

Thanks for the ideas, we will trial these in the next update. (More ideas welcome!)

(Anyone can also join the game that is linked in the main topic post to get a feel of the game and details)

1 Like

For me it only lagged a LOT (For quite a long time as well) when I joined which made me wanna quit, but after waiting for it to load it ran fine and I was able to walk around without throwing up. Adding a loading screen would help keep some users from quitting immediately, might just be me though.

I had a major problem with loading screens before, because it had to load so many things, it took way longer. I could estimate it taking up to like 10-30 minutes to get past. I need ideas on how I can combat this. If anyone could answer the question Does PreloadAsync yield for itself? then I could use that to make a loading screen.

Instead of overusing parts for simple objects or models that you’re reusing through out the game, You could use low poly meshes instead. There’s a game called lag game which just duplicates parts and counts them. Most people lag alot around 500,000. Would make sense why. When i mean replacing models, i mean like trees that your’e using over again or street lights or flowers, just make it into a mesh part and duplicate that (This means for 10 parts, you could just replace for 1 mesh part).
Why low poly meshes
It makes it easier to load as there only has to be less poly to load in anyways.