Specular Scale Setting Allows Players to See in the Dark, Forces Devs to Make a Painful Decision

THE ISSUE:
Many roblox developers are making horror games that rely on pitch-black lighting as a game mechanic, as this can force you to use a flashlight or other light source that might be battery restricted, etc etc, my point is it’s important. Don’t get me wrong, its certainly possible to make a game pitch black, easy even, but it requires a sacrifice. No matter what tutorial you find online on how to make things pitch-black in your game, you’ll see "make the ambients black, set the environment diffuse scale to 0, and set the environment specular scale to 0. Most people move on from here and don’t question it, but setting specular scale to 0 has some negative side effects. Most PBR materials and textures have “metalness maps” which makes metal look… well, like metal. This metalness value is multiplied by the specular scale, and from what I can tell by google searches, this is exactly what specular scale should do, and that’s perfectly fine. The problem comes when having specular scale above 1 (thereby enabling metalness in your PBR) allows you to see in the dark. This forces horror game developers that intend to use darkness (and most do) to choose between metal that actually looks like metal, and this core game mechanic. This is not a decision that game developers should have to make. One could argue that although this is entirely inconvenient to the developer, this is still an intentional feature of specular scale: to allow you to see in the dark a bit, however, the finicky and odd circumstances that affect this visibility leads me to believe this is not intentional.

VIDEOS AND IMAGES

Video demonstrations of issue (game download in Reproduction Files section)

I have been working on a map for my game for a while, and I think it is a prime example of what I am talking about. As I mess with the specular scale, you can see a room on the left side of the viewport coming in and out of visibility, while the rest of the hallway oddly doesn’t, for reasons I cannot ascertain just yet.

On the topic of this issue’s buggy nature, this issue is greatly exacerbated whenever I put a ceiling over the area. In the video I scale a regular part (not neon, no surface light, etc) over the room to make a sort of ceiling, and suddenly everything becomes very visible in the dark. Turning off the specular scale fixes this.

For reference, this is what the room looks like when well lit.

I will admit, it isn’t exactly EASY to see in the dark with this, but it is possible, and is greatly worsened by raising the contrast of your monitor. I think most developers would agree that raising the contrast of your monitor should not give you a substantial advantage in their game. The files of the ABOVE PICTURES are included as the reproduction files.

More demonstration (no download for this though)

Room with Specular Scale 1 (slightly visible):
731d3196fc1d9376d03123d5ddad1c42252f412a_2_690x376

Room with Specular Scale 1 (contrast raised to match what I see on my slightly higher contrast monitor):
8cecb1243e1ed6c740408cca80e8fc7a7ab28547

Room with Specular Scale 0 (completely dark):
4051cfbda4da1a196dded1de268807478e1bcd96_2_690x384

Demonstration that raising specular scale DOES have a substantial affect on metals

Ceiling fan with Specular Scale 0:
7593e4e68945ea3dead04cf77c90537701dafe53_2_690x376

Ceiling fan with Specular Scale 1:
79829b8875849fd975b3af14713b956cf052e37c_2_690x381

I think it is inarguable that the latter looks better, and this same thing applies to all metallic objects.

SYSTEM INFO:
OS: Windows 11 Home 64-bit (10.0, Build 22631)
Processor: AMD Ryzen 7 5800X 8-Core Processor (16 CPUs), ~3.8 GHz
Memory: 32768MB RAM
Display 1 Name: Radeon RX 5500 XT

REPRODUCTION FILES:
Feel free to mess around with the specular scale value here, as well as whether or not the larger roof over it all covers the scene.
Specular Lighting Issue.rbxl (207.1 KB)

Expected behavior

If everything were working correctly, I’d expect that developers would have the option to have the metal look at all decent in their games without breaking the immersion or game mechanic of pitch black. Simple as that. The EnvironmentSpecularScale setting in lighting should be updated to only affect the appearance of metal and not affect your visibility in the dark. If necessary, a secondary setting could be added that does affect visibility in the dark. I can promise this won’t have any compatibility issues with games because I don’t think a single game out there relies on the ability to see weird outline type things of metal in the dark using this setting, but many many games (especially of the horror variety) relies on your inability to see in the dark.

2 Likes

This isn’t a bug it’s actualy a feature it’s called “dynamic envmaps” basicaly thats’s your “bug” what this is actualy a feature request for a boolean to toggle this feature.
Until then turn off global shadows as this feature only works indoors(defined by voxel lighting which gets turned off when you disable global shadows) it will magicaly dissappear and you can have your nice metals without night vision!

2 Likes

Omg you have no idea how much that helps, Ive been asking for help from countless people for over a year now and literally nobody would tell me that, not even professional builders :skull:

1 Like