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.

How to Render Text using OpenGL ES

How to Render Text using OpenGL ES

Rendering text in OpenGL is not as intuitive as you may think. There are some tricks which you have to apply. Learn how to render Text in mobile devices using OpenGL ES.

How to implement the Composite Design Pattern

How to implement the Composite Design Pattern

Learn how to implement the Composite Design Pattern using C++.

How to implement the Observer Design Pattern

How to implement the Observer Design Pattern

Learn how to implement the Observer Design Pattern. Learn why you should strive for loosely coupled designs between objects that interact in your coding.