on 24 April 2013
This is a very thorough overview of AI techniques used for computer games. Artificial Intelligence in the game context is not particularly similar to academic research in the subject: the goal is not to explore how computers can understand their environment, analyse and make decisions, but rather how to create an environment that is suitable challenging and stimulating for human players. The game environment also has its own peculiar requirements on realtime response and possibly limited memory footprint. This book is a very practical introduction, each algorithm is presented as easily readable pseudocode with a complexity analysis, and there is an accompanying website and CD with actual C++ code.
The author makes a commendable effort to cover as much of possible applications and frequently comments on what methods in his experience have proven to be useful and effective and which are more effort to implement than they turn out to be useful. It is a sad note on the culture of computer gaming that the majority of the methods and algorithms are focussed on the motion of military units in war games and how to make these as realistic as possible.
I found the book a very useful introduction to the area.
The main thing that drags down my rating is the annoyingly frequent proof-reading errors--particularly insidious as the spelling and grammar is all but perfect, presumably thanks to automated help. Instead entirely wrong words have been substituted, often completely inverting the meaning of the text, so that "convex" becomes "concave", "iteration" becomes "algorithm", etc. In particular the descriptions of the illustrations often suggest that a figure has been changed, without a corresponding update to the text, as the text may refer to more objects than are actually present, objects numbered in the opposite order, etc. The mathematical formulæ are incorrect as often as not. I had hoped for an errata page on the website [...] and there is one, but it is devoted to the second edition of this book (http://www.amazon.co.uk/Artificial-Intelligence-Games-Ian-Millington/dp/0123747317/).
Another thing which I find lacking is the very brief bibliography in which the references are more commonly manuals on military tactics rather than literature on either computer games or AI. I really would have appreciated pointers to further reading.
on 22 January 2007
I think the book covered enough for me to get a real interest in AI in general. I would recommend this to others who are wondering about the techniques used in games. In regards to the CD problems and lack of .exe, I'll admit I had some initial compilation problems. Ian could have added some further instructions on setup but hey! So here's how I got around it in Windows XP Pro:
1) Download Python from [...] (Current stable Windows version is 2.5, though any version after 2.3 is good). Install at 'C:\Pythonxx' for simplicity (xx is the version number).
2) Download SCons from [...] (Current stable Windows version is scons-0.96.1.win32.exe). Run the .exe and it will install in the Python directory you created.
3) Click Start->Control Panel->System->Advanced->Environment Variables. Under System Variables find the variable named 'Path' and edit on ';C:\Pythonxx' (Again xx is the Python folder name). OkK to all that and you are nearly there.
4) Open up a Windows Command Prompt from the Start->All Programs->Accessories.
5) Locate the build folder of the AI4G code through the prompt and enter 'scons'. That should be it.
Providing you have a valid compiler and have followed the steps above there should be a whole bunch of .exe files in the bin folder that is created in the AI4G folder. BTW I compiled from the latest source on Ians website [...]
on 13 October 2006
Huge book crammed with nearly every basic AI technique you'll need for games. The use of PseudoCode is a great idea. I've had the book for a few days and it's amazing how easy it is to dip into. If you liked the AI Game Programming Wisdom books but found you missed some of the base structure this book is perfect.
The big downside is the CD. After the use of pseudocode to bypass any language bias the code on the CD is C++ (ok, that's fair) ***but*** there are no exes.
Instead I found myself downloading and installing scons and Python before getting 'compile' errors. The supporting website isn't yet activated so this might be the first thing addressed but, for now, it's a bit of an oversight.