I first learned of this book from author Robert Nystrom’s entry on the Uses This website (also featuring the greatest profile photo on that site, maybe ever!). The book can be found on its dedicated website, in a variety of electronic and print versions, as well as being able to read online for free. I must applaud Robert for that latter option, as it’s a great way to know for sure the book covers what you want to learn before buying a paper copy (which for me is still superior for longer reading sessions as well as reference).
Since it’s available to look through online I won’t go through all the chapters or such. I will just say that as a still-novice programmer much of the details went over my head, but I did understand the general concepts Robert was talking about. His hand-drawn diagrams are also perfect and wish all programming books utilized that style!
While you will still need other books to start to learn programming, both in general and for games, I think this book is worth picking up at least at the intermediate level to begin learning about some general concepts as well as learned lessons from others to incorporate into your own work.