So we have a “definitive” C++ book list over at stackoverflow here: c++ faq - The Definitive C++ Book Guide and List - Stack Overflow
And although several times somebody wanted to take that question down because it was more of a discussion/debate, it stayed up because it really isn’t a debate. The books in the list have been chosen by public consensus. That is, from individual to individual there will be differing opinions, but on the whole, that list is the “public opinion”.
Now, never mind that list. Introductory and beginner books from it are just as useful to a game programmer as they are to any, however once you start delving into more advanced books and topics, there is a big separation between game development programming and enterprise programming. You can’t really apply the same techniques that are used to develop business enterprise solutions to develop games. It would be similar to apply a screwdriver to a nail - you can manage to get the job done, but it won’t be pretty.
So instead one has to look for resources that are focused on programming games. And although many techniques can be applied in both fields, many others should not be. The most obvious differences aside, I’ll bring up two small examples to demonstrate two widely used techniques/methods in enterprise that cannot be directly applied to game programming - the STL in C++ and Test Driven Development.
From what I’ve read (and here I might be spouting some nonsense, because information on this is hard to find), you cannot use STL containers and algorithms when you develop for video game consoles due to exceptions. Instead, developers of such games have to either create structures of their own, or use libraries that mimic the STL, like EASTL. (Nevermind the propensity of many senior game programmers to “roll their own” in the video game industry).
TDD you could argue is fundamental to large enterprise software creation, yet for games this is not so. Many components of video games are either visual or rely on probabilities and chance, and although you could write tests for other parts of the game, this is mostly not done.
TL;DR: I have tried to highlite the difference between programming for business and enterprise solutions vs programming for video games above, and why I think we need to have such a list. And although there are lots of lists such as these if you search for them, these are hosted on random blogs and forums, usually compiled by a single person or small group, which often represents the opinion of that single individual or group, and sometimes are actually just thinly veiled advertisements. The real question I am trying to pose is how come after decades of game development, we (as in game programmers and users of the internet), cannot compile a list of game programming books as has been done for programming with C++ in the link at the top? Not just any list, however, but a “definitive” one that is accepted by the public consensus.