|  
                               AI
                              Game Programming Wisdom 
                              Author: 
                              edited by Steve Rabin 
                                Publisher:   Charles Rivers Media 
                                ISBN:   1-58450-077-8 
                                Purchasing: [Amazon.Com]
                              - RRP US$69.95 
                                Reviewed:    18th September 2002 
                              Front 
                                Cover Shot: 
                                
                              Overview 
                              The
                              field of Artificial Intelligence, particularly
                              with respect to games, is a very new one. It is
                              only in the last few years that it has become
                              common in end-user applications (from as simple as
                              Microsoft's Office Assistants, to Creature-AI in
                              Black & White), and it is only now (and in the
                              next couple of years) that it is/will become
                              really important. 
                              Computer
                              graphics are the big buzz-words touted when a new
                              game begins its PR cycle, but we've proven (and
                              continue to prove) that we can do amazingly
                              realistic eye-candy such that it's getting harder
                              to do "something new". With Artificial
                              Intelligence, only a few games have really shown
                              off the true power of AI, and it is a field that
                              with only a little effort can easily raise the
                              playability and experience of any game. 
                              4-5
                              years ago, AI was tacked on towards the end of
                              most projects, or handled by an elaborate (or not
                              so elaborate) scripting engine. It was something
                              that whichever programmer was least busy
                              could/would do. Now it's not uncommon to find a
                              dedicated AI programmer in most commercial teams. 
                              With
                              this upward spiral, and the drastically increasing
                              importance of AI we get this book (and hopefully
                              many more in the future). 
                              Familiar
                              Tale 
                              This
                              book is published by Charles Rivers Media - the
                              same publisher that brought us the excellent Game
                              Programming Gems series (reviews: v1,v2,v3).
                              Straight away, parallels are obvious between the
                              two titles - replace 'wisdom' with 'gems' and you
                              get the idea. This book is essentially a spin off
                              from the aforementioned series dedicated purely to
                              all things Artificial Intelligence. 
                              Steve
                              Rabin is a familiar face as well, he's written
                              'gems' for both Game Programming Gems Volume 1 and
                              2 and was the section editor for volume 2. He also
                              tends to pop up on the internet every now and then
                              - a speaker at the GDC and writer of a few
                              articles here-and-there. 
                              Likewise,
                              many of the contributors to this spin-off have
                              appeared in one (or more) of the Game Programming
                              Gems collections. Several of the writers who
                              haven't appeared before are still well known -
                              particularly if you keep a keen eye on the
                              industry. 
                              Given
                              that the Game Programming Gems series captured the
                              talents of some of the greatest games programmers
                              around, and the inclusion of some of these in this
                              book we're again treated to a very professional
                              and very intelligently written book. 
                              More
                              than just another collection 
                              The
                              Game Programming Gems series is a great set of
                              books, but each gem presented is fairly modular
                              and not necessarily coherently related to anything
                              else in the book. This is not the case with this
                              book.  
                              In
                              total we get 71 individual chapters, the
                              organisation of the book works such that it is
                              more a case of each writer (or writers) picking up
                              where the story left off - covering a little bit
                              of new ground, and some new features/techniques
                              for the reader to work with. As a summary: 
                              Section
                              1: General Wisdom 
                               - nothing ground breaking here, a bit of
                              history and background. 
                              Section 2: Useful Techniques and specialized
                              Systems 
                               - this is about setting up the
                              foundations for an AI system. Diagnostic tools,
                              data arrangements and interfaces. 
                              Section 3: Pathfinding With A* 
                               - a discussion of the staple product for
                              all games developers when it comes to finding
                              paths for game entities. 
                              Section 4: Pathfinding And Movement 
                               - further discussion of pathfinding, not
                              quite so specific and a little more advanced. 
                              Section 5: Tactical Issues and Intelligent Group
                              Movement 
                               - even further work regarding
                              (essentially) path finding. This is a bit more
                              practical for games. 
                              Section 6: General Purpose Architectures 
                               - Some general chapters regarding
                              developing state machines 
                              Section 7: Decision Making Architectures 
                               - how to program AI that needs to plan
                              and make decisions. 
                              Section 8: FPS, RTS, and RPG AI 
                               - case studies of the AI used in the main
                              game Genre's. 
                              Section 9: Racing and Sports AI 
                               - more case studies specific to
                              racing/sports. 
                              Section 10: Scripting 
                               - one of the staple products often used
                              in AI programming. 
                              Section 11: Learning  
                              - Likely to be the next big thing in AI, this
                              covers making NPC's learn. 
                              A
                              rather long list of content really. Whilst it's
                              not directly obvious, as you progress through each
                              section you get a bit more advanced. Slightly more
                              importantly, as shown by path finding - it's
                              introduced in section 3, enhanced in section 4 and
                              broadened further in section 5. 
                              The
                              bottom line is that AI Game Programming Wisdom
                              works more like a book than it's related 'Gems'
                              books, yet it retains some of the style that makes
                              the 'gems' books so well put together. 
                              Writing
                              Style 
                              The
                              writing style is obviously very varied - with over
                              45 authors there is no constant style of writing.
                              Some authors write better than others, and you'll
                              find that some are easier to read than others
                              (this is entirely subjective though). In general
                              the writing style is good throughout. The book is
                              definitely consumer-level rather than university
                              text-book, which will appeal to most people. In my
                              experience, academic level texts regarding
                              Artificial Intelligence are cryptic at best and
                              plain irritating at worst. 
                              Cross-Over 
                              As
                              mentioned several times so far - this book acts
                              very much like a spin off from the 'gems' series.
                              Because of this there is some cross-over between
                              the two. There aren't any identical chapters, or
                              even obviously linked/related chapters. But if you
                              own 'gems' 1,2 & 3 (note: more than 1 of them)
                              then you will already have quite a bit of similar
                              information. 
                              At
                              the end of the day, all of the chapters presented
                              here could be prime candidates for the 'gems'
                              volume 4, 5 and 6 AI sections. 
                              Not
                              totally cohesive 
                              Whilst
                              this book is considerably better structured than
                              the 'gems' books, and can be easily read
                              cover-to-cover, it is far from being a
                              "normal" book. 
                              You
                              can learn a lot from the content in this book,
                              from a relatively beginner/intermediate level -
                              but it's not a my-first-book-on-AI experience. You
                              need to be able to stitch together the missing
                              parts and either take the time to research them or
                              work them out yourself. A book written by one (or
                              two) authors as per most "normal" books
                              in this field would, however advanced, work much
                              better together and be far more cohesive. 
                              Secondary
                              Resource 
                              As
                              with the majority of game related books, we get a
                              CD included. This includes quite a bit of working
                              code/samples that you can mess around with. As
                              useful as this is, it's nothing hugely different
                              from what you'd expect to find in similar books. 
                              In 
                                Conclusion 
                              I've
                              made lots of comparisons between this book and the
                              Game Programming Gems series; if you pick up both
                              books in the shop you'll see why this is the case.
                              However, this book deserves to exist
                              "solo" in it's own right. 
                              If
                              you're interested in AI, and you're not a complete
                              beginner, then this is definitely a good book to
                              read through. The combined wisdom (and it often is
                              a case of wisdom) of 45 top Game-AI programmers is
                              not something to be laughed at. 
                              
                                
                                   
                                    | Good 
                                      Things | 
                                    Bad 
                                      Things | 
                                   
                                   
                                    | 
                                      Copies the winning style of Game
                                      Programming Gems series. | 
                                    
                                      Not completely cohesive across the
                                      different chapters | 
                                   
                                   
                                    | 
                                      Works well as a book in it's own right.
                                      can be read cover-to-cover. | 
                                    
                                      requires a reasonable understanding of
                                      what AI is, and some basic
                                      experience  | 
                                   
                                   
                                    | 
                                      packs in 45+ great Game-AI
                                      programmers/designers. | 
                                    •
                                      May require you to research into the
                                      "missing" areas. | 
                                   
                                   
                                    | 
                                      Good supporting CD. | 
                                    •
                                      Some cross over if you own the Game
                                      Programming Gems books. | 
                                   
                                   
                                    | 
                                      Covers pretty much all areas of AI common
                                      in games. | 
                                      | 
                                   
                                   
                                    | •
                                      Includes discussion of advanced learning
                                      topics. | 
                                      | 
                                   
                                   
                                    | •
                                      Packs a lot of different chapters/content. | 
                                      | 
                                   
                                 
                               
                                 
                               |