Making Games with Python and Pygame (2012) [pdf]
inventwithpython.com
inventwithpython.com
Or is it better to use HTML5 these days? I wonder if someone could write something to compile pygame to HTML5?
It's also not too hard to get started in Unity. I haven't tried Monogame, but it could also be a good option. Both of those use C#, and I believe Monogame can also work with any .NET language.
Once you're done grasping the basics and are able to implement a few standard games using simple tools you should consider moving into more commercially appealling tools, if that's your endgoal of course.
But when you compare HTML5 and Android... one is a mobile platform and the other is a programming language. That's where my question lies. There's no one programming language you need to use for iOS or Android. Android and iPhone are not programming languages.
But we are smart people, we don't need to be nitpicking, right? We know that when somebody says they make games "with HTML5" they mean "for modern web browsers using all the tools available, like HTML5, CSS3, JS, AJAX, etc". The same applies to "for Android". The common chain to code an Android game is in the Android Java version. You can off course use other tools as well to get something on an Android device that can execute as a game, but special cases would have been mentioned as such.
In any case game making, at least for the beginner, is not so different, no matter where you start. There's a canvas and you need to get started drawing something on it. You need to track your game state, images and audio data, you need to react to key and mouse events, you need to write a reasonable game loop. And that was actually the point I was trying to make. Pygame tries to take away simple things like the game loop. But things that are always a mess like the key handling (if you use more than WASD and space), lightning, etc seems to be in your hands (at least I haven't found a nice helper for lightning in the pygame docs).
And yes, in the end, making the decision to make games for mobile platforms (Android or iPhone), for desktop platforms (pygame, C++, Löve2D (yes, programming languages and frameworks compared, uh)), or for the web, that's one of the basic decisions you need to make when starting to develop games. The audience is different and the problem space is different in some details that will cost a lot of time to get it stable in the end (e.g., different browsers treating your code differently).