A friend of mine is making the jump from graphic designer to game developer, and I have decided to work with him in my free time. Neither of us have much development experience, but I am very interested in learning Python, and my friend wants to learn C++.
I have read that C++ is the common denominator in game programming, but related questions here on SO recommend that new users avoid more difficult languages like C++. My #1 concern is creating games that are portable between operating systems. I will be using Linux to develop and play-test the game, but we would like it to run on OSX and Windows as well. We have no interest in 3D game development since we don't have any experience with 3D graphics. I would be perfectly happy with graphics equivalent to a game like VVVVVV - very simple 2D with minimal (or zero) texturing.
Also, is it necessary to use OpenGL for 2D graphics, or do C++/Python have some graphics libraries capable of producing game-worthy graphics? Remember, by game-worthy I mean simple, pixelated graphics like Minecraft or VVVVVV.
We have some books on Python, C++, and OpenGL, and can dive into those if that's the right way to get started. What does everyone recommend?
As someone whose familiar with the "I'm new, I want to do X, what should I learn?" thing, having done it quite recently, I'd say stick with Python for now. As others have mentioned, there are some decent libraries like PyGame out there, and C++ is well, a little complex.
If you're learning both how to put the parts together to make a game and tangling with the language, it starts getting difficult to untangle which one is actually causing your particular problem. And its always possible, once you have a good feel for what you are doing to learn a new way to do it by picking up C++.
2D Game Programming for Linux, OSX, and Windows - C++/Python/OpenGL?