Title: A Practical Introduction to 3D Game Development
Description: This book introduces the reader to the necessary programming skills necessary to develop 2D and 3D computer games. The book lists a number of common game mechanics, and illustrates through examples how these mechanics can be bound to each other to both give the required behavior and allow the player to interact with game elements.

You can download the book for free via the link below.