More Advanced Graphics options

For Roblox, there could be sliders that go from 1-10 of these graphical settings

  • Lighting Quality: 0-10 (min being soft lighting and max being realistic lights with far rendering)

  • Shadow Quality: 0-10 (min being 128x128 shadows and max being 4k shadows)

  • Reflection Quality: 0-10 (min being 64x64 reflections, max being 1k reflections)

  • Water Quality: 0-5 (min being no clear water with 256x256 normal map, max being clear water with 1k normal map) Since Iphones have gotten far better over the years, you could also add clear water refraction support to them

  • Texture quality: 0-10 (settings based off texture streaming)

  • Anti Aliasing: Model and sample couunt (First setting will be what model you use, FXAA, TAA, DLAA, MSAA. The second setting will be sample count, 2x 4x 8x 16x)

  • Post process quality: (min will be little to no bloom quality, max will be full bloom quality)

  • Max particle count: 25-unlimited (counts will be based off render distance)

  • Render distance: 0-10 (0 being the min and 10 being at the main distance that the dev set)

  • misc: 0-10 (basically anything else I missed)

This is heavily needed since turning down your graphics quality in game will turn down a multitude of things such as lighting quality when really the only thing thats lagging your system is something like decal shadows. What many modern games tend to do is have options like “lighting quality” “reflection quality” etc

24 Likes

maximumadhd already suggested this, but its nice to have it in roblox

4 Likes

yeah but that was over a decade ago lol

What’s the point of having these 2 be separate settings when lowering one makes the other do absolutely nothing.

Also, roblox shadows don’t work on a resolution setting as you think they do.
To boil it down, roblox shadows work on a voxel grid. This means that shadows get exponentially more expensive the higher resolution they are. With how the shadows work right now, they could probably get away with maybe double the resolution they are now on max settings, I don’t think they’d be able to hit 4k.

Additionally, shadows have their own render distance that’s separate from mesh render distance, and having to lower both render distance and quality at the same time is bad.

However, raytraced shadows aren’t too expensive, for example, a decent PC should be able to get 400+ FPS in a small room with a window, but a phone probably couldn’t handle it. And the benefit of raytraced shadows is that they’re pixel perfect, meaning they have infinite resolution.
FYI when I mention raytracing here, I’m not talking about pathtracing, real-time global illumination or any of that junk.
I could very much just be speaking random junk here, since all I remember about this topic was watching a random youtube video a few years back where someone made a raytraced shader for a game for a gamejam, where raytracing was only used to get the shadows accurate and pretty much nothing else. I don’t know how it scales with additional lights or scene complexity, nor do I really understand how it works since I’m not a GPU programmer.

With how the cubemap reflections work on roblox, a 1024px image would be overkill. 512px or even 256px should be plenty.

I don’t understand why this isn’t just a “terrain quality” setting which would also lower the amount of grass being rendered, plus a slider for this just isn’t the best.

-What if someones device can handle the reflections but not the refraction?
-What if someone wants the transparency but not the reflections or refraction?

Just giving the players all the options would be far better.

Only decent one so far?

Do not add DLSS / DLAA.

Again, with settings like these, it should be mostly left to the end-user, not a slider.
Someone may want bloom and not sunrays, some people may want to disable blur / DOF, etc. Tying everything into a single slider is a bad idea.

Frankly I’d just put this into a “Particle Effect Quality” setting. Its more fitting of a name I’d argue.

You shouldn’t let developers specify a max render distance. Most people do not understand optimization. There should very much be a cap to render distance where LOD models start kicking in.

And speaking of LOD models, where are the settings for those?

→ Complains that everything is tied to a single bar
→ Suggests to put other settings into a single bar

Agreed

? ? ? ? ? ?
Those aint lagging you brochano

They also let users adjust pretty much all graphics completely untied from sliders except for when a slider makes sense.

I’m not going to say roblox doesn’t need these settings because it very much does, but could you put a little more thought into the concept?
Let’s quickly have a look at Forza Horizon 6:


Notice how every setting is labelled and how it also shows important information like VRAM and RAM usage, and additionally, how no 2 settings are combined into the same option?
Let’s look further:

Notice how they give the player the option between raytraced reflections and screen-space instead of having a global “reflections” setting and having “Low” be screen-space and “Extreme” being raytraced?

You said it yourself later in your post, what may be making someone lag on roblox is usually something that requires something else to be disabled along with it, which people don’t want.

For graphics settings, you pretty much need to put everything into separate tabs. Sure, having more tabs is better than having the one slider we have now, but then you’d still be complaining about the compromises you have to make for some settings.

7 Likes

We WERE going to have them, there was an internal flag named like “ZHarmony.”

2 Likes

I personally just went off how most unreal engine 5 games do it

Also, I can literally count the pixels on material reflections right now, the resolution needs the be heavily raised

Having two seperate settings for shadows and the lighting itself is because shadows are a big part of the lighting and its rendering quality should be streamed, again I’m not a full expert with how the roblox engine works but what I do know is that shadows are a huge resource hog especially with transparent objects

Also, I’m an environmental designer that does a lot of resource heavy workarounds since Roblox doesn’t have many native features for a lot of the stuff I do so I have to get creative

I do think Roblox needs to have an upscaler and I’m surprised they haven’t added one yet especially since they’re going crazy with adding their ai slop environment reconstruction

This scene I made here can be such a resource hog and that’s mainly because I have a dynamic particle system for parts of a voumetric lighting system since they apparently can’t add one theirself

1 Like

Even unreal games usually give far more options than what you listed. Unreal engine also sucks.

A raise in resolution to 512 or 256 should be plenty. You are not meant to be using these reflections as mirrors, and they aren’t intended to be “perfectly” reflective, just to give a general gist of a reflection existing.

I have barely any idea what you’re talking about here.
Shadows being streamed..? What?

Do you mean for shadows to have their own LODs? Render distance? They have both, somewhat.
Shadows are only rendered within a certain distance of the player or camera, and if you don’t have PrioritizeLightingQuality enabled, the lighting also fades into a far lower-quality version at distance.
Sure, not a client setting and it should be, but roblox already has this.

Not on roblox. Shadows have a pretty negligible performance impact unless if you’re referring to shadows casted by light instances, in which case, you’re not meant to have every single light casing a shadow.

Although even then, its mainly having many lights causing lag, not the shadows.

No idea where you got this from.

And that’s completely fair, however, maybe, have you considered using some kind of baked lighting? Technically roblox supports it now with emission maps on meshes and materials.

Absolutely not. My PC can run most roblox games easily at 180+ FPS and that’s with my GPU being majorly bottlenecked by my CPU.
Roblox is already performant enough to not need upscaling on the devices which support it.

Investors want to be able to see the AI at work, they don’t care if it’s being used for upscaling, they want to see AI generated graphics and see AI being used to (really terribly) recreate a games intended look in a “realistic” style.

“Roblox should optimize their rendering because I’m using systems no where near how they’re intended at all and it’s causing lag!!”

I’m just going to say, if you’re expecting good performance on roblox while actively pushing the limits of the engine by using systems in entirely different ways than intended, you’re a tad crazy.

2 Likes

“You shouldn’t let developers specify a max render distance. Most people do not understand optimization. There should very much be a cap to render distance where LOD models start kicking in.”

tl;dr. this sentence alone is insane. no other engine refuses to let you set render distance otherwise its users would completely abandon it LOL

just have defaults and give a warning that it wil lag when its too high

you can’t detect auto low quality mode, the worst version of roblox’s quality settings. which is default for millions of players and prevents them from seeing most of the game

“just make a work around for this horrible bug that everyone including roblox’s former employees complain about” isn’t a solution and that’s not me trying to shit on you, rather get you to see the problem

here is a small selection of threads complaining about this topic that have been completely ignored by roblox:

…and the former employee in question screaming into the void for nearly a decade:
2016:
https://devforum.roblox.com/t/roblox-really-needs-advanced-graphics-options-on-pc/27678
2023:

What I meant with that is allowing developers full control over the min and max render distances, or being able to force any specific one.

Being able to specify a minimum and maximum render distance that the engine then implements into the slider would be the most non-destructive option, but also still a relatively bad option.

When it comes to performance, you should be leaving the choice of framerate and graphics settings up to the user. This is why I said that allowing people to alter specific settings is the far better option, as the effects that often cause lower framerates come with the higher render distances, but that being said, some computers and phones aren’t powerful enough to render many triangles, meaning that a forced render distance may entirely render a game unplayable for those devices.

the tldr of it is developer set distances bad, allowing end-user control of distances and other graphics outside of a single bar good.

2 Likes

If someone’s device cannot handle rendering a developer’s game at their intended bare minimum level visual fidelity, then frankly, they aren’t the target audience of that game to begin with. It’s insane that so many people and Roblox are just on board with this idea that developers should be forced to arbitrarily design and limit their games based on the concept that it MUST run on outdated toasters.

I’m not on board with it, I’m just accepting it’s the reality that we live in. I would love if roblox separated the graphics slider so we could have more control over specific settings (such as render distance), however they won’t do that.

Roblox has their minimum system requirements, which they want to represent as a requirement that’s for all games on roblox. Allowing developers to alter the render distance and thus minimum requirements breaks this for roblox.

Again, I do not like how roblox has gone about implementing their graphics settings. That is the root of the problem here.

If you scroll up in this thread, I myself complain about the render distance on low graphics qualities, however, instead of complaining that developers should be able to set it, I say that users should have better control over their graphics settings so that higher render distances can be used in combiniation with having everything else off so their computers don’t explode, or, for example, low render distances with good lighting and anti-aliasing.

I do want roblox to expand their graphics settings so this isn’t a problem.
I do not want developers to have control over graphics settings instead of the user.

Also, just consider this. Even though, yes I did complain about shooters not having higher render distances when I was younger, that did not stop me from playing and enjoying them.
I simply just lived with the low render distances because I couldn’t play with higher or it’d be unplayable. By forcing users to not play your game because of system specs, you are losing that playerbase who simply do not care about how far they can see.

Again, this should be something left to the end-user, not the developers. What should be left to the developers are lighting settings, shading methods and other options like that, performance settings shouldn’t be left entirely to the developers on roblox.

For example, Minecraft doesn’t go forcing 32-chunk render distance on every player and telling anyone who can’t run it to suck it up and move on, they give the player control over how far they can see and let the player decide what they want. That is what is important, and what roblox should be doing instead of combining all the graphics settings into a single slider.

1 Like

Alot of the games I make tbh have are mostly targetted for PC/Console players and some High end phone players

1 Like

Minecraft however isn’t an example of a game where render distance isn’t something you can compromise on in exchange for performance. You can reasonably turn down render distance in Minecraft without it ruining the intended user experience, you can’t do that with entire categories of games where the player absolutely needs to see some distant objects at their full quality for the game to play as intended.