Getting Started

Learn about the processes that drive maze generation.

We'll cover the following

Maze-making explained

Maze-making seems magical when we’re outside looking in, but don’t be fooled. There is no magic. Starting from this very lesson, we’ll begin demystifying the processes that drive maze generation. We’ll get specific, talking about what exactly mazes are, and then we’ll get the ball rolling with two simple ways to create mazes, walking through them together with paper and pencil.

Eventually, this will take us to some exciting places, but like most beginnings, ours is quite humble. Here, it all starts with algorithms.

We’re going to focus on those algorithms that produce mazes randomly. Passage length, the number of dead ends, crossroad frequency, and how often passages branch will all be determined by randomly choosing from a prescribed list of possibilities.

There is no universally ideal algorithm for generating mazes, so we’ll explore twelve different ones in this course. We’ll learn how to choose between them depending on our project’s needs, such as speed, memory efficiency, or simplicity (or even our own personal sense of aesthetics!). Here's an example of a maze.

On top of all of this, most of the algorithms have little idiosyncrasies that cause the mazes they generate to share some feature, like short, stubby passages, or maybe the passages all skew in a certain direction. We’ll explore those, too.

By the end of this course, we’ll become experts, able to nimbly switch between these different algorithms to choose just the right one for the job. We’ll be pounding these out in code before we know it.

First, though, let’s do it on paper.