Programming Game AI by Example provides a comprehensive and practical introduction to the "bread and butter" AI techniques used by the game development industry, leading the reader through the process of designing, programming, and implementing intelligent agents for action games using the C++ programming language. Techniques covered include state- and goal-based behavior, inter-agent communication, individual and group steering behaviors, team AI, graph theory, search, path planning and optimization, triggers, scripting, scripted finite state machines, perceptual modeling, goal evaluation, goal arbitration, and fuzzy logic.
Misleading Title This book has a misleading title. I think this book should be called "Fundamentals of Game Development" instead of Programming Game AI by Example. Sure the book delivers on what it promises, as so many reviewers have already mentioned, but I believe that his book teaches you something that no other book that at least I am aware of teaches - good software practices coupled with actual game development. There are dozens of books available in the market today claiming to teach you Game Architecture. I will not name the exact titles of such books but you know what I am talking about. I have read so many such books only to find myself becoming a graphics programmer. Not that I didn't want to become a graphics programmer, but even after learning all that stuff, there was "something" missing. That something turns out to be design patterns related to game development. In other words, how to combine various game components together into a working game. The last place I expected to learn it in such an elegant and easy to understand manner was in an AI book. It's my sincere belief that this is the best book on game development available in the market. Read that again, not just AI but Game Development. Thats right, no matter which of the numerous disciplines of game development you wish to specialize in, no matter which platform or technologies you want to develop for, you need this book. Period. The book starts off with the most relevant mathematics chapter that I have found in any game development book. Maybe I'm stupid, but this was the only book that explained to me what a radian was! The lesson on vectors presented many useful examples that are bread and butter of game development but for some reasons are ignored by mainstream game development books. For example, finding out whether a game agent is in front of the player of behind him. Next, it teaches you the "state design pattern". To me this chapter alone is the entire cost of the book itself. I had never seen this discussed in any game development books. I believe this should be in the appendix of each book that claims to teach game development. Instead, almost all entry level game development books have a C++ primer, but never a primer on topics like the state design pattern or UML. In one appendix this book with teach you all the UML you need to get started. Did I mention the "telegram" pattern? Again, so many "beautiful" books claiming to teach you game architecture only end up teaching you graphics programming and using some API in general. This is the first book I have come across that taught this design pattern. Strange, given the fact that you cannot make a game without a robust HSM and some way of sending messages. Then it goes on to teach you how to create autonomous game agents. Whether you are into AI or not, this is something you need to know. But what I appreciated most about this chapter was the application of state machines and how physics is implemented in a ga
One of a kind book
Published by Thriftbooks.com User , 20 years ago
I have read many game development books, and this is definitely one of the best ones out there. Just by flipping through the pages, you can see right away how much care Mr. Buckland has taken in writing this book. There are a plethora of diagrams and code examples, and the layout and organization is excellent. The balance between theory and implementation is just right. The writing style is concise and the book covers a lot of material, yet it is enjoyable and painless to read. Personally I also like the fact that the book is physically compact so it fits easily on my desk :) By far though, my favorite aspect of the book is the "real-life" examples he gives. It's easy to skim over all the theory without really "absorbing" the material, but when you see the concrete examples, it jogs your brain and gets you thinking about how to actually apply it. For example, when discussing the basic idea of "states", he doesn't just make up a contrived example and leave it at that; he gives several examples from actual types of games. For example, a Quake style bot might implement FindArmor, FindHealth, SeekCover, and RunAway. Even the weapons may implement mini state machines like Move, TouchObject, and Die. Digging deeper into the actual content of the book, it covers all of the practical topics an AI programmer should know, such as FSMs, pathing, group behavior, scripting, fuzzy logic, etc. All topics are explained in enough detail that you can incorporate them comfortably in your game, and if you want to learn more, you have a solid foundation to build on. As it says in the book, being an AI programmer isn't just about memorizing a handful of techniques, but also about how to apply them in combination. So, the book covers two concrete examples: a soccer game and a simple shooter game called Raven. To further your understanding, each section also contains some suggested practice exercises, like "Write code to update their sensory system so that a bot is able to sense when it is being shot at." Finally, as a bonus, this book also talks about UML class diagrams in the appendix, which is very useful to know if you don't already. It doesn't talk about genetic algorithms or neural networks, but that seems like a good decision because those topics rarely come up in practical AI. If you want to learn more about those, Mr. Buckland has written another book called "AI Techniques for Game Programming". Incidentally, notice that my review, plus all the reviews before mine, all contain the word "best". This is no accident- this book is a gem, and should be required reading for anyone looking to get into game AI.
Quite possibly the best book on AI programming for games
Published by Thriftbooks.com User , 20 years ago
If the glowing reviews from industry professionals arn't enough, here's another one from the perspective of a game programming student. I've spent quite a bit of time examining the various available texts on game AI programming and I have concluded that this is best for several reasons. Most importantly it focuses on the "bread and butter" AI techniques most commonly used in game development today such as Finite State Machines, Fuzzy Logic, Heirarchical Goals, Path Planning and Navigation while avoiding the more complex, difficult, and less commonly used techniques of Genetic Algorithims and Neural Networks. (which he covers quite well in his other book on the subject AI Techniques for Game Programmers.) Secondly all the techniques are illustrated with lots of example code, all in C++, both in the book and with code and executables downloadable from the publisher's web page. Furthermore these examples are illustrated in the context of a provided 2d game coded entirely in C++ called Raven that is very much like a simplified First Person Shooter which you can use to practice and test the techniques that you learn without having to learn the specific interfaces for a commercial game such as Unreal Tournament. Finally there are several chapters that focus on additional topics that are related to AI programming that are very helpful. The first chapter reviews the math and physics necessary to understand the info in the book. Chapter 6 covers the LUA scripting language which is commonly used for programming in many current games. (examples include Farcry, Baldur's Gate, and Homeworld) Apendices at the back of the book cover two more important topics, C++ templates and UML Class Diagrams. All in all I think it's a very well written and easy to understand book that is simply the best on the topic for beginners.
A must-have.
Published by Thriftbooks.com User , 20 years ago
This book is simply one of the best AI texts that I have ever seen. The author has the ability (as those others who have visited his website will attest - http://www.ai-junkie.com/ai-junkie.html ) to take complex topics and break them down into simple, logical steps that make sense even to novice programmers such as myself. Throughout this book, he does that time and time again. He gives thorough examples and describes them very well. These are not "baby" examples that serve only to highlight this or that point - he delivers real, working examples that you could plug right into your own game or simulation. Take Chapter 4, for example. It is an elegant sports simulation of a Soccer match. This single chapter is worth the price of the entire book, in my opinion. The examples are cool. The code is modern and efficient. The techniques are those in use today. For years, I would buy a book on AI Programming, only to find that techniques were only hinted at and not fully explained. It was like, with those authors, they were keeping some mysterious trade-secrets all to themselves. This author doesn't do that. He is confident enough to give you everything you need to know to program your own AI. Be it a Finite State Machine, an intricate sports simulation, or fuzzy logic - just to name a few of the topics you will find in this book. If you have his other book, you know that he is also adept at Neural Nets and GA. So, my advice is biased because I have read this book and I love it. I think you will, too. Buy this book. You won't regret it.
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15. ThriftBooks.com. Read more. Spend less.