If you cannot really program yet, I would suggest you postpone "game engine" for a while, and learn about a programming language (or two), and few games (from simple to a bit more complicated. First build some experience with programming and making games.
With those under your belt, you'll have a much better idea what you are talking about, and we can discuss "game engine" again.
As for programming languages, you could have a look at
- Python, a high level language, well designed, and easy to get into. It has loads of libraries.
- C#, the dominant language at Windows. Not much used outside that platform. I have no experience with it.
- Java, a quite simple language, but older.
- C++, more low-level language, quite unforgiving if you make errors, and sometimes a bit cryptic. Make sure you learn C++14 or C++11, anything else is too old.
- C, "bare" programming. Gives a good understanding of how a computer works.
Any language of the above 4 will do. At your current level of expertise, you'll have your hands full with getting anything running at all. Start with things you can do in the language itself, like hangman, or higher/lower. The first problem is getting into a programming language.
As a second step, you can make simple games, like pong, tetris, 15-puzzle.