An interesting discussion, giving my two cents to that topic; I think a game engine is more than the game that is set on top of it. The game engine is at least at some point a genarlized framework that offers a feature set you make your game with. This feature set should include
-
Basic platform handling and API abstraction (in C like languages)
-
Provide some kind of memory management (in C like languages)
-
Have a math library
-
Have an input library
-
Provide some kind of render engine
because such features is what you need in every game regardless if it is 2D/3D or a text adventure (yes folks, text is also rendered!). I don't think a game engine needs a lot of asset pipelines, a complex editor or online.store capabilities as a must have to call them game engine.You could even have your game engine read a lua file and create the level from it without a visual editing feature, have a Blender plugin that converts assets into a format that could be directly loaded into the game etc.
Unity, Unreal and Game Maker are designed as a whole in one solution what is absolutely ok but dosen't make them more a game engine as for example Urho 3D is a game engine. Today we are familiar with tools like a full blown level editor or even Intellisence when we code but I think convinience is ok for some point but convinience also makes us lazy.
In my case, I designed my code to be modular, small and flexible, write my own tools and try to do as much on my own as possible. First this was the reason when I started learning all these stuff but today I came to the conclusion that doing stuff on my own has brought me to where I'm and I would rather use my own Array implementation than using the STL one, even if it takes longer to come to see results, even if my results don't 'look' that fancy as those from a million $ busines company.
But back to topic, I also disagree with the statement of @1024 per se but just for the fact of the feature set that a game engine must have. For me a framework begins at the point of general code reuse, a game engine begins at the point when a framework reached certain feature set that is but not most entirely related to games (as described above) and anything beyond is a game creation suite.
This said, lets be nice to each other ?