Deliver to Morocco
IFor best experience Get the App
Full description not available
S**E
A Good, Accessible Book
This book introduces the reader to three key AI programming ideas, broadly, movement, pathfinding, and decision making.The movement section covers intercepting and following, pathfinding provides a lot of good practical information on problems and algorithms to solve them, and the decision making section provides a good introduction to genetic algorithms, neural nets and fuzzy logic, topics which are hard to study abstractly on one's own time (at least for me.)There are lots of code examples, and the math is accessible to anyone who at least suffered through high school calculus, regardless of whether any useful memory remains :). The intent of the code is explained after the code snippets, which is an excellent and thoughtful addition to such a book, since so many authors write code snippets, and force the reader to thoroughly understand them in order not to miss important points in the work, even though the reader may have no intention of ever actually implementing that code, and as a result, would rather not laboriously dissect tens or hundreds of code snippets in order to understand the full work.
G**.
Very recommended
straightforward cover of the subject.Thanks
C**E
Good for implementing AI in games, not so good for theory
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.
A**N
Five Stars
Excellent book for developers just starting out that have no idea what they're doing.
J**E
Five Stars
Great item and shipping
N**N
Just a few caveats
I bought this book because of the chapter O'Riley had on its site (Flocking) and the general experience I have had with O"Riley in the past. While there is plenty to learn from this text, its not for the faint of heart or new programer. There is a lot that needs to be done to get set up for this.My first issue is that some of the code seems just a little too complex for a beginner. While I respect the features hes trying to put in, it can clutter up the main point of what is happening, and makes learning the basic principles harder.It seem the writter assumes you read his other book 'Physics for game programer' since he refers to it several times.Download the sample code for the book and you will see what I mean.Then there is no discussion of the graphic package being used. I tried to do the stuff with GDI+ and ended up switching to DirectX because the flickering was so bad. Some discussion on setting up a test and development enviroment to run these projects on would have been helpful.Oh and it was written in C+. Okay, no big deal, but a warning would have been nice. I can handle C+, but I do my work now in C#. Since it was written in an OO language, a little back ground on system design would have been helpful too.Asking too much? While the info there is good, there are a lot of obstacles for a 'beginner' to handle. I'm motivated though, and bought his phyiscs book just to see if it helps out any.
ترست بايلوت
منذ يوم واحد
منذ أسبوعين