When our good friends at Matterhackers asked us to build another fun game for their expanding offices, we jumped at the idea of making a massive working version of the board game Perfection.
As a follow-up to the Foosball Table, Dave, Rhonda, & Alec at Matterhackers wanted something fun and unique to play in their ever-expanding Southern California headquarters. As a company that sells 3d printers, filament, and expert support services, we wanted a project that would be a good balance between woodworking, cool electronics, and of course, 3d printing. After a few phone calls and some great collaborative discussions, we all decided that an 8-foot tall version of the kid’s game, Perfection, would be a really unique fit.
- 3d Model the Game
- 3d Print/CNC Mill Components
- Build the Game Board
- Add Pop-Out Mechanism
- Install Electronics
- Adapt & Overcome
Because we were going to be blowing this table-top game up to fit on a wall, we needed to model the original game board and scale everything to a known dimension. The easiest size to base the game of off was a sheet of plywood. We knew that the Matterhackers’ ceilings were 9-feet tall, so using the 8-foot long sheet of material was a perfect plan. Josh modeled the game in Fusion 360 ensuring that everything was scaled so that the game would be as long as a standard sheet of plywood.
Because the game board itself was a relatively simple box, the real trick was to create the depth and layering between the side panels, the pockets for the game pieces, and the trim that would give the game dimension. Most of these pieces would be ripped from either 3/4″ plywood or 1/2″ MDF. All-in-all, the whole game was constructed from 4 sheets of 4’x8′ material.
With a final model in hand, Josh was able to share the design with Alec at Matterhackers who then used a plug-in for Fusion 360 to make .svg files of the game board faces. This saved a lot of redundant modeling time because the game piece pockets could be cut on the X-Carve using the model’s existing designs. There were 25 pockets that needed to be cut into 12″x12″ tiles using the CNC.
To make the actual game pieces to fit into those tiles, Alec used the Taz 6 3d printer with a MOARstruder to print all of the 25 unique geometric shapes. These huge pieces were printed in flexible material so that no one would get hurt when the pieces popped out of the game board if someone didn’t win. Almost all of these printed and milled components were completed before we arrived so that we could focus on the game board while the robots worked in the background.
When Josh & I arrived at Matterhackers, they had space in a warehouse set up for us to work in. We had already given them a list of materials and tools necessary to build this massive game, so after a quick tour, we got right to work. Using a cut list Josh derived from the model, I used a circular saw and a contractor table saw to break down the large sheet goods. The first day was spent cutting long pieces and painting them the right colors so they could dry overnight.
The next day, we assembled the board’s major assemblies; the frame, the backer-board that would hold the CNC’d tiles, and the marquis. Almost all of these components were assembled using pocket hole screws and glue. The major assemblies were brought together and the game stood upright on its own. It was as impressive as it was massive.
In the original game, the plate with the game piece pockets was spring-loaded and held in tension while the timer ticked down. If the “Stop” button wasn’t pressed in time, the spring-loaded plate was released and all of the pieces were shot upward making a huge mess of your work. We couldn’t exactly replicate this action, but went through many design iterations. First we thought about individual servos that would push the pieces out, then stepper motors linked to axels with push arms, and maybe some huge springs like the OG game? We finally landed on a PVC pipe grid that would pivot at the top and would slap forward using tension from surgical tubing. The grid would be mounted behind the game face and would push the pieces out using small pegs that would protrude through small holes cut into the tiles.
To hold the push grid back while the game was playing, we decided to use an electronic door-latch solenoid. In theory, this was a perfect plan and the component was well suited for the job. In reality, however, the solenoid (even a more powerful one) could not overcome the tension placed on it, more on that later. To reset the grid, we tied a cord to the bottom of the assembly, through some pulleys, to the outside of the game board. Someone would have to manually pull the cord which would pull the grid back into its locked position.
Before leaving for California, I prototyped the electronics array on a breadboard with an Arduino Uno. I added an arcade button that would act as the game “start” and “stop,” a strip of RGB LEDs that would blink to indicate the game was ready, the timer was running, & the timer has ended. Once that set time had elapsed, the solenoid would receive power and release and the PVC grid would push out all of the pieces.
Because I tested everything back in my shop, installation went really well at Matterhackers’ HQ. I hot glued the Arduino behind the Marquis. To mount the start/stop button, I asked the shortest person in their office where it should be placed. Once she was happy with the placement, I drilled a hole and mounted the button. All was going so well…
After adding some horizontal supports on the rear of the game and mounting a French cleat to the back and to the wall, the Perfection game was ready to install. It looked amazing. The color scheme and the impressive size was a sight to behold. Once we moved the game board into its final location in the main office, we could hear the staff’s excitement. Customer service reps were excitedly explaining the crazy scene to people on the phones, while others explained how they played Perfection as a kid. It was so fun.
Everything was going smoothly, we mounted the game piece tiles, tested the swinging PVC grid, ran the LED sequence; it was awesome! Except for one key feature: the solenoid. We purchased a 12 volt door latch solenoid to release the grid, but it was not strong enough to release the tensioned PVC.
We purchased a 24 volt solenoid and added many, many different attachments make the system work. When we released the tension from the surgical tubing, the solenoid worked fine, but the grid didn’t have enough power to knock out all of the pieces. It was a delicate balance between not enough and too much tension. With time running out on our 3-day build, we were forced to leave out the electronic solenoid option. The guys at Matterhackers decided that the game was just as fun with someone holding the reset cord and letting it go when the timer ran out. It worked in this capacity, but they already have some ideas as to how they can improve on the design.
Thanks to Matterhackers!
Overall, it was a really fun trip with a super cool unique project. Although it didn’t turn out exactly like we’d planned, they were really happy and now they have a mini-project of their own to tinker with. If we had another day to prototype another solution, I’m confident that the game would work electronically, but it wasn’t in the cards for this trip.
A special thanks to Alec, Rhonda, Dave, and the whole amazing team of people at Matterhackers. I get all of my 3d printing machines, filament, and support from their super helpful staff and you should give them a visit at
(purchasing via these affiliate links supports ILTMS)
- Skil circular saw
- Dewalt 20v drill driver combo
- Pancake compressor/nail gun combo
- Kreg R3 pocket hole jig kit
- X-Carve (CNC)
- Ultimaker 2 Extended 3D printer
- Ultimaker 3
- All filaments, 3d printing supplies from MatterHackers
- Arduino Uno (just the Uno)
- Arduino Uno Kit
- Arcade buttons
- jumpers (Male to Female)
- Soldering iron
- Third hand kit
- Wire strippers (not the ones I have, but good ones)
- Thin solder
- Anti static mat
- Fiskars cutting mat
- Plastic parts cabinet (24 drawer)
- Plastic parts cabinet (64 drawer)
- Precision Screw driver kit