Should you create your own game engine?

It depends on your goals. I'm actually developing a 3D game engine of my own. Let me tell you this: It is extremenly difficult to develop a game engine. 

There are so many things that you need to learn. For example: Linear Algebra, OpenGL, Shading Language (GLSL), Quaternions mathematics, Design Patterns

Do you need OpenGL to develop a game?

In order to develop a game, you need a way to communicate with the GPU. This is where OpenGL comes into play. OpenGL is an API that allows you to transmit data from the CPU to the GPU. The data that you normally send to the GPU are the vertices, normals, UV coordinates of a mesh. A mesh could be a game character.

OpenGL is language independent, so you can interact with the API by using programming languages like C, C++, Objective-C, etc.

So, in order to develop a game you need to have access to the GPU. You get access to the GPU by using the OpenGL API. You interact with the API with the languages mentioned above.

Which programming language should you learn?

Which programming language should you learn?

Confused on which programming language to learn? Learn what your choices are and how they can help you reach your goals.

Do something beyond your intellectual capabilities

Do something beyond your intellectual capabilities

Learn the benefits of working on complicated coding projects. Learn why it is beneficial to you and how it can change your life.

Why your coding knowledge is only worth 50%

Why your coding knowledge is only worth 50%

Learn why it is not enough to state that you are an expert. Learn how showing what you are working on or teaching can help you set yourself apart from other developers.