Situation
I’m currently working on my game OOF Hangout which is a “hangout” game that takes place in a nice and small city but also fits with the whole “OOF” meme. I created this game about two years ago, but I recently decided to remake the entire game because I’ve vastly improved my building skills since then. Now that I’ve made huge progress, almost finishing the entire city, I started to notice a few problems having to do with the appearance and performance of the game.
Goal
My goal is for the place to maintain its delightful look and be an enjoyable experience for every Roblox player. I’ve personally only managed to like how the city looks as long as I’m playing within the top three bars of “Graphics Quality” in the Roblox menu bar settings. Anything less than that causes parts and lights to disappear, which is normal, but I dislike it. The only good outcome from me playing at average graphics settings is that my computer fan is not as noisy. I’m aware that the majority of Roblox players are playing on devices such as phones and tablets, and the problem with my game’s quality is way more noticeable there. I just really want the game to look great no matter the device you are playing on, and not by being so dependent on your settings.
Problems
1. Terrain possibly being an issue
My game doesn’t cause lag, but for the best experience, I would only recommend having a device that runs the game well, so ideally, a decent computer will do. I’ve avoided adding too many parts or small details and particles, but I’m sure this isn’t the only thing that can cause performance issues. The following two images are screenshots of the map.
As you can see, there’s a lot of terrain, mostly being water and decorated grass. The thing is, I doubt this is the main problem because I made a copy of the game, removed all the terrain, and tried it out. While playing the copied test game without terrain, I realized my computer fan was still loud, so I’m assuming that in this case, the terrain isn’t the main source of the issue, but please tell me if I could be wrong about this.
2. Disappearing lights
This problem happens regardless of your graphic settings and I was wondering if there is a way to fix it or make it less noticeable. I’ve added a SurfaceLight to every floor in every building in the game, and I was also wondering if this is an efficient way to add lighting. The problem here is that a light source will completely disappear if you’re about 200 studs away from it. I don’t like how bland a building can look if you’re barely that far away from it, and this can be seen in the following images. You’re about 180 studs away from the museum in the first image, and 90 studs away from it in the second.
It may not be so noticeable in the images, as it’s better seen when playing the game, but the museum building doesn’t look good without the lighting that only reappears once you get closer to it. Does adding multiple sources of light solve this issue?
3. Scripts in parts
In this game, all the streetlights have a neon part that turns white when it’s night and turns black when it’s day. This is the script that makes the part change and also activates the PointLight in it:
while wait(1)do
if(game.Lighting.ClockTime > 6.3)and(game.Lighting.ClockTime < 17.5)then
script.Parent.BrickColor = BrickColor.new(0,0,0)
script.Parent.PointLight.Enabled = false
else
script.Parent.BrickColor = BrickColor.new(1,1,1)
script.Parent.PointLight.Enabled = true
end
end
I realized that there’s more stuff happening when it’s night since every streetlight has a part with the same PointLight and script. This made me wonder about the following questions. Does having many neon parts and/or lights cause performance issues? How can I make one script consistently enable all of the streetlights at once instead of having the same script for every single neon part? Aside from two parts that give a badge when it’s touched and one rotating part, the neon parts in the streetlights are the only other parts that contain a script inside.
4. Part materials
My last concern is using multiple part materials. I already have hundreds of parts that make up the entire city, but I was wondering if giving them all a material can also affect performance issues. I’ve mainly used metal, marble, glass, grass, concrete, cobblestone, brick, neon, and diamond plate parts. I was questioning whether or not using too much glass for windows can cause any problems as well. I’ve seen many games stick to only using plastic parts and still manage to look great, but the appearance isn’t usually the first concern of the developers since it’s more about the gameplay. Jailbreak is a great example of this. If you pay attention, a lot of the builds in that game are actually made of plastic parts. Yes, there are some other materials used here and there, but the game still performs super well, has a lot of terrain, and the map is huge!
My game overall is much smaller than Jailbreak and it still has issues, so what is even causing all the problems for it? Do the materials I use make that much of a difference? Should I just get rid of all the terrain? How can I solve these problems? I’ve added a bit of Blur, ColorCorrection, and SunRays to make my game look a little nicer and I recently tried out DepthOfField, but I feel like my city isn’t looking just as I want it to. I greatly appreciate it if you read all of this and I hope to get some solutions or ways to improve both the look and performance of my game. If you decide to check the game out, feel free to also give me feedback on anything about it! Thank you!