If you want more quick results - use Unity game engine (it use C#, and if you familiar with C++ you will not have much problems).
But if you have a lot of free time and love programing, you can use low level "things" and make your game from scratch:
1)you will need basic understanding of...