One spring day in 2015, a chance daydream turned into one of the craziest projects I ever developed.
If you have 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.