The design question I keep coming back to is “How do I create a reliable interlocking system for blocks?” My criteria for a robust and useful system are:
- The interlocking system should allow interconnections in three dimensions.
- The pieces should snap/interlock together reasonably well/easily.
- The pieces should stay assembled reasonably well.
- The pieces should snap apart reasonably well/easily.
- The pieces should not require additional tools to be assembled and disassembled.