I am an normal programmer with about 3 years of experience, who is interested in getting into game development. The problem that I face is that when I look at these "beginner" books, most of them teach basic programming skills, and I don't have the patience to sit through it or find them worthwhile. But, when I look at more advanced books, they're over my head, and once again, fruitless to me. What I'm looking for, are books that explain the nitty-gritty internals of games, but at a more reasonable level.
For example, I'm very familiar with all kinds of data structure (hashes, trees, linked lists), and with many common algorithms (sorting, searching), but I wouldn't know how to, say, implement collision detection effectively. I also have experience using foreign libraries, so I know how to use documentation to learn an API, so I don't need a "Learn to use X" book either.
Any suggestions? Any that are free?
P.S. I should note that my level of mathematics and physics is relatively low, and a book that gently integrated those things would be a plus.
EDIT: I should mention that I'm interested in 2D programming, and at this point I don't really care for 3D yet.