The phrase "You don't know what you don't know" rings true in game engine development. I had no idea that to develop an engine; I was going to need to improve my artistic skills. It may seem odd at first, but once you dwell into game engine development, it makes total sense.
A game engine is simply an API, a set of functions, that gives life to game characters. It gives them movement; it allows them to run, jump around a scene. It emulates physics forces such as gravity and collision that affect the actions of characters. A game engine takes the vision of the game artist, combines it with the commands of a game developer and it produces the entertainment you enjoy.
To develop a game engine, you need to understand two different worlds. The first world deals with programming, APIs, mathematics. The other world deals with 3D modeling tools, 3D character design, art, artist workflow.
My mathematical and programming skills have multiplied since I started this project. I don't know, nor can I say if my artistic skill has increased, but spending a lot of time with 3D modeling tools have made me understand the artist's language.
I spend 90% of my time programming. But my focus is not only to create a useful API for the game developer but also to provide a nice workflow for the game artist.