The book only covers GAs and ANNs but those are two of the hottest AI algorithms being looked at in the gaming industry. The sample programs are also quite instructive.
The only gripe I have is I thought the material on Win32 programming was unnecessary. There's a plethora of material on Win32 out there, both at the bookstore and the internet.
Mat, thankfully, is the only author in the entire series that is genuinely interested in imparting useful knowledge to his audience. It is held back by the bloat required by the series, and has far too many side anecdotes with what appear to me to be little purpose other than relaxing the reader, which while a useful ploy, is somewhat out of place when trying to teach an audience. Whilst it could do with some aggressive editing, Mat does a good job introducing a set of topics that he is obviously passionate about, although I would stress that it is for beginners wanting to get a 'feel' for genetic algorithms and neural networks, not for people looking for explanations of how the various algorithms work, or why particular formulas are used.
As with all Game Development books there is a wasted section describing windows programming, but then the aim of this series (not the author's fault) is to fill a book with as many pages as possible, no matter whether there is content for it or not.
I'm hoping that the author AI Techniques for Game Programming writes a follow up book going into more details with greater explanations of the reasons behind the selections of the genetic algorithm pseudo evolutionary formulas. Very interesting stuff.
So, this is a good book for beginners, that is somewhat too wordy for my taste, but represents the only book in this series that is worth it's buying price.
It is a pity that there may be other Game Development books written by committed authors such as Mat, because due my disgust at all other Game Development books I have seen aside from this one, I have made a pact with myself never to buy another, since 'Game Design' and 'Swords and Circuitry', two others I sadly bought are the saddest cause any tree could die for. They are, bluntly, pathetic, and I am furious with Lamothe for such a dreadful series.
The examples in the book are great. Each chapter takes you through a different small project that helps you to understand what is going on, as well as how it can be applied to games. And, as a bonus, the projects are actually interesting! I really got a kick out of showing my versions of them to people. I was able to code each of them myself in a day or two as I went, but the author's full source code and executables are included if you just want to take a look as you read.
If you are already pretty familiar with windows programming, you probably won't need to read the first two chapters, but they answered a lot of questions for me, and really I felt like the author knew what I was thinking. Later on in the book, there is a review of transforms and matrix math that I found to be a really good reference and refresher.
As a side note, the author wanted to title this book "Genetic Algorithms and Neural Networks for Game Programming," but his publisher didn't think it was 'snappy' enough. He's very active in the forums on his website, and he and others there have been a great help to me.
This book fits the bill perfectly. It is well written, humorous, clear and patient. The examples are interesting enough that you can see how they would be useful for solving other problems, not necessarily game related.
One caveat: if you don't have a decent intro to basic Win32 API programming, get Charles Petzold's Programming Win32 book and get busy. Yes, the first two chapters of AI Techniques are a Win32 refresher (which was good for me because I last wrote Win32 3 years ago...I now do Java only), but I'm pretty sure if you haven't seen it before you'll be lost.
BTW, just to give you an idea how clear the concepts were presented, I've recoded Chapters 3 and 5 as properly OOPed (MVC, etc) Java applications. Just MHO, but Java is a much better platform for this stuff. ...
I'm was also surprised by how much fun this book makes GAs and NNs. I assumed it was going to be hard work but the author has a knack for making everything seem so easy. Learning about these techniques has also given me a whole new perspective on some AI related issues.
...In a nutshell, if you want to learn about GAs and NNs then this is a great book which will fill you with excitement and help you approach AI problems in new and interesting ways.
The book does not cover the more traditional "graph search" types of AI like heuristic search and expert systems (which I think is refreshing). Instead, it focuses on the types of AI that learn or evolve. This is probably a much better approach for modern game development (unless you are writing puzzle games), and I highly recommend this book.
The examples are first class and Mat is to be congratulated.
Some extra stuff: The two first chapters explains windows programming. Wow!! In about 70 easily degistable pages you get the hang of windows programming!
What is great about the other two sections (genetic alg's and neural nets) is that they are explained in a very down-to-earth manner, with workable code-examples in every chapter.
What is preventing me from giving it five stars is that it initially makes a point of being written so easily that an idiot can understand it, and that a witty author and a casual style of writing will more readily impregnent the information in the readers mind. Well, the author TRIES to write in a casual way that will appeal to the average targeted reader (I assume male, 18 to 30 years of age), but unfortunately that effort only manifests itself in very occasional jokes trying to punch a hole through the otherwise stiff and professional language. Still, the material is very easily presented (even for a swedish reader), and much more casually written than virtually any book on AI so far; its just that the general tone and vocabulary is a bit more dull than it had to be.
Well, regardless of this criticism, this is the best book for anybody who wants to get a clear grasp of AI, and be able to implement it in code. BUY IT!!
The author has managed to squeeze in a pile of information about GAs and neural nets and yet managed to keep the math down to a minimum - which for a moron like me is especially good news! The source code is kept simple and is very easy to follow.
The example programs that accompany each chapter illustrate each technique very well, and more to the point have given me many ideas to try out with my own projects. The mouse gesture recognition example in particular is a great way of teaching backpropagation, something I had completely failed to understand until I read this book.