This project provides Java implementations of more than 35 algorithms for generating so called "perfect mazes" (which are just spanning trees of undirected graphs).
The shown demo application can be downloaded here. (Java runtime needed.)
cd <your_root_dir>
git clone https://github.com/armin-reichert/graph.git
git clone https://github.com/armin-reichert/mazes.git
cd graph
mvn clean install
cd ../mazes
mvn clean install
cd <your_root_dir>
git clone https://github.com/armin-reichert/mazes-demos.git
cd mazes-demos/SwingMazeDemo
mvn clean install
Then you find an executable jar file named SwingMazeDemo-1.0-jar-with-dependencies.jar
inside the folder target
.
On the web, many maze generation implementations in all possible programming languages can be found. The popularity of these algorithms probably comes from the fact that mazes and their creation processes are visually appealing and not really difficult to implement. The most popular algorithm seems to be "recursive backtracking" which is random depth-first traversal of a graph.
On the other hand, there are only a few websites where the whole spectrum of maze creation algorithms is investigated. One prominent example is this blog where Jamis Buck presents the most popular maze algorithms together with Ruby/Javascript implementations. Reading his blog led myself to investigate this topic too.