of     1   

ShiraWolven
#158737356Friday, March 27, 2015 7:05 PM GMT

Before I begin, I gotta warn everyone that this is a LOOOOONG post. The teal deer is grazing at the bottom, however, if you want to get the quick version. This is also a Mark II of this thread: http://www.roblox.com/Forum/ShowPost.aspx?PostID=120901174 With that aside, let me begin. _//:[[INTRODUCTION_ Have you taken a good look at the roblox sky? I don't know about you, but it's bland as heck. There's almost nothing there. Sure, we can set the start and end of fog, and we can set skyboxes, but what's the fun in that? We can only do so much with that. And the current implementation of fog doesn't even apply to the skybox at all. This is, in my eyes, a shame. We have all this empty space we could use to make amazing games, to really build atmosphere, but we don't have the features to do so. Doesn't that make you sad? I know it makes me sad... Especially with zeuxcg's hack week lighting projects. I think this will work GREAT with that. _//:[[NOTE_ Before you go and say that this is scriptable, let me remind you that GLSL shaders cannot be acted upon by rbx.lua. Before you go and say that this will be too laggy, let me remind you that the shader effects will only be applied if they're actually added in studio, and that obviously the effects would simplify with render quality. _//:[[CONTENTS_ To use this, press Ctrl+F, copy the heading you want to go to, and go to the second hit. :[[INTRODUCTION :[[NOTE :[[CONTENTS :[[CHANGES :[[SKY_SERVICE :[[SKYBOX :[[FOG :[[MIST :[[DUST :[[CLOUD :[[WIND :[[RAIN :[[SNOW :[[TEAL_DEER _//:[[CHANGES_ One of the first things that would have to happen is that Lighting gets rewritten to have its sky effects toggled as a whole. I'm talking about the sun, the moon, the stars, and the fog. One single boolean would control whether it uses these, or whether it uses the new Sky service, discussed below. If the boolean is false and there is no sky service, it'll just render the default skybox without sun rays, visible sun object, visible moon object, and visible roblox stars. _//:[[SKY_SERVICE_ The first real addition is the Sky service, to hold all of the new objects being added in this suggestion. It has a few default settings, but it needs to be added through the InsertService. We don't want the explorer clogged with services that we don't always need. =] Being a service, all of the sky effects are children of it, so that we can use only those effects we don't need, reducing render lag as much as possible. _//:[[SKYBOX_ The skybox instance we have now will simply be ported to work in the new service, takes six high-resolution square textures (or 24 low-resolution quarter textures), and will be visually upgraded to remove the "box" border visible with the skybox right now. Nothing new there, really, just slight improvements. _//:[[FOG_ Fog works similar to the way it works now, is rendered similarly, BUT it receives a toggle as to whether or not it also blocks the skybox, and to what degree. It's a global shader object, so isn't affected by wind. Example settings: Fog -Fog Start(Studs, intvalue) -Fog End(Studs, intvalue) -Fog Colour(Color3) -Fog SkyOcclusion(Fraction between 0 and 1) _//:[[MIST_ What's the difference between mist and fog, you ask? In physical terms, one has slightly bigger particles. In terms of this suggestion, however, it's that mist fills a settable Region3, whereas Fog affects the whole map equally. If you come to the edge, the mist naturally becomes more transparent. Can also be affected by the prevailing winds. Example settings: Mist -Mist Region Position(Vector3 value) -Mist Region Size(Vector3 value) -Mist Colour(Color3 value) -Mist visual range start(Studs, intvalue) -Mist visual range end(Studs, intvalue) _//:[[DUST_ Dust is basically mist, but with a different particle and effect. It behaves the exact same, but is rendered differently, more in line with what dust actually looks like. Example settings: Dust -Dust Region Position(Vector3 value) -Dust Region Size(Vector3 value) -Dust Particle Size(Tenth stud, intvalue) -Dust particle size variation(Tenth stud, intvalue) -Dust Colour(Color3 value) -Dust visual range start(Studs, intvalue) -Dust visual range end(Studs, intvalue) _//:[[CLOUD_ Since mist is really a low-down cloud, it'll look similar if you're in it. However, clouds are optimized to be rendered from a distance. The settings closely mimic those of real ones, and are volumetric in nature. Like mist, clouds are region-based, can be moved by wind, but unlike mist, clouds have quite a random factor to them to make them look more natural. Their height isn't set exactly, but is rather a general guideline for the game to place the cloud near. Example settings: Cloud -Cloud Height Range(Dropdown, alto, cirro, nimbo) -Cloud Type Range(Dropdown, stratus, cirrus, cumulus) -Cloud Height(Studs, intvalue) -Cloud Height Variation(Studs, intvalue) -Cloud Colour(Color3 value) -Cloud Coverage(okta(0-8), intvalue) -Cloud Size(studs, intvalue) _//:[[WIND_ What is there to say, really? Wind is basically what it sounds like, like an air current. By default wind can be used to move sky instances around, but it can be toggled to affect parts as well. AxisAngles made a good air physics simulation relying on Lua, and this simulation would be adapted to the C side to push on any unanchored parts, including players. Example settings: Wind -Wind height bottom(Studs, intvalue) -Wind height top(Studs, intvalue) -Wind speed(Studs per second(same as walkspeed), intvalue) -Wind direction(Degrees, intvalue) _//:[[RAIN_ Oooh. Sooooo nice, this. Every example of rain in Roblox so far is very buggy, very laggy, or very hacky. Why not make rain a dedicated global effect? Why not have rain be a rendered particle? Example settings: Rain -Rain amount(Percentage, intvalue) -Rain colour(Vector3 value)(I want bright neon green radioactive rain!) -Rain droplet size(Tenth stud, intvalue) -Rain falls from clouds(True/false, boolvalue) -Rain is falling(True/false, boolvalue) _//:[[SNOW_ See above, but slower, whiter, and prettier. Mostly. Snow isn't pretty when it blows in a blizzard. Example settings: Snow -Snow amount(Percentage, intvalue) -Snow colour(Vector3 value)(I want bright neon green radioactive snow!) -Snow flakelet size(Tenth stud, intvalue) -Snow falls from clouds(True/false, boolvalue) -Snow is falling(True/false, boolvalue) _//:[[TEAL_DEER_ New service, bunch of new instances to make use of that service, not scriptable but amazingly useful and versatile if/once implemented. Thanks for reading this all!
wind_o
#158737483Friday, March 27, 2015 7:08 PM GMT

Wow, finally a great idea! Long post but read all of it, worth my time. 100% support, we do need some more customization up there.
wind_o
#158784397Saturday, March 28, 2015 8:17 AM GMT

Bump, this needs more attention
ShiraWolven
#159012752Tuesday, March 31, 2015 3:21 AM GMT

30 supports on the last one, two on this one... I'm guessing that's 32 supports?
BaconParadox
#159013152Tuesday, March 31, 2015 3:27 AM GMT

support
ShiraWolven
#159044576Tuesday, March 31, 2015 6:31 PM GMT

30 on the old, three on here, 33 supports total. Bump!
darktruste3535
#159044771Tuesday, March 31, 2015 6:34 PM GMT

This is probably the best suggestion to the Game Interphase I have ever seen. You should be the developer of ROBLOX, you seem to know what people want. However, I would like to see if they can make it so that places you have created implicate the same weather conditions as that in your current location. Like if I lived in Seattle, and it was raining at night with a New moon, such conditions would be placed in my games.
ShiraWolven
#159044925Tuesday, March 31, 2015 6:38 PM GMT

Darktruste, good idea, however that'd be harder to implement than you think. The best thing to do for what you suggest is to (as game dev) script an HttpService thing that requests an aviation weather report of the area you're in, every hour, on the hour, or five minutes past the hour. It then interprets it and creates or rewrites the game weather to match the report as closely as possible.
darktruste3535
#159045023Tuesday, March 31, 2015 6:40 PM GMT

Sounds reasonable. Im not much of a scripter but it sounds to me like it would work. You have my absolute full support!
Mortalkombat998884
#159046771Tuesday, March 31, 2015 7:13 PM GMT

supp
newyork40
#159047024Tuesday, March 31, 2015 7:18 PM GMT

it is scriptable, but very hard to script.
ShiraWolven
#159047900Tuesday, March 31, 2015 7:33 PM GMT

NY40, please do read... "_//:[[NOTE_ Before you go and say that this is scriptable, let me remind you that GLSL shaders cannot be acted upon by rbx.lua. Before you go and say that this will be too laggy, let me remind you that the shader effects will only be applied if they're actually added in studio, and that obviously the effects would simplify with render quality." It's not scriptable the way I envision it, because it would involve shaders. We can't edit or configure shaders with Lua. Like, at all. Thanks for all the supports so far!
ShiraWolven
#159192062Thursday, April 02, 2015 5:23 PM GMT

Bawmp.
Sulfone
#159192698Thursday, April 02, 2015 5:33 PM GMT

Support.
nate979o
#159193076Thursday, April 02, 2015 5:39 PM GMT

support this is amazing goosefraba
KingJacko
#159193652Thursday, April 02, 2015 5:49 PM GMT

wind is VERY SUPER easy to make. Body movers

    of     1