The gaming platforms of 2017 – mobile, console and PC – are very powerful and, in many ways, quite similar to one another. Game engine development is not so much about struggling with weak and exotic hardware, as it was in the past. In my opinion, it’s more about struggling with complexity of your own making. It’s easy to create a monster!
This article tells about writing your own game engine in C++. The aim here is to get arcade gameplay with a 3D cartoon look. The first piece of advice is to get something (anything!) running quickly, then iterate. Using SDL, it was easy to get a lovely spinning cube using OpenGL ES 2.0. Then start improving it.
This iterative approach works well when writing a game engine because, at each step along the way, you have a running program.