Welcome to the Procedural Content Generation in Games book. This is, as far as we know, the first textbook about procedural content generation in games, aka PCG. As far as we know it is also the first book-length overview of the research field. We hope you find it useful, whether you are studying in a course, on your own, or are a researcher.

We wrote this book for two reasons. The first reason was that all three of us were doing research on PCG in games, and we wanted a good overview. As we come from somewhat different methodological backgrounds, we realized that many researchers did not know about methods that had been developed in other communities. For example, researchers using logic programming and those using evolutionary computation might not know that the other type of algorithms was applicable to the same problem; and researchers coming from computer graphics might not even know that artificial intelligence methods are being used for PCG problems. As PCG in games has just recently started to be seen as its own research field, this was not surprising, but pointed to the need for a book such as this one.

The second reason was that we were teaching a course on PCG (in fact, entitled simply “Procedural Content Generation in Games”) at the IT University of Copenhagen, where at the time the three of us were faculty members. When this course was started in 2010, it was probably the first of its kind in the world. Naturally, there was no textbook to teach it from, so we assembled a syllabus out of academic papers, mostly recent ones. As we taught the course in subsequent years, the syllabus matured, and we felt that we were ready to turn the content of our lectures into a textbook.

In writing the book, we based it on the structure of the existing course. In fact the first draft of this textbook was written quite literally as part of the fourth iteration of the course in autumn 2013. A draft of each chapter was completed in advance of the corresponding lecture, and given out as a handout to accompany the lecture. This ensured that a complete draft of the textbook was written within one semester, and perhaps more importantly ensures that the book is designed to be used as a textbook. An open-access draft has been available on this website since that first version. Unfortunately, adding polish and finalising each chapter took a lot longer, which explains why the book did not come out in 2014. We believe however that the added time to work on the book was worth it, as the final product is much better than those early drafts were.

As you will see, the book is not strictly divided according to either methods or application domains. Most chapters introduce both a domain and method. This follows how we structured our PCG course, which we did in order to make the course more engaging and easier to teach: new methods are introduced together with interesting and relevant domains that demonstrate why they are practically useful, and can be used as settings for lab exercises to further experiment with the methods.

We decided early on that we wanted to involve many of the most active people in the research field, in particular those who had written the papers we relied on when teaching the course initially. Therefore, most chapters are coauthored with other researchers. This ensures that we have the most relevant expertise for the topic of each chapter. For a full list, see Authors.

This book could be used as course literature in several ways. One is to base each lecture on a specific chapter, and assign a few recent papers from the literature related to that chapter as additional reading for that week. The assignment at the end of each chapter could then be used as that week’s assignment, and a conventional pen-and-paper exam could be held at the end of the course. Another way of organizing such a course, more closely aligning with the way the original course at the IT University of Copenhagen is taught, could be to use the first half of the semester for intensive lectures, covering two chapters per week. The second half of the semester is then used for group projects. Finally, you can always use parts of the book, for example if you want to teach PCG as part of a larger course in AI for games. Most chapters are reasonably self-contained, with the most important dependencies being on the first two chapters, which establish core concepts and terminology.

Open-access drafts have been available at this website since the first version, and we will continue to make the final book available here open access. But if you’d rather have it on paper, the book is now available in hardcover from Springer, as part of a new book series on Computational Synthesis and Creative Systems. It can be ordered from Amazon US, Amazon UK, and the usual range of booksellers.