This is the path I’ve taken so far and has helped me lose the fear of learning game programming and feel more confident to continue. Learning by yourself is not easy and requires a lot of discipline and dedication, the good thing is that it has a much lower cost compared to a formal education in programming (like going to University). For those who find it difficult to focus the Pomodoro technique will help you on your way.
It is important not only to learn how to write in a language but also to know the theory and foundations of programming. These fundamentals are the same to almost all programming languages and classes from Professor Simon Allardice at Lynda.com are very good explaining the concepts. This road is to develop games based on Unity with C# language but you can apply it also for programming in general. At first you will not understand everything, and that’s fine, but the moment you learn the same concepts from different sources you will have a better understanding of each topic.
The Way to Lose the Fear of Learning Programming for Video Games
First Step – Enter the Matrix
Concepts and Foundations
Unity 3D Learning
Version Control (optional)
It is important not only to learn how to write in a language but also to know the theory and foundations of programming (this will help you a lot). These foundations and concepts apply to almost all programming languages and courses from Professor Simon Allardice at Lynda.com are very good explaining those concepts. This path is based to develop games in Unity with the C# language but that is not the only way to develop games. At first you will not understand everything, and that’s fine, seeing the same concepts from different sources will help you to have a better understanding of each topic.
After completing these courses you will feel more confident so you can keep learning more. If you have trouble perhaps a formal education program may be the solution, but learning on your own is a low cost alternative for those who can not afford that kind of education or just want to learn specific stuff. As a last tip have a lot of patience, do not try to use shortcuts, practice often and step by step, learning new things every day that will help you on your quest of developing video games.
Finally something that can help a lot is having a programmer friend or contact who can guide you on certain things, in my case I was lucky to have @androbtech who patiently guided me along the way.