I'm not that biased :) I love those books. Good post. I know in my experience, I helped a person learn 2D gaming before. I gave him a library of mine and he got his game up in no time. He looked at my engine and was very suprised how abstract I made it. The problem was he was use to my abstracted methods and wanted to stay there. I think that's fine, but I thought if he learned it from the bottom up with a few months of patience, he would have been 3x the graphics programmer he was at that time. He would have been somewhat more knowledgable right from the beginning, but now he's scared to learn it because it looks like jibberish to his eyes. It's something to think about :) I started like him but ventured out more easily, so maybe it's just what we want to do and where we feel comfortable at. I guess by default, I recommend low level material to start out with like learning C before C++ - it doesn't mean you have to stay there, but you have a better understanding of why we are the way we are today. It makes sense to me, but I am just one person. I do enjoy those books you mentioned, though. I can't wait til Intro to 3D Game Programming with DirectX 9.0 Edition 2 is released, although I'm sure it already has.
Learning is allways easier when doing trough interesting and comfortable things. Interests are very unique to each individual and shouldnt be represented as "guides" to other people on where to focus on.
Beginner is the one who is learning. Like for kids in school, they try to make school books look interesting to make it easier for kids to learn from them. That's for all the pictures. Ever noticed how university books usually look like very boring? Why? Theyre HC nutcases studying that far off but they know their scheibe.
I might be all wrong about this, though. I would tell everyone to learn every bit and trick about particles and particle engines if I would tell them do the learning curve I did. For some reason particles were about the first thing I programmed in C64 Basic language once I figured out there is variables and ever since particles been close to my heart... they still are and that's my magic tool of learning out new things, just make new sort of particle application with the new point of interest and I am up with the task learning like never before :D
Oh and btw, dxfoo. Gratz and good luck with your new job.
I would say without a doubt resource management and design patterns are probably the number one topics you should study if you are serious about game programming.
I see your point, and I take full advantage of that with my team. I can't say I'm a "game programmer" though because they focus on implementing gameplay features into the game. I'm sure he would need less knowledge than a specialtist in their area, but enough to work with them. I know what musicians do, I know what graphics programmers (me) do, AI specialtists, physics specialists, etc. but a game programmer to me sounds eithor like an internet person who specializes in all of this because he is his own team, or he is one who's task is to implement gameplay features into the game world. I can't say I fall into "game programmer," but regardless of position, their top priority is definitely to keep resource management, design patterns and code reusability in mind. I don't know why any company wouldn't. To be fair though, I have seen folks doing game features but took on the whole nine yards with graphics too. But I have seen it both ways. At any rate, game programmers need to learn graphics and graphics programmers need to know about gameplay. They can be quite interchangeable. I know with my job they keep us seperate but we still work together. Which reminds me, I gotta go. Caio :) I liked this discussion.