I don't have a firm grasp of the C++ language.
When I got the new edition of "Teach Yourself C++ in an Hour a Day", I didn't finish reading it. And that was because I wanted to read through the whole book. I got bored eight percent in, and here's why:
I'm pressuring myself. I'm making myself read throughout whole specifications and books about subjects I either already know or only need to know an area about. So, today, I have a new goal:
To read throughout all of the C++11 Chapters of "Teach Yourself C++ in an Hour a Day", and some of the class / template chapters. And the reason why is simple: I already know everything else, and I've already read at least two beginner books about everything else. I do not need to re-learn any basic information, and if I attempted reading the first few chapters, I would bore myself and give up.
This is what I'm enjoying about my new C# book, also. The title is "A Programmers Guide To C#", and it doesn't waste any time with the basics. It goes in depth, using terminology I understand from other programming languages.
Considering how many books I'm currently reading, I am taking a break from Hooded. I am also making some more basic games (Space Invaders, Tetris) using C++ before I move on. I have been having trouble with Hooded, and have concluded that many of my problems stem from an in-complete understanding of C++ and game development.
I'm sorry, however at least I've made a lot of progress over the next few weeks. My next Hooded update should include a player that you can move around!
Cheers !
What I would recommend instead is to spend a good deal working on projects that don't have any significance. They are intended from the start to be throwaway projects. This way, you don't invest any sort of emotional attachment to them. If they go sour, oh well. It was just an experiment. You still have a great deal to learn about game development, and in that process you are going to write a huge amount of code that really isn't suitable for a finished product. Best you do that learning and code writing in a project that won't discourage you if it fails, and won't saddle you with a large amount of bad code that you have to deal with for years as you finish your project.