Seriously, they can literslly just lower the shadow resolution the further away from the source it is
Lights often get stuck in place and have choppy movements on cars from other clients; instead of following the car, it just jitters along far out place too. For a thread that’s been going on for not far from 6 years now, the lack of progress is disappointing but not even surprising at this point given roblox’ track record.
Shadow Resolution can be solved by increasing shadow blur. The sun and other light sources make shadows blurry as they get further from the object that blocks light.
A massive chunk of the Roblox playerbase is mobile users. Performance enhancement and UX is a top priority for the engineers in this regard, as simply disregarding their comfort would be an atrocious business move to make.
This shouldn’t mean our games all need mobile support if i’m making a game i should be allowed advanced graphics because i can just turn off the ability for mobile players to join.
The “bad for mobile” argument has long been used to justify roblox’s lack of support for commonly found engine features, like large ranges, ray tracing, etc.
I do understand that if mobile is where 50% of your players are, then it should be considered when taking decisions, the problem is, by focusing only on mobile users, you end up limiting the other 50%.
Yes, mobile users wouldn’t be able to benefit as much as pc users from the latest common features (ray tracing, etc.), but that doesn’t mean that the pc playerbase shouldn’t.
Regarding relatively small performance impacts brought by incrasing light ranges (from 60 to, idk, 100), yes, increasing it sounds like games are just gonna run worse than before, but that’s on the dev’s capability of optimising his own work.
Not to mention, roblox themselves allows creators to choose which platforms they support. So say for example i want to make a realistic game, and i dont believe i’d be able to optimise it for mobile users, i can literally just not support mobile completely until i optimise the game
When you limit everyone, what you end up doing is holding back the talented developers who could create amazing things along with the ones that wouldnt. People who have been developing for years (myself included), who knows how to optimise things pretty well, get limited by the idea of a portion of people not being able to optimise things.
In my opinion, the “mobile users wouldnt be able to…” card has long been used to justify roblox’s carelessness for their developers, which are the ones who made them who they are in the first place.
It bugs me how many devs, (who should be the ones who seek for improvements, new features, more creative freedom, etc.) Don’t realise we should be aiming for more, and not for less.
And, before anyone brings up the argument “roblox cant afford financially this or that”. Lets think of that for a moment. Roblox is a billion dollar company (around 40b), they can afford to improve actually useful things, but they wont, why?, i believe they are too busy spending money suing creators, or updating ugc related stuff.
Im not saying roblox shouldnt spend money in other categories of development, what im saying is that they are wasting too much resources on things that aren’t as impactful as, for example, light ranges.
To be honest, i dont play games for flexing my avatar or engage in big events, i just play games for the game’s “fun-ess”, i havent really seen any games whose objective is to flex ur newest limited clothes or smth. So what’s the point of alocating (for example) 10% of all resources to that category when you could use those 5% in somewhere more impactful.
Well, just my thoughts, take it as a talk, not as as agressive argument please.
But the fact is that they are adding Future Lighting to mobile. Once this is added, there is no reason for this limit to exist
Instead of limiting developers control of lights in their game for the sake of performance, wouldn’t it be more effective to let developers work around potential performance issues related to the range of lights?
(potential photosensitive epilepsy warning bc i crash a lot in first-person view)
(also yet another bump i know)
It is IMPOSSIBLE to have dark nights and using only single spotlight to illuminate everything infront of you. You are GURANTEED to crash at high speeds if you can’t see anything and there is a sudden turn ahead.
Someone’s making a more indepth storm-chasing game and they’re suffering from exactly that issue. The only way around it is to simulate the extended lights using more spot lights and things like like, or make nights brighter.
EDIT: Even if you extend lights, it might just potentially not work because the lighting while driving fast is falling behind frequently (doesnt update as fast). You can see what I had to make to extend the light range of this.
… but i still hit a roadblock with lights not updating fast enough and i was still frequently crashing.
Oh my god that second image looks so bad.
I believe it is an intentional optimization that, on the lowest graphics levels, the number of voxels that can be updated per frame is severely limited, though they will be higher on the higher graphics levels, and with Future there won’t be any of this on graphics level 4 or higher.
Would be nice to have a priority system so you can choose lights that need to update faster, but that’s for a separate feature request
just discovered this video about a hack week project from 2015.
2015.
(give this entire video a watch btw, really interesting stuff!)
what’s crazy to me is that it’s just a 1x1x1 stud grid of voxels, no pixelated shadow maps, or performance draining future lights, just voxels.
this isn’t exactly related to the light range of lights, but my point is to show what is and has been possible this entire time, if the lighting system were to be given more attention.
I believe there are multiple factors in place why roblox lighting is so terrible
Shadow Bias. There are even fast flags to set this but they are incredibly broken.
Shadow Atlas Resolution (By default its a really low value)
Shadow Resolution
Terrible code and inconsistency for light types (surface lights compared to other lights have terrible sharp shadows)
In general this engine is just unbelievably far behind, decades to other engines.
We have no:
- Emissive Textures
- Baked Lightmaps
- Static Lighting
- HLSL/GLSL shadergraph (apparently this cant be done because of “translation to other graphics apis”, which I do not believe as any other engine can do this just fine, even for mobile)
- advanced lighting control (specular, diffuse, normal intensity)
- broken specular highlights for surfacelights
- terrible light falloff for pointlights
- No control over envmaps + they arent even parralax corrected and have a resolution of 128x128
The list goes on but i dont even remember it anymore, there is just so much.
This can still be done, but requires you to use IDA and disassemble Roblox studio. You can change the voxel generation size so a ridiculously small value and it doesn’t even run that bad.
You need to fix the update rate for voxels though, their update rate is very slow by default.
Exactly this, I have pointed this out so many times on threads now and its getting on my nerves.
My games audience isn’t meant for mobile and because the engine lacks such visual features makes it look really bad on PC or new gen XBOX consoles.
Its unbelievable how far behind we are.
WHAT THE HECK
This is from 8 years ago and it runs so well.
The same person who made that Hack Week tech demo made another video the next year for that year’s Hack Week, which features some explanation for why they thought, after some time, that the whole voxels thing was not a good idea. Eventually, what was shown in the video made it to Roblox:
@MCWither_Storm Apparently Future Is Bright ran and looked better than the 1x1x1 voxels.
The same person who made the previous two videos mentioned wrote up a full post detailing exactly why having a custom shader system is difficult for an engine like Roblox. From picking a good language, to compiler issues, to “What if we need to change parts of the rendering pipeline in the future?”, I believe what you mention is answered as well.
Here it is:
Those are the same thing? Well, not literally the same thing, but having baked lightmaps means that lighting is static. But, one of Roblox’s goals with the engine is for everything to be completely dynamic, and they have succeeded. Nothing is baked-in, all lighting is dynamic, and yet there are still good-looking games like Frontlines.
Roblox has PBR support? I don’t know what you mean.
“Physically-Based Rendering (PBR) textures allow you to represent realistic shading and lighting by using multiple types of texture images, or maps, on a single object. Combining multiple texture maps can more accurately simulate color, roughness, and reflectivity in any lighting environment and can enhance the visual elements of your assets and environment.”
Minecraft Bedrock Edition uses this same Technology for their RTX graphics mode. You use multiple texture maps, and it can even look 3D if you do it right!
It makes things look pretty good. (Used in layered clothing on Higher Graphics Settings)
//////////////////////////////////////////////////////////
I feel like they DO need to remove the limit. This topic is just like the Minecraft Bug MC-2 was for the LONGEST time. The second bug report ever for Minecraft.
I dont mean the textures themselves. I mean how much a light instance affects each part of a object.
You can look at it in blender which shows exactly what I mean.