At my school we used this book for our networking class. (I had been begging our teacher to show us some directPlay stuff... yes, I'm aware that directPlay is ugh in terms of networking, but, it was a lot better than learning some java networking stuff. At least to me).
This book was an invaluable tool for designing my networking system. I basically gutted this networking system and stacked on some variable size packets that I studied from one of the Lamothe (actual author:Todd Baron ) books. (weird book, guy talks about his exploits in ultimate online for like, almost a chapter before he goes on to explain about how you can hack the networking system for exploits.
This book shows you how to implement a peer to peer network and then treat it like a server/client system. It's an interesting (I chose to just go strictly peer-to-peer in my system) approach. And I read in one of the Game Programming Gems a way to bypass some of the connectivity issues with peer to peer networks.
Regardless, this book is an EXCELLENT study of networking for games. I read the networking chapter probably 20x during our project and it took me quite a while to figure out exactly what he was doing with it. In the end, it's a logical system that works fairly decently.
We didn't use the rest of the code in the book too much. Some of the other people in my class modified the FPS game to do other things (made a shooting gallery, other's made some text based games on the networking code, etc).
The source code is useful and there is an update available for it (his precious linked list had a memory leak in it... he really harps on about it).
If you have never designed a game system before. This book is going to be a tremendous help. It teaches a bit about design patterns without all the unnecessary mumbo-jumbo, and how they directly relate to game programming and how they're useful (helloooo singleton).
The code is in visual studio 6 I believe, and you have to set the default project to the actual project and not the engine to get it to run. Also, if your hardware doesn't support hardware vertex buffers (you have integrated graphics, we had a couple people on the team with this issue) you have to change one of the directX intializers to something else to account for this (can't remember the call now, look at some other directX init calls from somewhere else and you can find it).
He goes into quite a bit of detail about each topic and the basics, and then delves down into the design of each system. It's very methodical and well thought out. AND YOU GET SOMETHING WORKING AT THE END!
Do not get this book if:
You are new to C++(you better have a CRYSTAL clear understanding of pointers and OOP, classes etc).
You are not interested in engine design.
You hate directX, or directPlay.
You hate max; he uses 3dsMax to make the scene files etc.
You are an industry professional that has a basic understanding of how a game engine works. This is definitely a n00b book.
You expect to get your hand completely held at each step. He does skip over some details that are easily discovered if you delve a little into the MSDN or any other online resource.
Get this book if:
You are incredibly interesting in engine design and want to get your feet wet; as well as learn some engine design in the process.
You're interested in any of the systems this book covers ( I can really only attest to the networking system, and that he uses directPlay, which is in sunset mode).
Interested in basic modular programming and looking to expand the code in the book to meet your needs or to experiment with. It is an incredibly useful base to start with.
Are extremely comfortable in c++/directX and are interested in expanding your knowledge and it's applications into games.
Overall, the book was a good purchase and is an excellent stepping stone into engine design. It has been very useful in my future projects since I've used this book in my course work.