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.