Quite the contrary. A good engine has to be flexible, but if you're making a game then you will naturally favour development choices for your engine that supports that game. If you are developing an FPS, you will make optimisations for requirements very different to a high speed space racer, an open-world RPG, a side-scrolling adventure game and an isometric MMO shooter which licensees are wanting. If you have a game that uses dumb grunts, you're not going to invest as much effort developing open world simulation and your game would have no means to test that simulation if you were to include it.
A good engine has a load of users that provide feedback to the engine developers in the form of wishlists. A good engine developer will spend their man hours creating test cases and solutions instead of numerous art assets and cut-scenes. They can develop single levels of a racer, an FPS, a cutesy adventure game, etc. and test each game type. Most developers don't
want to get to know the hardware either, hence the reliance on middleware, whereas engine developers can get to know the hardware intimately as that's their whole purpose. Sony's ATG for example doesn't make games, but just researches technology for other people to use.
An engine developer who makes games is also in competition with its licensees which is a conflict of interests. You know that if there are issues with two different aspects of the engine, the engine developers will prioritise the issue that affects their game over anyone else's game
The reasons for going engine only, or certainly branching off games development to a new company, are much stronger than the reasons for not (which basically boil down to 'we can't be bothered to'
). That's not to say Epic will do that, but it certainly isn't preferably to the Unreal Engine as a tool for everyone for the engine developers to make games themselves with it.
Sure
. Flexibility is a huge asset for an engine.
Even so, putting their focus on making an engine without a specific game in mind is bad (unless developers end goal
is making an engine but not a true game - which of course is fine too, I just wouldn't expect a game showing the true potential of the machine).
You have to take into account that when you are making a game the basic architecture of your own game becomes an *engine*. That's not really bad at all, in fact, that's good!!
You end up with creating and having a game, AND a very gamely-specific engine.
But -there is always a but- when you try to create an engine you develop a game at the same time, you make a generic general-purpose "engine", or even in some cases what could be called a genre-specific engine...
What's more..., perhaps you can try to build a sub-genre specific engine, and then, bummer, you have a generic engine and you rarely end up with a good or fine game at the end of everything.
If developers focused on making games for the new videogame consoles coming out this year, they could polish and refine the skeleton architecture of those games and reuse that structure with a solid base for their next project as their *engine*.
Especially if the next game is similar enough.
Look at what Epic did with their crappy presentation on the PS4 -compared to the PC version-.
They focused on making an engine for their games, and now I can see them ending up rewriting everything anyway, or quitting the development of some features, when they find out they have a engine that makes cool tech demos but it is truly worthless for a real game.
To me it is clearly an issue of focus. Either you make a game or you make an engine. All the more so, it is about what you prefer. Is the focus on making the engine, or the game?
If you create an engine you usually write a bunch of stuff for the PS4 or Infinity or PC, etc, you don't need, and make the engine too generic to be of actual use.
More specifically for advanced developers who know their stuff and like to learn about the hardware.