- Series: Wordware Game Developers Library
- Paperback: 495 pages
- Publisher: Jones & Bartlett Learning; 1 edition (October 14, 2004)
- Language: English
- ISBN-10: 9781556220784
- ISBN-13: 978-1556220784
- ASIN: 1556220782
- Product Dimensions: 6.1 x 1 x 9.2 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 85 customer reviews
- Amazon Best Sellers Rank: #138,579 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Programming Game AI by Example (Wordware Game Developers Library) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
From the Inside Flap
"Programming Game AI by Example stands out from the pack by providing industrial-strength solutions to difficult problems, like steering and goal-oriented behavior. Mat guides the reader toward building a foundation robust enough for real games. This book is a must-have for anyone new to the field, and has tips for the seasoned professional as well. I wish I had read it eight years ago!"
---Jeff Orkin, AI architect, Monolith Productions, No One Lives Forever 2 and F.E.A.R
"...a nice combination of a lot of really useful information, put together in a way that doesnt make my brain leak."
---Gareth Lewis, Project leader, Lionhead Studios, Black & White 2
"Each chapter of Mats book gently introduces the reader to a fundamental game AI technology before expanding the new idea into a fully formed solution replete with extensive code and clearly worded examples. The tone of the book is uncomplicated and accessible to the reader, allowing a novice programmer the opportunity to get to grips with the basics of game AI programming by implementing their own systems direct from theory or expanding upon code examples offered to gain understanding in a sandbox environment. Once individual technologies are fully understood, the book goes on to combine these ideas into several complete game environments allowing the reader to understand the relationships between the interacting systems of an overarching game architecture."
---Mike Ducker, AI programmer, Lionhead Studios, Fable
"Using easy-to-follow and well-described examples, this book shows you how to use most of the techniques professional AI programmers use. A great introduction for the beginner and an excellent reference for the more experienced!"
---Eric Martel, AI programmer, Ubisoft, Far Cry (XBox)
"Programming Game AI by Example is an excellent book for the game programming neophyte, the intermediate programmer, and even the expert - it doesnt hurt to go over familiar ground, does it? The book concisely covers all of the important areas, including basic maths and physics through to graph theory and scripting with Lua, to arm any programmer with the tools needed to create some very sophisticated agent behaviours. Unusually for books of the type, Programming Game AI by Example is solid in its software engineering too, with the example code demonstrating game uses of familiar design patterns. Id have no qualms about recommending Programming Game AI by Example to any programmer. Its an excellent read and an excellent springboard for ideas."
---Chris Keegan, Technical director, Climax Studios (Solent)
About the Author
freelance programmer and writer
Try the Kindle edition and experience these great reading features:
85 customer reviews
Review this product
Read reviews that mention
Showing 1-4 of 85 reviews
There was a problem filtering reviews right now. Please try again later.
The book starts with a quick primer on math and physics. The basics are explained, like Cartesian coordinates, trigonometry, vectors, coordinate spaces, and some physics. Like most people reading a book of this level, the beginning was a light refresher. However, I’m a big stickler for reading books from cover to cover with no skipping around, so I did not mind a short recap. Next Buckland gets into state-driven design and demonstrates a simple command-line app using the concepts. I found this approach successful, and it was able to show the concepts without complex 2D or 3D math getting in the way.
He followed up with autonomous moving agents, mostly based on steering behaviors. I was already somewhat familiar with steering behaviors, but I found the author’s description and code to be clear and concise and explained the concept better than I’ve seen before. He then applies the previous topics to a simple soccer game. This was a great next step, and really compiled the knowledge being taught into something concrete. In the next chapter, the author went into graphs; what they are, how to use them, and some popular algorithms link Dijkstra and A*. I always wanted to know what A* was, and this book explains it fairly well.
Buckland then devotes a section to cover scripting languages and why they are useful. In this case, he chose Lua (not a bad choice) and explains some basics about the language, how to interface it with C++, and creates a simple finite state machine. This chapter is helpful even if you’re not coding AI and just need a scripting language for your game or engine (provided you like Lua). In fact, a lot of the concepts in this book are generic enough that they can be applied to multiple fields of interest for game developers.
Next, the author creates a simple overhead game framework used in the subsequent examples. Using this framework he then shows practical path planning, goal driven agent behavior, and finishes up with fuzzy logic. Fuzzy logic is another one of those buzzwords that always intrigued me but I never really understood. Buckland concludes with a quite excellent explanation of the concept.
Overall I found this book to be stellar on all accounts. I feel that any game developer could gain insight from this text, even if they aren’t primarily working with AI programming. The scripting coverage could be used in many games, and the algorithms covered are generic enough to apply to different disciplines. While this is the first book I’ve read on AI, I really can’t imagine a better introduction. Highly recommended.
I suspect that the printed version of this book is actually quite good. The e-book is a joke.
Because I taught university level mathematics for years, the math portion was rather straight forward for me (other than the misuse of a few mathematical terms/definitions). I would have preferred to give the book 4.5 stars, but that was not an option. If the author covers the material beyond this first chapter as well as he has in the math chapter, then this should be a 'must buy' for anyone interested in the subject, and am very pleased with the purchased of this book.
With all the college courses and graduate studies devoted to the field of artificial intelligence, this book could have easily drowned itself it excessive theory. Thankfully, this did not happen. The author is truly able to give concrete examples and demonstrate the applicable methodologies. Not only do the examples given in the text convey the lessons in AI so clearly, they could easily be employed in your own projects.
I have given myself plenty of time not only to read the book, but generate my own AI code inspired from the book. It really is the perfect blend of theory, practice, and examples. If you are looking for an entry level AI book that will also deliver you into the intermediate stages of AI programming, this is the book you have been looking for.
I would highly recommend anyone who purchases the book to check out the source code that can be found on the companion website. It not only offers the source code from the book, but also the standalone executables that run the programs discussed. As AI behavior is such a dynamic phenomenon, it really lends itself to view the examples in motion alongside the text. That's why these programs are so helpful. Additionally, one can tell a lot of care was put into constructing these programs to really demonstrate the main point of each topic.
As an aside, chapter 2 of this book is an exceptional chapter for those interested in game engine design. It primarily deals with state-driven design and finite state machines, but also discusses game entities and their management along with message handling. While the topics in this chapter deal with AI behavior, their applications go far beyond AI and could easily be applied to many other features of games and software.