Do you have to be a great programmer to develop a game engine?

You may think that to develop a game engine you need to be a great programmer or an expert in computer graphics. As someone who has developed one, let me tell you the main quality required to develop a game engine.

Break things, learn and repeat

You don't become an engineer, a developer, a maker, by just solving equations or following a tutorial. To become one you need to break things, learn and repeat.

I hate documenting source code

If you hate documenting your source code, you are not alone. I also hate it. There is no way to avoid it. Luckily, there are free tools which make documenting your source code a bit less frustrating.

The dumbest mistakes I've made as a developer

I have made plenty of software development mistakes. But every time I remember these mistakes, I can't help but laugh. I hope you can learn from them.

What in the world is a Dual-Quaternion?

Dual quaternions are relatively new. You don't find them in many computer graphics books and very few people use them. Nonetheless, it is a mathematical concept you should be aware of if you are planning to develop a game engine.