So, the big difference between video game programming and any other kind of programming is that you're working with primarily two systems: a physics system and a rendering system. I'm using 'physics' in a broad sense, concerning the 'world' that you're playing in. There's the physics that hold all the information about the objects in the game, and then the rendering system that deals with showing this stuff to the player. Obviously there are other systems like networking and game mechanics and such, but those are the two main ones.
Something that rendering and physics have in common, is, well, math. To be more accurate, discrete vector calculus. If you don't have a strong foundation in vector calculus, it's going to be a little hard to understand the math behind those systems. It's entirely possible to make a game with zero understanding of either system though. Some game engines these days have done away with programming for the most part entirely, leaving some kind of
WYSIWYG editor and flowchart system to dictate game mechanics. Other ones have made it as simple as possible for you to completely avoid all the back-end programming and just program the mechanics for individual entities -- Unity is a good example.
So there's two places to start: the 'fun' way with making cool stuff using oversimplified game engines, and the 'hard' way of learning how all the stuff works and then building from there. Obviously you're going to choose the fun way, so don't even bother with the book you mentioned in the OP. Instead, your best bet is to go ahead and download a copy of Unity or Torque3D / Torque2D and start following beginners tutorials.
There are so many different tutorials on YouTube that it'd be hard not to learn. Whenever you want to do something specific, just use Google or Youtube and type "unity" before your question. There will be an answer.
Also, to qualify this, I've got about eight good years of video game programming experience under my belt and I'm a member of a game development team named Centhra with our own in-house
custom game engine that we've used to publish multiple games for competitions such as
Ludum Dare.