2019-01-12

Putting the maze to bed...

I have tinkered on and off with the maze box stuff since Christmas, and we have actually found a really good use for the lottery ticket boxes for a small project (more on that after the event).

I have done loads to fine tune the clearance between the lid and the box, with lots of testing (each test takes hours, during which I have other work to do). It is a bit of a trade off - you need the lid to not scrape on the maze, or be too tight to move, but also not be too loose, and you also need to adjust the "nub" a bit and the "ridge" where it parks when complete. All these are now options on https://www.me.uk/puzzlebox anyway, and tested on my TAZ6. I will have to test on a Makerbot Replicator 2 to confirm if they work on the current defaults, or need more tweaks.

I have also gone for three nubs on the maze by default (again, this is a setting), to be more stable, especially as it is now a tad looser. This works well, but means less maze area and so simpler mazes. Even so, I think the new maze logic does create a good puzzle. I find it hard to tell as I don't have any problem solving these, sorry.

I changed the park ridge and nubs to directly calculated polyhedrons to make them the exact correct shape and size and skew to fit the maze, that was a challenge. It is quite fun getting your head around three dimensional geometry though.

Some of the tinkering has been a bit more complex. One of the changes I made was to allow any number of sides on the outer box. It used to insist on a multiple of the nubs - this ensured you could make the maze any way around (e.g. if 3 nubs, any of the 3 ways to start the maze would work). However, I thought it would be more fun to allow for other combinations, so as per the image above, 7 sides and 3 nubs. This means only one of the 3 ways to start will line up with the base at the end. To help, I added a subtle mark on the lid and the maze for alignment as you may be able to see. That was a slight challenge to code as the starting point of the maze could be wrapped around several times compared to the end point, and the combinations of maze inside, outside, both or neither, made for some fun testing.

Also, I found the lettering was not ideal on the ends. I have an option to do a proper chiselled effect (45 degree angle) in to the letters, but you ideally need a thin/fine font. I have made an ExtraThin variant of my 5x9 font for this now - and overall the 5x9 JTD font looks pretty good in 3D print I find.

I also used parallel command to make the sample boxes without trashing my machine in device waits!

All in all I am running out of things to improve. I have one idea which is to do with fonts: I made a bodge to use Noto Emoji if the string starts with top bit set, which is to allow some hearts and rings, but ideally each block of text should use fontconfig to find if the chosen font has the glyph and have fallbacks and make OpenSCAD for each separate block (as OpenSCAD does not seem to allow a list of fonts with fallback). Doing that could also ensure text does not go off the end of the space. Not sure if I'll go that far yet as the text is usually fixed, and I have already added a scale setting.

Apologies to the many people downloading from thingiverse. I have tried to ensure the various versions I have uploaded are all "good" even if they have slight changes, but just a few times I have messed up and only realised when the test print finished. Thingiverse is very slow at deleting and uploading new models, so I am sure it looked wrong at times. I included a "version" box (as shown above) in the uploads for reference. There are a good selection of test boxes on thingiverse but always best to make a new maze yourself as they will all be different. Still loads of accesses, likes, comments and makes on this puzzle, and even some people making the code direct from github (thought some of the comments were verging on trolling).

I was actually surprised to find at least two people selling these on ETSY! I hope they like the new version.

I did have fun making one the right size for an Annoy-A-Tron though - not sure where to put it :-)


Anyway, I have a bit of printing to get done for this small project :-)



18 comments:

  1. The annoy-a-tron-in-a-maze device might 'booting issues' of the size 9 variety if it's too tricky to solve...

    ReplyDelete
  2. These are great fun, thanks for creating them!

    The nubs option on the latest version of your generator doesn't appear to work as expected - possibly its mixed up with the Helix option?

    ReplyDelete
    Replies
    1. That is one of the sanity checks, you cannot have every combination. If 2 nubs, has to be helix 2 (or 4, etc). What are you trying?

      Delete
    2. Ah - I hadn't considered that the valid helix values were constrained by the numbers of nubs - thanks :)

      Delete
  3. Hi RevK this puzzle box is amazing thank. You for your efforts. I am not very good with code or reading. I have been on the puzzle box page and I cannot figure out how to put text on each face of box exterior. Is there a user manual for puzzle maker page. Apologies in advance for being somewhat simple.any thanks

    ReplyDelete
    Replies
    1. Use a backslash to separate the lines, e.g. "Side 1\Side 2\Side 3"

      Delete
    2. Thank you so much. Is there limitations to text used and how to impliment it. Thank. You again all this stuff is super hard for me thanks for help. A guide would be great for this. Thank you so much again.

      Delete
    3. The text just ends up in a text() function in the OpenSCAD file, so if there are any tweaks you need it impossible to do that after the file is generated. If any line starts with a top bit set (>=0x80) character it assumes you want Noto Emoji font, but otherwise no special processing.

      Delete
  4. So I can just put the name of the text I want in that box and it will find it?

    ReplyDelete
    Replies
    1. Well, put the text in the box on the page, e.g. if you want "Hello" and "World" on two sides, put "Hello\World" in the box. Not sure what you mean by "name of the text".

      Delete
  5. Sorry to be a pain RevK I really do have learning issues and love idea as it suits my mind in a way. Can the puzzle making page be made into an application? out of curiosity?

    ReplyDelete
    Replies
    1. I have no idea - it is just C code - I suspect someone could make an app out of it (I assume you mean for a smart phone). It is all on GitHub is someone wants to try!

      Delete
  6. Fantastic thank you. I can't really understand code it's a limitation of mine. I'm still unclear on how to add text. And not getting any where fast lol.

    ReplyDelete
    Replies
    1. Err?! You go to web page https://www.me.uk/puzzlebox/
      You type text in the box where it says S= and Text on sides.
      I am not sure "code" comes in to it.

      Delete
    2. its these sections i don't understand how to use
      F=
      Font Text font (optional)
      e=
      Font Text font for end (optional)

      Delete
    3. Ah, OK, you type the name of the font!
      All this does it set font="..." in the text() operation in the OpenSCAD file, that is all. Now that works is down to OpenSCAD.
      If you run OpenSCAD it has a Help->Font List which shows what fonts you have installed and their exact names which you can use in those fields.

      Delete
    4. Perfect i shall have a look. Thank you Again.

      Delete
  7. This comment has been removed by the author.

    ReplyDelete

Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.