I want to get into game programming
(and, as a side effect, windows
programming), especially 2d games (at
this point, I really want to clone
tetris, since that is my favorite game
of all time). I do want to do 3d
programming, but that seems unfeasible
alone.
My question is, is it possible to
learn from old books/textbooks? People
have recommended "Tricks of the
Windows Game Programming Gurus" (or
similar), but that is almost a decade
old. Has the gaming industry changed
too much to learn from that?
These two paragraphs don't match up. The 'industry', for the most part, isn't making 2D games or cloning Tetris. So why worry about what they're doing? If you want to make your own games, especially 2D ones, then you are best off avoiding the tools and languages that the pros use and instead picking more appropriate ones.
If you're hoping to join the industry later, that's fine. But you don't need to learn everything in one go, nor is any learning wasted if it gets you started and gets some games made. I'd be more inclined to recommend Flash or Python/Pyglet for aspiring games programmers.
If you insist on C++ them I'd recommend using the SDL or SFML libraries to get started on your tetris-like games, rather than using old texts that feature DirectDraw and the like. The old books contain plenty of useful conceptual information but with the old APIs you'll be jumping through hoops that you'll never need to jump through again. It's up to you how much time you have to spend.
If it isn't possible, what are some
good textbooks I can pick up to learn
on today's software (I feel like it
might be pointless to learn anything
about DX9, when DX11 is around the
corner)?
Note that DX10 and DX11 only run on a very small number of platforms. If you go with them then you exclude not only over 75% of desktop PCs but pretty much every non-Xbox games platform. Forget about bleeding edge technology - today's cards push patterned triangles around, have done for 10 years, and probably still will in 10 years. Learn the underlying basics with OpenGL or DX9 or even better a pre-made 3D engine to begin with, and you'll have transferrable skills.
Oh, and remember that games != rendering. Whenever people see games they think it's all about 3D but the graphics are only perhaps 10%-25% of the game. You won't be spending the majority of your time on graphics unless (a) you're the best graphics programmer on the team, and (b) you didn't just buy in an external engine from someone else like most companies do.