I've written several articles explaining how a game engine works. However, I feel that I left out an important concept.
Over the years, my view on Game Engine development has evolved. It has changed from "This is how you develop a game engine" to "There is no one way to develop a game engine."
When I started, I spent hundreds and hundreds of hours pouring over technical books; learning, deciphering code snippets and trying to implement the same ideas I learned on my game engine.
There is nothing wrong with the approach mentioned above. But over the years, I realized that Game Engine development is not only science, but it is also an ART.
There was a point in the development of the engine when I stopped treating the implementations provided in technical books as "Gospel." Instead, I would make an effort to truly understand the "concept" and then go on and implement it my way.
When I did this, I started to fall in love with Game Engine Development. That was the moment that I felt that I was genuinely doing Engineering.
To develop a game engine, focus on understanding the primary role of each component, but implement the internals of each component, not as mentioned in a book, but as YOU think is the best way.
In other words, let your creativity flow through your game engine. Game Engine Development is science mixed with "technical" art.