…you should reread what op is asking for. fankly, they are not a niche, compute shaders are heavily used to offload computations that is expensive to run on cpu, and for postfx shaders that may need more control than the typical vertex & fragment shader (for example, motion blur & this effect are done with compute shaders because they rely on storing previous framebuffers, cant have that your usual fragment shader)
since PBR exists or glass and neon, which replace the need to use shaders in 70% of cases.
you cannot do that with just the aforementioned, you don’t even have access to the gpu which is what op, and the others are asking for
compute shaders and just shaders in general should be already in the engine
…you should also reread what I actually meant. My argument wasn’t about shader use cases - it was about the current engine architecture and prioritization. But since you interpreted it as an argument against shaders, I’ll respond accordingly:
You say compute shaders aren’t niche, but then immediately bring up post-processing effects, which are definitely niche in the context of Roblox - especially given that we already have built-in post-processing instances. More advanced effects, like the one you mentioned, are obviously impossible under the current engine, but realistically, only a specific subset of games would even attempt to use them.
And when it comes to non-graphical GPU computation, you’re venturing into GPU-specific architecture and coding (e.g., mesh shaders, GPU particles), which isn’t portable and would introduce a whole new set of platform compatibility challenges - especially across mobile, where Roblox still maintains a large footprint.
yeah and i took issue with when you called shaders a niche, following up with solutions that does not satisfy what people here are asking for
i could literally blanket call everything on here a “niche,” which i wont do, because it would be completely disingenuous of the potential usecases, or people who actually use such features
And when it comes to non-graphical GPU computation, you’re venturing into GPU-specific architecture and coding (e.g., mesh shaders, GPU particles), which isn’t portable and would introduce a whole new set of platform compatibility challenges - especially across mobile, where Roblox still maintains a large footprint.
i would like to direct your attention to godot engine which have solutions for that already
when working with compute shaders in godot, you’d use the RenderingDevice abstraction in order to initialize & dispatch compute shaders. it has been implmented for DX12,Vulkan and Metal
by design, the programming language of choice is GLSL, so that not only the shader would run natively on vulkan, but to also to compile the SPIR-V output to other APIs via SPIR-V cross, which does all the heavy lifting for you
If you are not able to understand what I meant, then I’ll say it straight to your face: the problem is not with the implementation. You just proved to me that instead of focusing on the main problem, you instead focused on me calling shaders niche, which is a true fact alone, which you state yourself later in the message.
I will open your eyes: even low-level Vulkan has that. It doesn’t fix the cross-compatibility issue at all. The only thing it provides is information about what features are available on the current GPU. It’s like different subsets of specialized instruction sets on x86 (SIMD, SSE, etc.). But unlike CPU instruction subsets, GPU specialized features differ a lot from architecture to architecture and, as a matter of fact, are extremely inefficient if implemented manually (or are entirely impossible), unlike in CPUs, where a lack of SIMD probably wouldn’t cause extreme performance loss or entire discardation unless in an extremely tight domain.
i only said i took an issue when it is disingenuous to call features, especially this one, that have real usecases, as a niche. i probably have agreed with the majoirty of what you said if i have not brought up other sections in your post
the problem is not with the implementation
okay you just mentioned an issue with compatibility gpu architectures, and programming languages which i have just provided examples that does rectify the majority of potential cross-compatibility issues had
of course, theres going to be issues here and there because like you said, vendors can drastically change the architecture of their gpus
but in the context of this platform, regardless of any issues, adding this feature is better than not having it at all
with that said, i’m dropping the discussion because i said what i had to say
I think we need more graphics configuration features. The current way doesnt allow big studios/games to optimize the heck out of their games eventho they could and therefore decreasing the quality of user experience.
Custom shaders will be very in handy esp if we need compute shaders and or different graphics from what roblox can provide (and rn more games are comming that use 2d instead of 3d, and relying on the roblox gui is quite tough i think)
More graphics options (i was impresed that in codm more stuff was visible and i was getting very smooth fps unlike in roblox the lowest graphics setting decreases the view by a lot and fps becomes only “playable” imo)
Ability to capture the image from the camera (viewport), that will allow to to more interesting stuff esp i was thinking about the scope on the sniper rifle in vr.
I mean its roblox so like what can you do. Its supposed to be a very easy to pick up engine with very little complication. Perhaps their afraid adding shader support would make the game harder to pickup for kids. They can always just make it optional and a niche like the bit manipulation library. Like nobody codes in that library but its usefull to have sometimes.
Adding support for GPU programming won’t make the engine any harder to pick up than it already is. The ideology that everything should be so easy a toddler could understand it is inherently flawed to begin with when talking about implementing power features which would enable developers who know what they are doing and that actually bring in money to the platform to make even greater experiences.
This is really REALLY true. This is often the “everything needs to be dynamic/automatic” kind of thing they always say.
A great example of tech being insanely flawed for no reason is the EnvMap system we received. Sure at first it wasn’t that bad to have but it has so many flaws with its implementation for example.
automatically generated reflection cubemaps can randomly generate near neon surfaces and make every specular surface look like it became the sun!
the resolution is capped at 128x128, all meshes in the reflection use LOD02 and it reflects voxel lighting only.
no way to disable them without hacky methods
no manual placement (which is really really important for some artists to get visual consistency)
no parallax correction
The problem they keep bringing up is that cubemaps would have to be pre-placed by developers. But isn’t that the point? It would just be way better. Pre-calculated would allow for higher quality because then they aren’t constantly recomputed every time dynamically??
Roblox is literally multiple decades behind in terms of technology.
It’s truly sad that one of the largest companies in the world with billions of dollars doesn’t even bother to keep up with its competitors in terms of technology and community, and instead decides to focus on money.
The worst part is that they take ~72% (on average) of our (the developer’s) money, yet we don’t even get merely attention back. Greed is real — so real, in fact, that they don’t even realize they might make more money by listening to the community. There’s just no clear punishment in ignoring the community most of the time, and that keeps them doing it. We can’t really do much — Roblox has become too big, and it simply isn’t what it was. We can always hope that they’ll hear us, but even if they do, I doubt they’ll care.
Per dollar spent on average in a game, it is roughly distributed as:
Developer Share (DevEx) - 25%
EBP (Premium Payouts) - 3%
App Store and Payment Processing Fees - 22% (e.g. Google takes 30% of any purchase through the Play Store for any app with revenue over $1 million p.a.)
Platform Hosting and Support (servers/moderation/etc) - 18%
Platform Investment (corporate acquisitions, technology R&D) - 15%
Roblox Share (operating costs, e.g. salaries, rent, advertising, insurance) - 17%
Of these, only the last two do not directly contribute to the functioning of Roblox and the payment of developers.
Even though a lot of the things people say regarding technical stuff like this tend to sound uninformed, I have no issue with it because it’s entirely the fault of the teams for not clearing anything up. I’m hopeful that this receives some response soon, given how a bunch of way older Feature Requests recently got explanations and also confirmation (mainly ones related to Physics, however) (or maybe I’ll just eat my words).
every device which can run roblox (DX10+, GL3+) can run SOME sort of shader lang, and every dgpu newer than 2007 andiGPU newer than 2011 supports OpenCL
I dont think anyone is playing on an E-Reader, Atari 2600, or a headless server
Every modern device (ex. made since 2004) supports at least GLSL and every device that can run DX9 can run shaders. Every low end laptop since the early 2000s has some sort of video acceleration. Before you mention Androids or iDevices, both of the OSes those run require hardware video acceleration new enough to run shader code.
and almost the whole time i was like “daym we cant even do that in roblox”
the engine indeed lacks features and i think gpu programming has a lot of potential for optomizing games
You’re right. Saying Roblox takes a 72% cut is dangerous misinformation.
Instead we should be telling people that Roblox is taking 80.4% from you! Increase DevEx Rates - #49 by Jam_Toad
Thanks for letting people know about such harmful misleading statements such as claiming Roblox takes 72%, when in realty Roblox takes 80.4% in total after DevEx.
Glad I was here to post a link to the math proving this claim, it could have been bad for people to think that the small independent corp trying to survive took only 72%, instead of the actual 80.4%
I’m not sure why you’re phrasing your reply like this, framing me like someone defending the poor billion-dollar corporation. I’m simply arguing about the semantics of saying “Roblox takes this and that from developers”, I don’t understand why you felt the need to respond in this way.
The exact same I said in my reply also applies to what you linked, not to mention that the two percentages are measuring different things so they were bound to be different regardless. I’m not saying it’s not a more useful statistic, however.