This is a small program that visualizes the process of generating and solving mazes. Press "Controls" on the upper-right corner to show a bunch of options for changing how these processes work.
One interesting thing you can do is change the bias of the maze generation, which shapes its randomness. This technique is based on a brilliant article on Medium; I highly suggest you have a look. Much of this program was informed by Mazes for Programmers, which is a fantastic book on the subject.
This is a work in progress, so please do not look directly at the bugs! When I get some extra spare time, I'll be revisiting this with more maze shapes and generation/solution algorithms.