4 ms·
I think there is another benefit of a custom engine — you built it to fit your workflow, so you could be extremely productive with all kinds of tools built spec
by markus_zhang 3mo ago
I think there is another benefit of a custom engine — you built it to fit your workflow, so you could be extremely productive with all kinds of tools built specifically for this workflow. UE or Unity do not consider your specific cases.
The problem is that companies are not willing to groom new engineers to get familiar with the code.
- formerly_proven 3mo agoUE is also just not a good engine. If you reduce "what is a 3D game engine" really hard it is "framework for running an input-process-output loop while consistently rendering audio and video". UE fails at the latter (factually unfixable shadder stuttering issues). A pragmatist might consider the taxonomy and say UE is therefore not a game engine. Unreal seems to be a great framework for assembling and generating content, though. Maybe Unreal Free was the metaverse all along? Meanwhile idTech certainly had issues, mostly in regards to dynamic levels, especially in older iterations, but "consistently rendering audio and video" was certainly never among them. It is well above the industry mean when it comes to the core of what a game engine is.
- vvillena 3mo agoIsn't the shader stuttering an issue with games refusing to compile shaders ahead of time?
- Sleaker 3mo agoNo, I think it's widely regarded as engine limitations even when people continually claim it's up to individual game devs to optimize their games. If that were the case then why do nearly all UE5 games suffer from the same engine stutter issues. And to OPs point, even if it can be optimized away, why isnt the engine in a state where the baseline performance for realtime rendering does not exhibit these stutter issues on the majority of games.
- teamonkey 3mo agoUnreal’s limitation is that it doesn’t know how a shader will be used until it actually tries to render it on the target hardware. This is a trade-off to gain flexibility and rendering performance. The engine has to compile shaders on the fly when it is first used, which is fine if the shader is simple, but nowadays that usually is not the case. There are ways to make a player’s PC compile shaders before realtime play begins, but it takes some setup and smaller devs might not know how to do it. This is most likely the reason why stuttering happens. On fixed hardware targets (consoles, Steam Deck) you can ship precached shaders as you know everything about the target hardware.
- formerly_proven 3mo agoConsole vs PC is a red herring since UE games still stutter on consoles, people just notice that less because most games run at 30 fps anyway. You can read Unreal's own blog posts on this and they'll actually explain that this is mostly down to their material system (and game logic/scripts reaching into it) being designed to create nearly infinite shader variations on the fly in response to arbitrary world/game states. This design choice separates engines which have shader stutters from those which do not. https://www.unrealengine.com/tech-blog/game-engines-and-shader-stuttering-unreal-engines-solution-to-the-problem https://www.unrealengine.com/tech-blog/game-engines-and-shad... https://medium.com/@GroundZer0/what-unreal-doesnt-tell-you-about-shader-permutations-ac4133bc5699 https://medium.com/@GroundZer0/what-unreal-doesnt-tell-you-a... https://therealmjp.github.io/posts/shader-permutations-part1/ https://therealmjp.github.io/posts/shader-permutations-part1...
- teamonkey 3mo agoYes, that’s what I said. Powerful and flexible, at the expense of not being able to know how it will be used ahead of time. Bundling and precompiling is not a fool-proof guarantee but it is very effective. Most often when a game has shader stutter the developers have not bundled or allowed the shaders to compile before gameplay starts (or it’s actually some other unrelated issue). The engine doesn’t do it automatically.
- 3mo ago
- gamblor956 3mo agoOr maybe...it is a good engine when configured and used properly, and many developers don't take the time to learn how to do so. There are plenty of UE games that don't have shader stuttering issues because there are plenty of things you can do to avoid shader stuttering. UE-powered games collectively earn 20+ billion worldwide annually each year. Unity-powered games also earn 20+ billion annually. This means that each year these "bad" game engines power more revenue than every YCombinator company combined. Meanwhile, idTech, however technically amazing it may be, is so complicated to develop for that even id Software doesn't use it for every game.