There is an efficient way to generate a random maze!<p>First you create an initial maze, and randomly remove a wall. This generates a loop in your maze. Then in the loop you randomly add one wall, this removes the loop in the maze while keeping all cells reachable. As you iterate this operation your maze will get more and more different.