One spring day in 2015, a chance daydream turned into one of the craziest projects I ever developed.

If you 20150226_face1have been following this blog, I have been building a 2- and 3-axis CNC machine (the Monster) out of PC Controls and medium steppers.  I made some serious headway on the mechanics and wiring, and I was writing a custom .net application to run the Monster via USB.  The application worked in conjunction with a 0001D in-house XML file, exported via Maya, CATIA, or Rhino plug-ins I personally developed.

Alright, enough boring backstory.

While all this boring stuff was happening, I was [am] taking care of my four-year-old.  During a quiet afternoon of coloring and connect-the-dots games with my daughter, I had a mild revelation.  Essentially, the CNC programming that I was developing was a form of connect-the-dots (some call them dot-to-dots puzzles). When a 2-D CNC mill or lasercutter software makes a path, it converts the virtual object into a contours.  Assuming that I’m never lifting the machine head into the z-axis, these contours are by definition polylinearly continuous.  Basically, the XML [or G-code for those of you without in-house CAM formats] is a compressed map of the X, Y, and Z coordinates along with the order in which these must be set.

A lot of the programmatic foundation for this potential game was already done, or mostly done.  The XML format that I had authored would be an ideal container to transmit the dot information too.  The MEL polyline plugins that I had developed in Maya would be solid image-to-CTD (Connect-The-Dots) converters, with some minor modifications to augment for potential name-tag overlap.  The Maya MEL XML exporter would not need any modifications whatsoever.

So I embarked on what I assumed to be a one-month exercise to make a simple Mega-Dots connect-the-dots puzzle with thousands of dots.

The small list of plans gradually became a large list.  This being a commercial project introduced a whole array of things us architects typically undertake.

  • Make a .net application to convert XML dots and XYZ’s to a large sheet with tags
  • Make subroutines to distribute and clash detect tags with leaders in an elegant way
  • Make a standard Mega-Dots title block and logo (and research necessary trademark law)
  • Write up a language-neutral set of instructions and diagrams for potential players
  • Acquire necessary UPC’s and EAN’s for distribution Fulfillment By Amazon
  • Establish business and upload requirements for a professional account on Amazon
  • Set up large- and small-scale manufacturing procedures
  • Automated and Manual QA/QC procedures
  • Document all of the sequences of manufacturing steps
  • Compile a large shipment within FBA rules and ship it before the Black Friday Sale Season

Also, I just didn’t want to make the longest connect-the-dots puzzle.  I wanted to challenge the player with different number systems from around the world and history.  I had to learn about Babylonian, Mayan, Inuit (Kaktovik Inupiaq), and Chinese Rod Numbers.  I relearned different bases like Senary, Hexidecimal, Alphanumeric, and other randomized number sets.  Lastly, I wanted to honor different people in history, who probably would not be affiliated with odd number brainteaser puzzles.

I am currently working on releasing the second shipment and addendum to the Mark Twain series of Mega-Dots! puzzles.  Hopefully soon, we will have more versions of this puzzle with other people immortalized into dots.  And lastly, I hope to have even harder Mega-Dots patterns once I reprogram the MEL based image conversion software.

To read more on the finer details on this project, see the next few posts on this blog.