Maze Generator Keeps Plotter (and Kids) Busy

We can tell that [Jon Howell] is our kind of guy. After updating his vintage 1985 Hewlett-Packard plotter with WiFi and the ability to load SVG files, he obviously needed to find a bunch of stuff to run off with it. Gotta justify those hacks somehow. So he doubled down and decided support a hack with another hack by writing a maze generator to keep his plotter well fed. He was kind enough to unleash his creation on an unsuspecting Internet as an open source project, and now we all can benefit from a couple of reams worth of mazes.

The generator itself is written in Java, and should work on whatever operating system your box happens to be running thanks to the *nix and Windows wrapper scripts [Jon] provides. To create a basic maze, one simply needs to provide the script with the desired dimensions and the paper size. You can define the type of paper with either standard sizes (such as --paper a4) or in the case of a plotter with explicit dimensions (--paper 36x48in).

If you aren’t a big fan of right angles, there’s support for changing the internal geometry of the maze to use a hexagonal or triangle grid. You can even pass the program a black and white PNG “mask” which it will use as the boundaries for the maze itself, allowing for personalized puzzles of whatever shape catches your fancy. [Jon] even ran the Wrencher though his software, leading to the creation of a maze which we can neither confirm nor deny will be making an appearance on our Christmas cards this year.

Whether you need to prove to your significant other that the hours you spent fiddling with your plotter are well spent, or an easy way to entertain the junior humans in your life, you can thank [Jon] for your solution.

14 thoughts on “Maze Generator Keeps Plotter (and Kids) Busy

    1. No, I should, though. The hardware control panel is a raspberry pi with a 10-key USB keypad and a ridiculous python program that renders its own UI as PNG frames.

      Much more important is a set of patches to inkscape that render svg down to simple strokes for hpgl, including pen changes and Hershey font substitution. I have a web service that consumes CSV, runs them through inkscape, and deploys them to a directory on the rpi. Unfortunatelyare a bit messy and apply to a several year old version of inkscape. I keep meaning to update the thing, but … time.

  1. Simon Tatham’s portable puzzle collection “Loopy” has a whole bunch of other plane-filling tesselations which could be fun to also use here, beyond these hexagons, squares, and triangles.

  2. What would you pluh the code into to generate these mazes?
    Mostly a mechanical kind of guy but I’m trying to pick up more on things of this nature. Please forgive the noobness and happy holidays all!

  3. Back in 199x I bought an old HP plotter. I thought.. Linux has drivers for EVERYTHING and maybe I can fit it with an etch-resist pen and make some PCBs.

    I didn’t know what HPGL was, didn’t find anything that I knew how to recognize as a driver for it. Being that this was before Arduino or other hobbyist microcontrolers replacing the electronics with something that I did know how to drive was beyond me. Lacking home 3d printers I wasn’t even sure where I would get the bodies for new pens! (I don’t count the BA$IC $TAMP, note the use of dollar signs, those things must have been made of money given what they cost).

    I really wish I had kept the thing today! Who knew how much would change and how fast?!? I expected that old gear to become even less useful, not more!

  4. It would be so cool if someone printed the inverse of these mazes in conductive ink and applied electricy to the start and stop point and let the electrity solve the maze for you. You could look at the thermal image or crank up the power and look at the burn marks. (or if you’d rather 3d print the walls and flow a liquid through it and once the flow is steady add a bit of pigment at the entrance and look at the path. If I had lots of idle time I’d definately be doing that. :-) ..I woner if it could be done in Minecraft.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.