I'm of the mind that you want to know lots of languages, and how the same "program" looks in different languages. Then you can make better decisions about what parts of a program should be in which languages. You can use any language to write a game. The concepts themselves behind organizing data to execute are more important than the language, and practicing different languages helps you become comfortable with those concepts. Then you can "pick up" and get a feel for new languages quickly without much re-learning.
So I think that it doesn't hurt to try to learn and practice multiple languages at once, even as a beginner. C++ is certainly widely used in industry game programming (where it's survived more than in many other programming domains). OpenGL usually comes along with that for high performance 3d programming. Python has libraries for writing games, is considered 'easy' syntactically (personally I agree). You might skip C++ for now and focus on C and python, and return to C++ after studying Object-oriented.
You want to learn the concepts behind what your code does, and efficiency trade-offs. To write more complex games you simply need more knowledge - knowing which data structures are most efficient for the requirements. How to structure your programs so that they don't fall apart in your head when you want to fix a bug or add a feature. With a bit of rudimentary programming knowledge and Python you can write a pretty good game without graphics for practice. And there is PyGame and other libraries for graphics, sound etc.