When I was 11, I wanted to write a game in which two players raced to get to the finish of a randomly generated maze. So I thought: How can I make a random maze?
My solution was to use two perpendicular walls to split the game area into four quadrants, and cut a 1-unit opening in a fixed location along each of the four wall sections separating pairs of quadrants.
Then I manually created 20 maze tiles -- 5 for each of the four quadrants, with pathways leading out of the block at the places where there were holes in the center divider. So for every new game, the program randomly drew one of a possible 625 mazes. It seemed random enough to me and others who played.
Rather than a brute force algorithm, this is an example of another “null heuristic”: hard coding the solution space into the program.
When I was 11, I wanted to write a game in which two players raced to get to the finish of a randomly generated maze. So I thought: How can I make a random maze?
My solution was to use two perpendicular walls to split the game area into four quadrants, and cut a 1-unit opening in a fixed location along each of the four wall sections separating pairs of quadrants.
Then I manually created 20 maze tiles -- 5 for each of the four quadrants, with pathways leading out of the block at the places where there were holes in the center divider. So for every new game, the program randomly drew one of a possible 625 mazes. It seemed random enough to me and others who played.
Rather than a brute force algorithm, this is an example of another “null heuristic”: hard coding the solution space into the program.
Wow, I’m surprised your mazes seemed random enough!