It would be an understatement to say that Artificial Intelligence (AI) is a popular topic at the moment, and it is unlikely to become any less important in the future. More researchers than ever work on AI in some form, and more non-researchers than ever are interested in the field. It would also be an understatement to say that games are a popular application area for AI research. While board games have been central to AI research since the inception of the field, video games have during the last decade increasingly become the domain of choice for testing and showcasing new algorithms. At the same time, video games themselves have become more diverse and sophisticated, and some of them incorporate advances in AI for controlling non-player characters, generating content or adapting to players. Game developers have increasingly realized the power of AI methods to analyze large volumes of player data and optimize game designs. And a small but growing community of researchers and designers experiment with ways of using AI to design and create complete games, automatically or in dialog with humans. It is indeed an exciting time to be working on AI and games!
This is a book about AI and games. As far as we know, it is the first compre- hensive textbook covering the field. With comprehensive, we mean that it features all the major application areas of AI methods within games: game-playing, con- tent generation and player modeling. We also mean that it discusses AI problems in many different types of games, including board games and video games of many genres. The book is also comprehensive in that it takes multiple perspectives of AI and games: how games can be used to test and develop AI, how AI can be used
to make games better and easier to develop, and to understand players and design. While this is an academic book which is primarily aimed at students and researchers, we will frequently address problems and methods relevant for game designers and developers.
We wrote this book based on our long experience doing research on AI for games, each on our own and together, and helping lead and shape the research community. We both independently started researching AI methods in games in 2004, and we have been working together since 2009. Together, we played a role in introducing research topics such as procedural content generation and player modeling to the academic research community, and created several of the most widely used game- based AI benchmarks. This book is in a sense a natural outgrowth of the classes on AI and games we have taught at three universities, and the several survey papers of the field and of individual research topics within it that we have published over the years. But the book is also a response to the lack of a good introductory book for the research field. Early discussions on writing such a book date back at least a decade, but no-one actually wrote one, until now.
It could be useful to point out what this book is not. It is not a hands-on book with step-by-step instructions on how to build AI for your game. It does not feature discussions of any particular game engine or software framework, and it does not discuss software engineering aspects or many implementation aspects at all. It is not an introductory book, and it does not give a gentle introduction to basic AI or game design concepts. For all these roles, there are better books available.
Instead, this is a book for readers who already understand AI methods and con- cepts to the level of having taken an introductory AI course, and the introductory computer science or engineering courses that led up to that course. The book as- sumes that the reader is comfortable with reading a pseudocode description of an algorithm and implementing it. Chapter 2 is a summary of AI methods used in the book, but is intended more as a reference and refresher than as an introduction. The book also assumes a basic familiarity with games, if not designing them then at least playing them.
The use case for this textbook that we had in mind when writing it is for a one- or a two-semester graduate-level or advanced undergraduate level class. This can take several different shapes to support different pedagogical practices. One way of teaching such a class would be a traditional class, with lectures covering the chapters of the book in order, a conventional pen-and-paper exam at the end, and a small handful of programming exercises. For your convenience, each of the main chapters of the book include suggestions for such exercises. Another way of organizing a class around this book, more in line with how we personally prefer to teach such courses, is to teach the course material during the first half of the semester and spend the second half on a group project.
The material offered by this book can be used in various ways and, thus, support a number of different classes. In our experience, a traditional two-semester class on game artificial intelligence would normally cover Chapter 2 and Chapter 3 in the first semester and then focus on alternative uses of AI in games (Chapters 4 and 5) in the second semester. When teaching the material in compressed (one-semester) fash-
ion instead, it is advisable to skip Chapter 2 (using it as a reference when needed), and focus the majority of the lectures on Chapters 3, 4 and 5. Chapters 6 and 7 can be used as material for inspiring advanced graduate-level projects in the area. Beyond the strict limits of game AI, Chapter 4 (or sections of it) can complement classes with a focus on game design or computational creativity whereas Chapter 5 can complement classes with a focus on affective computing, user experience, and data mining. It is of course also possible to use this book for an introductory under- graduate class for students who have not taken an AI class before, but in that case we advise the instructor to select a small subset of topics to focus on, and to com- plement the book with online tutorials on specific methods (e.g., best-first search, evolutionary computation) that introduce these topics in a more gentle fashion than this book does.
Interactive and engaging games come with intelligent enemies, and this intellectual behavior is combined with a variety of techniques collectively referred to as Artificial Intelligence. Exploring Unity's API, or its built-in features, allows limitless possibilities when it comes to creating your game's worlds and characters. This cookbook covers both essential and niche techniques to help you take your AI programming to the next level.
To start with, you’ll quickly run through the essential building blocks of working with an agent, programming movement, and navigation in a game environment, followed by improving your agent's decision-making and coordination mechanisms – all through hands-on examples using easily customizable techniques. You’ll then discover how to emulate the vision and hearing capabilities of your agent for natural and humanlike AI behavior, and later improve the agents with the help of graphs. This book also covers the new navigational mesh with improved AI and pathfinding tools introduced in the Unity <em>2018</em> update. You’ll empower your AI with decision-making functions by programming simple board games, such as tic-tac-toe and checkers, and orchestrate agent coordination to get your AIs working together as one.
By the end of this book, you’ll have gained expertise in AI programming and developed creative and interactive games.
1 New blue collar job — robot babysitters
2 AI for X is … everywhere
3 China vies with US for global AI leadership
4 The future of defense turns on AI
5 ¿Cómo estás, Alexa?
6 White-collar automation accelerates
7 AI moves to the edge
8 The emergence of ‘capsule networks’
9 6-figure salaries in the AI talent wars
10 The machine learning hype will die
11 Amazon, Google, Microsoft dominate enterprise AI
12 AI diagnostics gets the node from regulaors
13 DIY AI is here