Most of the commercial games that Ive worked on have been on proprietary engines. The game and engine are often in the same code base. Often each project begins by copy amd pasting the previous, and then tearing off all the game specific bits you don't need.
I've literally seen a code base going through changes like: Find "Transformer" Replace "Jedi".
Everyone would agree that we were using a quite advanced game engine (runtime and tool set), but it really was just simple, yet extremely widespread code reuse.
i think there should be made a distinction between reusing code and using a game engine. In theory you can use a game engine without needing access to the code, right?
Yes, but you can also use a library/sdk/language without needing access to its source code. Many libraries are distributed as closed source. This is still "code reuse" despite not having access to the code youself.
So when I reuse business application code I am using a business application engine? Hardly, they are useful libraries.
Arguably, yes, you are.
I've worked on statistical business apps where the core of the code-base has been reused in different projects and people did refer to it as the statistics engine.
"Some physics system" is a phyiscs library.
Self contained physics and rendering SDKs are often called physics engines and rendering engines.
Engine is a very vague term, somewhere on the same plane as "framework" or "SDK" OR "library". I don't think it has, or should have, a formal definition. It's meant to be an analogy, like "kernel".