The skee ball machine is a wonderful thing. The simple experience of rolling a ball into a target is so freakishly satisfying that I used to play as much as I could as a kid at the local amusement park/mini-golf course. The sound of the rolling ball on the ramp, the pop as it launched in the air, and the bouncing as you hoped it would hit the 50 or even the 100.
So when the idea for doing a bigger project came up, I jumped at the chance to make a DIY version. I was amazingly lucky to get a lot of help from the folks at Because We Can who did the design and fabrication of the machine on a Shopbot.
Note: this version was made for Maker Faire and as such has a few loose ends. It survived Maker Faire (mostly), but needs some more work to be bullet-proof.
Step 1: Get Stuff
Step 2: The four main pieces
These are the four main pieces of the skee ball machine. These can be easily taken apart so that the whole thing can be moved in a 10' U-Haul truck. The ramp slots onto the cabinet and doesn't use any fasteners to be attached.
The Revit files for the skee ball machine are attached. With this design, the pieces were cut out of 3/4" ply on a ShopBot. The assembly is straightfoward as it's a tab-and-slot design.
Step 3: The playfield
The pieces for the playfield are straightforward. Most of the pieces fit together as in the picture above. The kicker at the end of the playfield is made up of several s-shaped pieces of cut plywood all glued together.
The ramp itself is covered with cork and the front end of the ramp has a metal bracket to protect against wayward throws.
Step 4: Cabinet
Here is an exploded view of the cabinet. Again, the assembly is very quick with tabs slotting the middle pieces into the sides. A few screws are used to keep everything more snug.
One thing that we didn't add was a shield for the display. We tested the machine out by throwing the balls in a regular bowling fashion and never came close to it. When kids or excited adults played it, however, a lot more force was used and the balls would pop up enough to hit the display. Kids being kids, this became a game of its own and one of the displays broke right before the end of Maker Faire.
Step 5: The electronics
The electronics for the skee ball machine are refreshingly easy and simple. Each target has a 5cm distance sensor attached to it. As soon as anything gets within 5 cm of the sensor it signals the Arduino and the hits gets logged.
Each sensor is running off of the 5V on the Uno and is also sending a digital signal to the Arduino. There's no pulldown resistor. That's it.
As for the Arduino itself, it's running StandardFirmata. This can be found in the Arduino software under Files>Examples>Firmata.
So what this does is just turn the Arduino into an interface for the computer. You can certainly put the entire program with an LED display for the score and this was an initial direction for this project, but I wanted to make the display a little fancier and have some more fun with it.
All of this is held in place by Gorilla tape which looks odd. This is not meant to be the final version. All of the pieces only came together the day before Maker Faire. The goal was to survive Maker Faire and that worked out on the electronics side. The next version will have 3D-printed brackets and shield for all of the electronics.
Step 6: Just add Processing
The Arduino solution would be great for recreating the classic skee ball machine. In fact, I did that in the first hour of this project. But then I got bored and realized "I don't have to follow the original rules!"
Seriously, if we're going to make our own game, then lets make the game our own.
By using software that displays information on a monitor you're free to do so much more with it. Instead of each hit giving you one single set score you can add more effects and events. Like these:
In addition to more points, the big combos (Up the Line and Around the World) also had a bonus ball. If you hit a specific target after the combo you'd double your combo bonus.
Here are a couple other features added to the game:
To run the game, download the attached Processing sketch and plug in an Arduino with StandardFirmata on it. My experience with Firmata was that it can be a little finicky in pairing the Arduino with the laptop so make sure you are getting basic features to work there with a simple test first before trying this out.
Notes on attached sketch: