| OverviewWritten for the novice AI programmer, AI for Game
Developers introduces you to techniques such as
finite state machines, fuzzy logic, neural networks, and
many others, in straightforward, easy-to-understand
language, supported with code samples throughout the entire
book (written in C/C++). From basic techniques such as
chasing and evading, pattern movement, and flocking to
genetic algorithms, the book presents a mix of deterministic
(traditional) and non-deterministic (newer) AI techniques
aimed squarely at beginners AI developers. Editorial ReviewsBook Description | Advances in 3D visualization and physics-based simulation technology make it possible for game developers to create compelling, visually immersive gaming environments that were only dreamed of years ago. But today's game players have grown in sophistication along with the games they play. It's no longer enough to wow your players with dazzling graphics; the next step in creating even more immersive games is improved artificial intelligence, or AI. Fortunately, advanced AI game techniques are within the grasp of every game developer--not just those who dedicate their careers to AI. If you're new to game programming or if you're an experienced game programmer who needs to get up to speed quickly on AI techniques, you'll find AI for Game Developers to be the perfect starting point for understanding and applying AI techniques to your games. Written for the novice AI programmer, AI for Game Developers introduces you to techniques such as finite state machines, fuzzy logic, neural networks, and many others, in straightforward, easy-to-understand language, supported with code samples throughout the entire book (written in C/C++). From basic techniques such as chasing and evading, pattern movement, and flocking to genetic algorithms, the book presents a mix of deterministic (traditional) and non-deterministic (newer) AI techniques aimed squarely at beginners AI developers. Other topics covered in the book include: - Potential function based movements: a technique that handles chasing, evading swarming, and collision avoidance simultaneously
- Basic pathfinding and waypoints, including an entire chapter devoted to the A* pathfinding algorithm
- AI scripting
- Rule-based AI: learn about variants other than fuzzy logic and finite state machines
- Basic probability
- Bayesian techniques
Unlike other books on the subject, AI for Game Developers doesn't attempt to cover every aspect of game AI, but to provide you with usable, advanced techniques you can apply to your games right now. If you've wanted to use AI to extend the play-life of your games, make them more challenging, and most importantly, make them more fun, then this book is for you. |
|
Top Sellers in This Category | Browse Similar Topics | | Top Level Categories:Sub-Categories: | | |
Reader Reviews From Amazon (Ranked by 'Helpfulness') Average Customer Rating: |  | based on 8 reviews. |
Good for implementing AI in games, not so good for theory, 2007-01-05 | Reviewer rating: |  |
| This book gives people that are new to AI in game programming a quick start in that area. If you are interested in looking at the broad fields of AI with direct application to game programming, this will show you a bit of everything. The text is clear and doesn't require any higher understanding of mathematics than some basic trigonometry. I think that the problem most people have with this book is that none of the chapters covers its subject in depth. Thus, people looking to learn AI from this book that ignor the "Game" part of the title will be disappointed. Full C++ sample programs are available on the books web site-the book is all in C++, and you should have no problems understanding the code with moderate C skills. Bresenham's line algorithm, line-of-sight-chasing and intercepting are all explained in a pretty simple way. My biggest complaint is that, even within the construct of game programming, the presentation of Bayesian systems and probability was too short for my taste. The following is a description of the book from the context of the table of contents:
Chapter 1, Introduction to Game AI - Defines game AI and discusses the current state of the art as well as the future of this technology.
Chapter 2, Chasing and Evading - Covers basic techniques for chasing and evading as well as more advanced techniques for intercepting. It also cover techniques applicable to both tile-based and continuous game environments.
Chapter 3, Pattern Movement - Pattern movement techniques are common to many video games and developers have been using them since the early days of gaming. You can use these techniques to preprogram certain behaviors such as the patrolling of a guard or the swooping in of a spacecraft.
Chapter 4, Flocking - The flocking method examined in this chapter is an example of an A-life algorithm. In addition to creating genuine looking flocking behavior, A-life algorithms form the basis of more advanced group movement.
Chapter 5, Potential Function Based Movement - Potential-based movement is relatively new in game AI applications. It can handle chasing, evading, swarming, and collision avoidance simultaneously.
Chapter 6, Basic Pathfinding and Waypoints - Game developers use many techniques to find paths in and around game environments. This chapter covers several of these methods, including waypoints.
Chapter 7, A* Pathfinding - No treatment of pathfinding is complete without addressing the workhorse algorithm of pathfinding; therefore, this whole chapter is devoted to the A* algorithm.
Chapter 8, Scripted AI and Scripting Engines - Programmers today often write scripting engines and hand off the tools to level designers who are responsible for creating the content and defining the AI. In this chapter, you'll explore some of the techniques developers use to apply a scripting system in their games.
Chapter 9, Finite State Machines - Finite state machines are the nuts and bolts of game AI. This chapter discusses the fundamentals of finite state machines and how to implement them.
Chapter 10, Fuzzy Logic - Developers use fuzzy logic in conjunction with or as a replacement for finite state machines. In this chapter, you'll learn the advantages fuzzy techniques offer over traditional logic techniques.
Chapter 11, Rule-Based AI - Technically, fuzzy logic and finite state machines fall under the general heading of rules-based methods. This chapter covers these methods as well as other variants.
Chapter 12, Basic Probability - Game developers commonly use basic probability to make their games less predictable. Such cheap unpredictability enables developers to maintain substantial control over their games. Here, basic probability is covered for this purpose as well as lay the groundwork for more advanced methods.
Chapter 13, Decisions Under Uncertainty--Bayesian Techniques - Bayesian techniques are probabilistic techniques, and in this chapter you learn how you can use them for decision making and for adaptation in games.
Chapter 14, Neural Networks - Game developers use neural networks for learning and adaptation in games for anything from making decisions to predicting the behavior of players.The most widely used neural network architecture is covered here.
Chapter 15, Genetic Algorithms - Genetic algorithms offer opportunities for evolving game AI. Although developers don't often use genetic algorithms in games, their potential for specific applications is promising, particularly if they are combined with other methods.
Appendix, Vector Operations - How to implement a C++ class that captures all of the vector operations that you'll need when writing 2D or 3D simulations.
All the chapters in this book are fairly independent of each other. Therefore, you generally can read the chapters in any order you want, without worrying about missing material in earlier chapters. The only exception to this rule is Chapter 12, on basic probability. If you don't have a background in probability, you should read this chapter before reading Chapter 13, on Bayesian methods. I would recommend this book if you are looking to implement AI into a game without wanting a complete explanation of the theory. If a complete explanation of the concepts is what you require, you will be disappointed. |
| Intelligent agents should steer clear from this book, 2005-07-17 | Reviewer rating: |  |
| Terrible and useless even for a book on AI for budding game developers. The theory and explanations in this book are sometimes decent but more often than not quite lacking. (es: in one of the first chapter the author uses Bresenham algorithm without taking the time to explain it). The use of tile based examples introduce unnecessary overhead, and the continuos attempts to introduce physics related code and references to the author's other book on game physics are just plain annoying. The range of subjects covered is very broad (chasing and evading, pathfinding, emergent behaviours, rule based reasoning, bayesian networks, neural networks, fuzzy logic, finite state machines, genetic algorithms), definitely too broad to treat each of these subject in decent depth and with clarity. Example code is of low quality and just superficially object-oriented. If you are looking for a decent introduction to game AI I recommend Matt Buckland "Programming Game AI by Example" and "AI Techniques for Game Programming". |
| Conceptually OK, terrible code & implementation, 2005-06-20 | Reviewer rating: |  |
| AI for Game Developers is a book aimed at beginner game programmers that want to apply AI techniques in their games. The range of topics covered is vast, chasing, flocking, pathfinding, state machines, bayesian networks, neutal networks, genetic algorithms, fuzzy logic and more.
The authors spend time to explain these AI concepts from the ground up, with numerous code samples and accompanied by full programs including GUIs & simulations, downloadable form the book's website.
So far all good, but not really so if you look a little closer. For a programmer with more experience than the complete novice, many problems become apparent quickly:
The code listings ("examples", as the authors uncommonly call them) are lacking in many aspects. The code is of low quality. C++-- some call it, and it's an appropriate name for the code of this book (take a big program with a bunch of globals and void foo(void) operating on them, wrap it all (public) in a class, and call it Object Oriented). The principal author is a scientific programmer, which shows well since the code looks sometimes like a port from Fortran. The code is also poorly typeset, in a font almost identical to the text, which makes samples hard to spot and follow. The authors also paste huge amounts of code in the book that sometimes fill whole pages, without any apparent reason. Another little deficiency is the typesetting / overall formatting quality of the book - some diagrams are simply missing, fonts are uncomfortable (especially the mix of code & text)...
It seems that most of this book's problems are about the code, though. On the conceptual level, the book is not bad. As far as I can judge, the explanations are clear and even novices should have no trouble understanding how the algorithms work. Just look away from the code, please !! |
| Great book to start into AI, 2005-03-16 | Reviewer rating: |  |
| Is good book to initiate within world of AI, brings very good examples on fuzzy logic and genetic algorithms, in my opinion would have to bring CD-ROM with more examples but even so I recommend them for people that is initiating within development of video games, have a simple way to explains concepts that in other books can that are abstract and until moments very confused, explain it of direct and very simple way, are a book not very extensive you will be able to read it in a pair of days, and thus to begin to apply it within any application or game, the code comes very simple manageable and easy to use, it comes in c++, I hope enjoy so much as I. |
| Excellent algorithm text even for non-game developers, 2004-09-26 | Reviewer rating: |  |
| I'm not a game developer by trade but I still found an excellent introduction to some interesting algorithms in this book. For me these included an introduction to neural networks (at the end of the book), probability theory, and finite state machines. I've read (and looked over) a number of books on game development and they, in general, seem to prattle on about the games themselves, or spend an inordinate amount of time on the graphics or the presentation. That stuff is important, but at the heart of these systems are algorithms animate the game and bring it to life. This book concentrates on those algorithms by expressly playing down the graphics elements.
I can safely recommend browsing this book to almost any software engineer. You may find some stuff that interests you and you can use even if you aren't a game developer. |
|
Some information above was provided using data from Amazon.com. View at Amazon > |
| |
|
|