3 ms·
All are tools to make games. HTML5 is not a programming language. It's a markup language, meaning that it describes what different blocks of texts mean. E.g. <b
by erikb 12y ago
All are tools to make games. HTML5 is not a programming language. It's a markup language, meaning that it describes what different blocks of texts mean. E.g. <b>this</b> is a bold text. The programming language you make games with for your web browser is called Javascript or Ecmascript.
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).