On 5/23/19 3:52 PM, Ola Fosheim Grøstad wrote:
On Thursday, 23 May 2019 at 19:32:28 UTC, Nick Sabalausky (Abscissa) wrote:
Game engines *MUST* be *EFFICIENT* in order facilitate the demands the
games place on them. And "efficiency" *means* efficiency: it means
minimizing wasted processing, and that *inherently* means *both* speed
and battery.
I think there is a slight disconnection in how different people view
efficency. You argue that this is some kind of absolute metric. I would
argue that it is a relative metric, and it is relative to flexibility
and power.
This isn't specific to games.
For instance, there is no spatial datatructure that is inherently better
or more efficient than all other spatial datastructures.
It depends on what you need to represent. It depends on how often you
need to update. It depends on what kind of queries you want to do. And
so on.
This is where a generic application/UI framework will have to give
priority to being generally useful in the most general sense and give
priority to flexibility and expressiveness.
A first person shooter game engine, can however make a lot of
assumptions. That will make it more efficient for a narrow set of cases,
but also completely useless in the most general sense. It also limits
what you can do, quite severely.
Of course there's always tradeoffs, but I think you are very much
overestimating the connection between inherent performance limitations
and things like API and general usefulness and flexibility. And I think
you're *SEVERELY* underestimating the flexibility of modern game
engines. And I say this having personally used modern game engines. Have
you?
FWIW, On 80's technology, I would completely agree with you. And even to
some extent on 90's tech. But not today.