It’s been a question on my mind for a while whether a 3D printed die can be fair and balanced? The reality is that the dice you buy aren’t necessarily fair, so making a 3D printed dice fair could actually be an advantage. For a while I wanted to build a clever machine to automatically test dice, but that’s been a project I never had time to explore. Finally I decided to print a bunch of dice and just roll away.
At first I printed a 4 dual colored dice, 20% infill and 2 shells. Not knowing there was a proper way to go about this I just stared rolling and recording until I felt a bias turn up. After collecting over 200 data points it seemed to me that there was a bias towards the low numbers for some reason, so I decided that I should try a single color dice.
Next I tried 6 copies of the customizable dice, 20% infill, 2 shells. I wanted this one to work, and the bias seemed somewhat less.
However I theorized that 100% infill would be better. So I printed 5 copies 100% infilled. Only the bias seemed to get worse, 1 hardly ever came up. So I inspected the dice and found discovered there was a seam running up the corner between the 1 and 4 side. Other slicers try to negate this by jittering where they start and end perimeter loops. MakerWare thinks they got rid of the seam so they done, which means when they’re wrong you get a zipper up one side.
I cut off the zipper and tried again. The bias seems to have shifted, but continued to persist. Infact the 20% infill dice still seemed less biased. I worried that the infill wasn’t consistent between copies, making each of them mask the biases of the others, which was not the point of multiple copies.
Finally I did some research and discovered that there is a prescribed method for these thing that involves only 30 rolls and does not involve “seems like” analysis. I also discovered that commercial dice aren’t always fair and that the rounder dice make imbalance more pronounced. With this in mind I threw away the old data, sought out some flatter dice (for which there aren’t many on thingiverse) and started to properly gather data, which I will report on in part 2.