Studio Beta: Change in behavior of underwater transparency

You asked, and we’ve been listening.

We’re making a small behavior change as a Studio Beta release specifically to address the issue of fog range control being too limited when underwater.

The simple change to the underwater fog range only affects the WaterTransparency API, sticking with [0-1] controls we have already. Previously, setting the value to 1 meant a limit of visibility at around 200 studs. With this beta update, setting the transparency to 1 will have a limit of visibility increased to 2000 studs. For a simple approximate rule of thumb, underwater fog is modified 10x in distance further than it was before and we expect that will be a useful range for all experiences that take place underwater going forward.

If the responses we get from the Beta are positive, we will move to full release, noting that this will then affect existing experiences which take place underwater.

As a small non-destructive change (that is, only visibility is increased), we ask that underwater places update their WaterTransparency parameters by simply dividing the current value by 10, or making fine tuned manual adjustments where more visibility is desired (and keeping in mind the performance implications of longer visibility ranges).

Thanks,
The Roblox Team

237 Likes

This topic was automatically opened after 17 minutes.

I’ll check the change out later when I’m at home (and create a second reply) but this is a really, great update that will surely make terrain water more appealing as a material. Now we can create large underwater showcases without always feeling confined, and crystal clear beaches can have similarly crystal clear water- superb.

A question I have, is: Do you plan on making the visibility range go beyond 2000 studs in the future? Or is this restriction set in place for performance reasons?

Secondly, would you consider adding a slider so that I can more easily test out transparencies without having to type in different values each time I want to change the value or instead of using the arrows and clicking a bunch? Thanks!

image

Love this!

32 Likes

I’m worried about the fact that you guys have no proper way to handle breaking changes on older games besides asking developers to do it. What happens to the game that isn’t being maintained or the developer who doesn’t see the update?

Would it be possible to only apply these changes to games once a developer edits them? When they do, maybe you could show them a warning asking them to change their settings?

22 Likes

HUH?

how did this become a link

Ok no this is epic.

I imagine this is for performance reasons on slower devices. There are lower draw distances underwater, which is possibly another reason for this.

9 Likes

did you even read it?
it’s non destructive, it won’t destroy older games

2 Likes

I understand the change isn’t “destructive” but it still increases a game’s water visibility by 10x - and this isn’t the only instance of a breaking change that could be, theoretically, automatically resolved without developer intervention

8 Likes

Currently afaik there is no easy way for Roblox co automatically resolve cases like this which is why they ask for developers to update things. Having 10x the vision underwater isn’t going to break any games or make them unplayable, at the very least it’ll make a cutscene or two look weird.

12 Likes

Did you read ? A lot of older games are no longer being developed.

5 Likes

What was the design choice behind retaining the alpha slider instead of expanding the slider to 10? Wouldn’t that ensure backwards compatibility for games that no longer receive support?

Excited to see what people do with this update, however. Keep up the good work!

22 Likes

Yes, I did. I’m saying that some sort of automated way to ease the process of releasing a breaking change would be preferable rather than just asking developers to do it.

4 Likes

The best solution (in my eyes) is just to make enable it default for newer games but keep it disabled for older ones.

2 Likes

I see. I’m just extending that a bit further: it will be automatically applied on new games, but will be disabled on older games until the developer opens up the game in Studio. When they do, they would be warned of the change and could then change the value on their own.

4 Likes

I love this change, this will make a massive difference for my game which has a very detailed underwater area of the map which is currently mostly abandoned due to distance limitations.

I will bring up concerns with the max distance if I have any after I get home and try it out. Unless there are grander plans, I personally would have preferred this 0-1 slider be replaced with fog ranges like we have for the old fog in Lighting.

I also severely doubt there will be any great impact on old games, if anything they’ll be improved because you’ll be able to see underwater better than not-at-all.


Why are there performance implications with this? Was Roblox previously doing culling based on fog range?

15 Likes

The only thing I dislike about this change is that there aren’t two separate properties for the transparency of the water’s surface and underwater visibility. With this change, if I want to have the same underwater visibility as I had before on 1, I need to set it to 0.1 which will greatly reduce the transparency of the water’s surface.

Please consider changing this.
(Accidentally posted this on the wrong thread earlier, oops!)

15 Likes

This is why they often take months, if not years, implementing features that are asked for frequently. The necessity of this simply outweighed the disadvantages. There are a lot more projects that couldn’t advance in development without this change than games that got negatively affected.

5 Likes

Oh, I’m not against this feature at all, and I agree that the positives outweigh the negatives here, but I still think that a way to automate the process of updating the property older games would have been preferred.

5 Likes

This is an issue specific to Roblox that cannot be solved. As a web platform, they have to maintain a consistent level of security around their software, which means they have no choice but to carry a load of historical garbage and barely logical API in one package instead of releasing multiple versions. I’d say about 20% of present features are deprecated, if not more. The only way to avoid this is to carefully plan the API to be future-proof, which they haven’t done in the past. (pre-filtering network model, parts being both render and physics objects, etc.).

5 Likes

I understand the technical implications of doing this, but at present there are solutions that the engineers can choose to use that wouldn’t break compatibility, like what @HollowMariofan mentioned:

4 Likes

This is a long awaited update and I’m happy we finally have it! Thanks Roblox!

I also realized that setting the Transparency to 0 makes it completely fogless. I think it’s a bug, but I like it. There should be a way to disable the fog like that.

7 Likes