over 3 years
ago -
Crater Creator
-
Direct link
Originally posted by Katitoff: The key phrase is "no optimisation, because its alpha".
Whenever you have performance related issue, just remember the phrase.
This is a distorted view. Simply put, if there were literally no optimization, then performance would only ever go down as they added more stuff each Alpha. But some Alphas have had better performance than the previous Alpha, on the same hardware, speaking in part from firsthand experience. If you bother to read patch notes, you’ll see the developers frequently document some of these optimizations. They are not top priority during the alpha phase of development, almost by definition, because as Donald Knuth would say, premature optimization is the root of all evil.
Now, back to the original question. Why would shadows be more taxing in 7DtD than in other games? Because, by design, nothing is permanent in 7 Days to Die. Any triangle of geometry could be expected to cast a shadow, and every one of those triangles can be created or destroyed at any time.
Other games have static worlds. One of the major ways you achieve modern graphical fidelity in real time is to precompute or “bake” the shadows into your maps ahead of time, for all the geometry that isn’t going to change. You can take hours to compute really high resolution shadow maps if you want. Then everyone that plays the game can benefit from those calculations, without having to compute them on their own machines.
7DtD has no geometry that isn’t going to change. And worse, the player can add an unlimited number of light sources. So it’s only dynamic shadows, which are more taxing because you’re recomputing them all the time. There are optimizations you can do, for sure. But the shadows are and will continue to be fundamentally more taxing, compared to a game built to take advantage of a more static world.
It’s a real trade off. Any developer doing what 7DtD does will run into this. It will still be true after the game is fully optimized, unless TFP manages to pull off some sort of revolutionary technological feat.