I am posting on this forum after a long time. I'm back because right now OP is where I was 10-15 years ago and I believe that I'm qualified to answer this question.
I did Diploma in Production Engineering after 12th grade because that is all I could afford at that time. I too had a dream of becoming a software engineer but couldn't because I was raised in a very humble family. I guess a a lot of choices are already made for you if you are born in a poor family.
So, 15 years ago I left my job and started my small web developement company and I used to develop websites for US based customers. That was mostly PHP/MySQL/Photoshop kind of work. I have some experience on Ruby on Rails also. Later on I moved to iOS (
iPhone and
iPad) applications as well as
Android application development because that was more profitable
business.
So where a total newbie (who is motivated) should start?
Following are the steps:
Start with learning about basics of programming as well as C++ by reading the following book:
http://www.amazon.com/Programming-Principles-Practice-Using-2nd/dp/0321992784/ref=sr_1_2?s=books&ie=UTF8&qid=1401568327&sr=1-2&keywords=stroustrup
This is the latest edition and it is expensive on
Amazon.in but it is the best book that will help you kill 2 birds with 1 stone. You will learn basics of programming as well as C++ at the same time. This will lay a solid foundation of your programming career.
Android development is basically Java. So a book to learn Java will help to start:
http://www.amazon.com/Java-Complete-Reference-Herbert-Schildt/dp/0071808558/ref=sr_1_1?s=books&ie=UTF8&qid=1401568531&sr=1-1&keywords=java+the+complete+reference
After that you may look at the Android SDK on the android developer site and start doing some very basic Android development.
or even better idea will be to buy a book on Android:
http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/ref=sr_1_1?s=books&ie=UTF8&qid=1401575629&sr=1-1&keywords=android+big+nerd+ranch
Following is the book that will teach you about real-life design patterns used for Android development:
http://www.amazon.com/Android-Design-Patterns-Interaction-Developers/dp/1118394151/ref=sr_1_1?s=books&ie=UTF8&qid=1401568745&sr=1-1&keywords=android+design+patterns
With this book you will learn about the design of apps that are successful in marketplace
I suggest taking a subscription at Lynda.com also and some of the video tutorials related to Android development there are also very good. One can take 1 week free trial there and to see if they find it useful. One should also do the tutorials on Javascript, Jquery, HTML, CSS, HTML5, XML, Git (for source code control) and MySQL on Lynda.com. Obviously some knowledge about Photoshop is also required and Photoshop tutorials on Lynda.com are also very good.
Take a good look at what Amazon AWS cloud services (
http://aws.amazon.com ) are and see the tutorials related to that on Lynda.com. Your C++ (i.e. Object Oriented Programming) and java knowhow will help here.
Now comes iOS development. For this you will need a
Mac desktop or Macbook Pro Retina (preferred) and that is costly.
For someone having proficiancy in C++, Java as well as Android development, iOS development is not very difficult. Following book is one of the best books on Objective C programming language:
http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X/ref=sr_1_1?s=books&ie=UTF8&qid=1401569112&sr=1-1&keywords=objective+c+big+nerd+ranch
and following will teach iOS development:
http://www.amazon.com/iOS-Programming-Ranch-Guide-Guides/dp/0321942051/ref=sr_1_2?s=books&ie=UTF8&qid=1401569112&sr=1-2&keywords=objective+c+big+nerd+ranch
I suggest buying only the latest versions/editions of all books and checking the reviews of the books on Amazon.com (not amazon.in) before buying. Some books may be available on torrents also but I'll not suggest going for piracy.
One also has to buy memberships of iOS store from
Apple or
Google Android store during the learning process.
All this is time consuming and as a non-programmer who is now deep into programming business, I know that learning curve is very steep but the payoff in the end is also good. It looks overwhelming in the beginning but things start to fall in place once you have learned C++ and Java.
I believe that a motivated person who has good IQ and english comprehension can become a good mobile developer with 400-600 hours of effort in learning. Also, it is worth mentioning here that most mobile developers are experts on one platform only, i.e. Android or iOS and they have some knowledge about the other platform. So in the beginning a newbie should concentrate on Android development only because that can be done without buying an expensive Mac. Any current
Windows PC is good enough for learning Android development.
All of what I have mentioned above will help the OP or anyone in becoming decent mobile game developer or an app developer in general. In last few years most of the game development industry has moved to mobile platforms only and this trend is likely to continue in future also. Everything that I have suggested above will help anyone in becoming a complete developer for a platform. Only stand alone knowledge of C++ or Java will not take anyone very far. That is just a starting point in the long journey. You have to have a range of skills to do something worthwhile.
I believe that coaching classes in most institutes in India are just wastage of money because they are taught by under-qualified and not so experienced instructors. Quality of tutorials on Lynda.com is way better than what is found in institutes in India.
My other suggestion to OP will be to start MCA degree in correspondence. It is never too late for education. In Delhi NCR one can easily join Kurukshetra University MCA in distance mode or Amity university in distance mode. That will help in getting formal degree in Software programming that is as good as a B.Tech in Computer Science for most employers. There is MCA in IGNOU also. To join MCA, you need to be a graduate in any stream. Even a BA (Pass) will do. You must have done Maths in your 12th grade or you have to appear in a special Maths exam while doing MCA.
I hope this helps. Please post here if you have more questions.
PS: If you want to do web development for desktop PCs only instead of mobile apps then there is a different path to follow. Let us and know and I'll write about that too.