Designing and printing Trout Bout
Trout Bout is a set of 3D printable replacement pieces for " Hey, That's my Fish!", a simple strategy game for 2 to 4 players. The original game pieces (fish tiles and penguin tokens) seemed fairly simple, so I decided to design and print my own replacement game pieces. The intent of the project is to practice and improve my workflow of designing, printing and prototyping 3D printed game assets.
- Blender 2.78 (CAD software)
- Cura 3.2 (Slicer software)
- Cocoon Create Touch 3D printer (3D printer)
- OctoPrint (3D printer interface software)
The tiles are hexagonal cylinders with an imprint of either one, two or three fish on the top side. Coloured inserts fit inside the tiles' underside cavities, to give the effect of brightly coloured fish trapped under a thin layer of ice. The fish themselves are just shapes cut through the ice tiles, making the inserts clearly visible. The inserts are slightly smaller than the cavity underneath the tile, in order to counter-act my printer's behaviour of printing objects slightly thicker than expected (due to coarse PLA layering).
The penguin tokens are based off a tutorial about how to build a penguin from a sphere, so the only challenge was to customise the resulting penguins into a practical player tokens. The penguins are short and rotund, resulting in a low center of gravity. This makes it easier for players to move the tokens around with less risk of them falling over.
Tiles and inserts
In blender, the easiest way to create a hexagon is to create a cylinder with six sides. After this, take the opportunity to resize the tile properly to ensure that it prints at the correct size. Just scale it while keeping its x and y equal, and reduce the z to squash it down. Next comes creating the space underneath the tiles for the inserts to fit. This process is relatively easy: Extrude the cylinder's bottom face in-place (don't move it), use Push/Pull to push the bottom face in by 0.1 (10%) and then extrude it up inside the cylinder, about half-way. The tile's shape is now complete.
Next, import fish SVG shapes into the scene and scale them to fit on the tile's top surface. Use the top camera to focus on the tile from above, and ensure the view mode is set to "othographic". Then use Knife Project to cut the shape straight through the tile, remove one of the cut-through faces and extrude the other face to close the gap, then delete that face as well.
The inserts are also simple hexagonal tiles, sized to fit comfortably inside the tiles with when printed. This means a gap of about 0.15mm on all sides.
The penguin involved a lot of tweaking to get the dimensions right, making it difficult to describe the process beyond the steps covered in the tutorial mentioned above. As each penguin is printed as a single colour, it's easier to represent its eyes as spheres bulging out of its head. This adds to the penguin's cartoonish appearance, fitting in with the game's style. Fusing the penguin's two flippers to its torso makes them stronger and less likely to break off while being handled. Finally, the bottom of the penguin's feet, torso and tail are all completely flush and flat, so the penguin can "sit" still.
Another important part of the penguin's smooth appearance is the use of a "subdivision surface" modifier, which automatically smoothes all of the polygons and points on the penguin. I set it up to perform two subdivision iterations, greatly cleaning up the penguin's appearance.
I wanted to reduce the number of manual steps on my prototyping workflow, so I set up OctoPrint on a Raspberry Pi and connected it to my printer via USB. This was far easier than I expected, as the devices communicate by transmitting "gcode" commands over a virtual (USB) serial port. OctoPrint supports slicing on the device, but only using a preset Cura profile that I couldn't customise on-the-fly. Fortunately the Cura desktop app was enough to tweak the slicing options and export the gcode, which I could save and import directly into OctoPrint.
I have not made many modifications to my printer yet (though I know there is a thriving modder community for the Cocoon Create / Wanhao Duplicator). The Diicooler and blower fan have helped ensure a better finish of my prints from all angles. I am currently planning to add LED lighting to the print head, but I still need to design and print the right mounts for the LED strip.
In the past I had used a MakerBot, which by default would print a thick raft underneath the prints. However I've had trouble getting my rafts to stick to the print bed (even while heated), so instead I'm opting to print right on the bed itself. Printing the tiles upside-down meant that they didn't need any supports, and the penguins only needed a small pillar to support the end of their bill.
I am still learning how to get the best print results out of the Cocoon Create Touch, but I am fairly convinced that different colours and brands of PLA perform at their best at different speeds and temporatures. Printing at 215°C with 0.1mm layer height didn't always result in the best prints. For the moment I'm happy to settle for acceptable prints, and won't be pushing to get the best performance out of the printer.
Prototyping effectively takes patience, to keep track of changes and measure how effective the changes are. I didn't experiment much with other settings (such as layer height, which I kept at 0.1mm) but I did compare the effectiveness of printing with a raft, skirt or brim. Rafts resulted in an inconsistent surface on the face of the tiles, and brims were difficult to trim effectively so I just used a skirt to expose any issues with the filament flow before starting on the main models.
I prototyped with the penguins more than the tiles, to get a feel on how large the tokens should be compared to the tiles and how easy they were for players to pick up and put down. This also exposed an issue with a weakness in the penguin's flippers, which I resolved by fusing them to the penguin's torso. Another issue is picking the right amount of support for the penguin's bill. Unfortunately I haven't resolved this one yet, leading to the tip of the bill snapping off along with the supports. Interestingly, this happens with some plastics but not others. In the future, I will round off the bill to give it better cohesion to the penguin model.