Are you wondering how 2D collision detection in video games works? If so this book is made for you.
Determine shot impacts, find out which enemies are covered by lines of sight, recognize collisions of race cars or simply check if the mouse cursor floats above a button.
This book is written for beginners, new to the topic of geometrical collision detection. It contains plenty of illustrations and code examples which make it easy to understand the necessary concepts and algorithms.
The book is also designed to serve as a reference guide for looking up specific collision detection functions. Therefore it is useful for advanced game programmers as well.
The code presented in the book is available for download. The according link is listed in the book's appendix.
The majority of this book is—I suppose by design—a lot of code examples, written in C, of first simple vector math, and then a long list of true/false collision checks. The author covers basically every combination of collisions between points, lines, line segments, rectangles, oriented rectangles, and circles and gives a fairly brief explanation for the math behind it.
This is reasonably useful, but it's also the kind of information that you can find online, often for free and with more detailed explanations. Its biggest limitation is the intentional choice to stick to the most basic kind of collision, checking IF there is a collision, not WHERE it is. This has serious limitations for 2D games for obvious reasons.
The most useful information for me was probably the latter sections about bounding circles/rectangles (i.e. enclosing complex collision in larger simple shapes to avoid unnecessary checks), dealing with tunneling (when an object passes through an obstacle between updates), and optimization (some of which is C specific and probably less useful for higher level languages with more in-built garbage collection).
Overall, a decent reference, but a bit lacking for the price.