New Zigtrig Maze Wizard

At the end of January, I published a blog post with a screenshot of a maze maker app that I’d created. That app is gone (because it was hosted by Anvil and I decided to stop using Anvil) but I now have a new maze maker app online. Below is a partial screenshot.

zigtrig-maze-wizard

You’ll notice that it’s much simpler than the previous app: the four fields (maze width, maze height, wall width and image height) are gone. Now you just click one button to generate a new random maze. There’s also a new button to print the maze.

As with the previous maze-generator app, the reason I created it was that I wanted to try some web services I hadn’t used before. Specifically, I wanted to try Google Cloud Functions (GCF) and Neocities.

The Python code that the new Zigtrig Maze Wizard uses to generate mazes is the same code I was using with Anvil, more or less, but now it’s running on GCF.  The web app is a vanilla HTML, CSS and JavaScript app hosted on Neocities. When the user clicks the “Make a Random Maze” button, some JavaScript code generates a random maze width (number of cells), a random maze height, and a random wall width. It then calculates the total image height (in pixels) so that it’s big enough to look good. It then sends those four parameters to my Python function on GCF via an HTTP request. My function on GCF generates a new maze and returns the SVG text of the maze in its HTTP response.

I’m pretty happy with GCF and Neocities. GCF has a free tier and Neocities is free, so I will leave the new Zigtrig Maze Wizard online. Why not?

Update in September 2020: I created a maze-generator plugin for Adobe XD and liked the name “Zigtrig Maze Wizard” so much that I used it for that plugin. I decided to rename the web-based maze generator as “Troy’s Maze Wizard.”

Photo Credit: The image at the top is by Pixaline on Pixabay.

A friendly human.