Just a small point - but very often game development doesn't involve building an engine at all because an existing general engine is used.
The situation isn't all that different to building a database application - you could start by building a database engine, but to do that right it'll be much more than half your time. Or, you could use one of the existing database engines.
Many game engines are flexible enough now that you can do everything you need to for a wide variety of games without modifying the core engine itself.
Just a small point - but very often game development doesn't involve building an engine at all because an existing general engine is used. The situation isn't all that different to building a database application - you could start by building a database engine, but to do that right it'll be much more than half your time. Or, you could use one of the existing database engines. Many game engines are flexible enough now that you can do everything you need to for a wide variety of games without modifying the core engine itself.