This book is split into 4 distinct sections consisting of C++ Programming, Windows Programming, Hardcore Games Programming and Appendixes. I shall examine each of these in turn as each of them can really be considered a separate book!
The first section is C++ programming. This, oddly, is an actual tutorial of C++ from no knowledge to fully-fledged programmer in just 276 pages. This clarifies the title excerpt 'All In One'. The aim of the book is to take a complete novice and turn him into a games programmer in just one book with C++ being the first of 3 steps required. Now don't get me wrong, this section is very good with common sense and good code a plenty but feels rather rushed and cannot cover the full C++ language in any detail in such a small space. It also appears to be accurate code (if we let them off a few typos such as the scope resolution operator being shown as ;; in one of the tables).
The second section is Windows programming. This chapter covers basic Windows programming and includes an introduction to DirectX. The Windows programming tutorial only covers 40 pages with the rest of the chapter consumed by DirectX and some musing about the games library enclosed on the CD and used later on in the book. Call me old-fashioned but there is no way you can even begin to appreciate what is involved in Windows programming in just 40 pages. Fortunately the book comes into its own when DirectX is finally reached. This is what I wanted the book for. Basic 2D theory and practice is discussed including surfaces, vertices, bitmaps and primitives. If you are already a good Windows programmer who wants to learn some basic DirectX then page 357 (out of 862 relevant pages) is where you start.
The third section is hardcore games programming. Included in this section are chapters on data structures& algorithms, maths, artificial intelligence and physics modelling. All chapters are very in-depth and very readable. At the end of the section you will have a full DirectX working game based on Breakout. It is only 2D though with 3D being left to other books. The final chapter in this section is titled 'Publishing Your Game'. Although only 11 pages in length it does contain information that I have never seen before in a book. Topics covered include contracts and interviews with actual publishers.
The last section is the appendixes. This small section is where everything else has gone including CD-ROM contents (DirectX 8.1 SDK, various demos and the source code) and answers to the questions asked throughout the book.
So, whom is the book aimed at and should they buy it? If you are an inexperienced programmer I feel that this book will become very difficult about halfway through and you will need other books and experience before you can progress. If you are an experienced programmer you will start halfway through the book and thoroughly enjoy it. I feel that the author should have missed out the C++ tutorials and just written about the games programming, a subject he obviously knows very well. In conclusion, I will be keeping this book but only the latter half will ever be used again.