Mazes for Programmers: Code Your Own Twisty Little Passages (2015) - 288 pages. AMZN. by Jamis Buck (Author)
The book is a comprehensive guide to generating mazes using a variety of algorithms. It covers both the theory and practice of maze generation, and includes working implementations in the Ruby programming language.
What you can expect in this book: The book is broken into 3 parts:
Part 1: Basic Maze Generation introduces six different maze generation algorithms, including the Binary Tree algorithm, the Eller's algorithm, and the Hunt and Kill algorithm. It also covers how to draw mazes and how to solve them using Dijkstra's algorithm.
Part 2: Advanced Maze Generation shows how to constrain mazes to different shapes and outlines, how to cull dead-ends, and how to make mazes weave over and under each other. It also covers how to generate mazes in multiple dimensions and on curved surfaces.
Part 3: Appendices includes additional information on maze generation, such as a list of maze generation algorithms, a discussion of maze properties, and a collection of maze puzzles.
What this book does best: The book does a good job of explaining the trade-offs between the different maze generation algorithms. This is important information for anyone who wants to choose the right algorithm for a particular application.