How do I go about assuring there's no lag for this map?

So I’ve begun working on a new game similar to my old one. It will maintain “roleplay” aspects in the sense that you can rob banks, work for money, become a government employee, and so on.

However - I wanted to make this all become more realistic by transforming my original game from a small city game, to a county game. Where there will be approximately 2-3 towns and 1-2 cities located around the map. Making driving the primary source of transport.

My one concern as I’m developing this is that some of my buildings do include a decent chunk of parts between unioning, painting, interior design, etc.

As seen here:

However this is the size of my entire map so far:

So to sum it up - my question is, if I have these towns spaced out enough, will that insure no lag for players? If not, what can I do to reduce lag besides streaming enabled? I implemented streaming enabled in my previous game and I wasn’t such a big fan seeing it slightly affected teleporting.

Thank you ahead of time for anybody that can help me with this.

1 Like

Just an idea, you could make the different cities into separate places (in like the Universes feature) so that one place isn’t too filled with loads of models and things, and gameplay stays smooth

You should make the terrain more hilly because it looks a bit to flat and also and some trees it looks great though good job!

Terrain will be editted as soon as I finish buildings all the buildings/roads I plan to add into it!

And @dameii the only problem with that is that I’d like for my users to actually drive to places and have it be realistic in that sense.

I do see some inefficienties that can be improved upon.

For the roads and trees that you will probably add afterwards i’d suggest using meshes, this way you can take advantage of mesh instancing as you’ll be using these throughout the entire map. If you don’t know, mesh instancing is an efficient way of rendering complex objects that would otherwise have to be made through the use of multiple parts. All meshes with the same ID should be instanced and will be rendered in a single draw call.

As far as i can see you’re using parts for the line dividers on the road, if your road was made up out of multiple meshes you could also add a texture that would take care of this as well, two birds with one stone.

Indoors it looks like you divided your wall in two parts to take care of the texture/color inside each room, i suggest keeping it one part and apply a decal.

Paint01

This is a [255, 255, 255] image, upload it to Roblox and apply it on the inside of the wall. You can change the color by adjusting the color3 value inside the properties tab.

If you want to go all out you can create a seamless wallpaper texture and apply it on the Texture object. If done right it should look like this:

(Seamless texture)

(Final result)

On the topic of unions, i’d refrain from using them excessively as they still tend to solve complex objects rather poorly in certain situations. Roblox handles part rendering fairly well so use Part, WedgePart and CornerWedgePart as much as possible, otherwise i highly recommend using meshes as a replacement for complex unions.

NOTE: If you plan on adding destructibility of objects in the future you do have to use unions as they offer you real time CSG manipulation. This will have a big impact on performance so it’s not recommended.

For rendering details like indoor furniture a custom rendering system is also recommended, one that will only render furniture when you are within a set radius from a building, 150 studs for example as you won’t be seeing these details from afar anyway.

In a large open world like this i also recommend keeping everything relatively low-poly.

Good luck,

Razinox

1 Like