You made a great game, your game is a super cool RPG, that anybody would play. It's launching date it's so famous that roblox's downloads are now one million higher. Not even Adopt me visits 10 times can be compared to your game's fame. There is only one problem:
Your game uses too many resources and became super laggy.
You know that you cannot delete part of the game as it would alter the gameplay a lot. Luckly I've got the solution: Optimization
Game optimization, is a process where you take every resource from a game, and try to make it simpler, yet not altering the gameplay.
Here's how you can save some data:
Anything you're not suposed to interact with, should not have collisions. This does not just mean deleting the collisions of places that you would never get to in your life, but also things that have lots of corners that are unsignificant. Like miscellaneous decoration or places that aren't really that high or hard to rech, but you cannot get to. Also, if your game has one or more parts you can't access to until you reach a certain condition, they shouldn't have collisions. The way you can turn off the collisions of an object is simple, just select the object, go to properties, and unselect CanCollide.
Anything in the background that can be a skybox or an image, should be a skybox or an image. If you make a map for the game, it might have a background. The nearest layer to the player should be 3D, and simple objects with no colission, the second one, should be like the first one, but made with few objects, the third one, if possible should be a 2D image, and finally, a skybox. Try to separate all so that the player thinks it's realistic. In games with a more intense gameplay, the player won't probably look too much at the decoration of the background.
So lets say that in the RPG we talked about at the beginning of the tutorial is your game. And you're gonna make lot's of unnecesary NPC wich can talk to you about not important things. Each time you writte a code, it occupies a value, wich will increment each time you write a word. And that's not the only problem, but it also makes you think about a new dialogue each time you put one. So here is the trick: Have in one folder all the dialogues. Then make every NPC talk a defauld dialogue, even if it's repeated. This will help you a lot, cause you can make one script for different NPCs that have the same dialogue, and each time you find a grammar error, you won't need to change it.
So lets just say that you wanna make a model about a table with some papers on it, the best thing isn't modeling each paper, even while turning off the collisions, but making a texture of the table top with the papers. This also go for air conditioning ducts entries: Instead of modeling each entry, use a texture, as it will not consume data.
So that's all for this tutorial, be free to write a feedback, I really like it. C ya in the next tutorial!