1. First choose your platform, which can be PC, mobile (and tablet) or both.
  2. For mobile application development you should learn C if your platform is iOS, Java if you are developing for Android. Of course you can choose other languages, like JavaScript or Flash, but you will find most support for C and Java.
  3. If you are thinking about game development for browser choose Flash (which is still the most popular language for web, although constantly loosing it’s popularity), but also clever choice would be HTML5, because it is gaining more and more popularity in the last 2-3 years. Old browsers don’t support or just partially HTML5, but you can run it on all smartphone’s browser.
  4. Unity is the most popular free game engine nowadays. You can write a game in Unity using C#, C++ or JavaScript (you can use others, but these three are the most popular). The 2D version is free if your game is not making $100,000 or more in revenue. Unity 3D costs money, but worth every penny.
  5. If you are making 2D games for multiple platform use Unity, it has converter tools for different platforms, but if you are developing for browsers (PC and mobile) use HTML5 with a free game engine like Phaser.
  6. If your game is ready you can publish it or sell it to a company. A simple mobile app can sell for $1000+, but if you publish it, there is a chance, that in-game advertisements can make more money or you can sell the game on Steam (if it is a desktop game) or in app stores.
  7. According to multiple developers, mobile apps make way more money from advertisements or in-app purchases than from a little $1-$2 price. So consider advertisements instead of a paid app.
  8. Remember one thing: if you wouldn’t play with your own game, than noone else would. It is not a bad thing to stop developing a game and start a new, way better than seeing it failing.
  9. Learning game development is a long process. Read books about the topic, watch videos and movies (like Indie Game: The Movie), play other developer’s games. Give yourself time and don’t give up if your first game wouldn’t be as popular as you wanted.