I was cleaning out a closet the other day and came across my old PC setup from 2010. I decided I wanted to either do something with it or get rid of it, and I thought it might make a great arcade emulator or a virtual pinball machine.
Despite the computer’s age, I think it will run Pinball FX, and I have a nice collection of tables on Steam (yay Steam sales). The game has a cabinet mode that will change the perspective of the playfield, and it also supports a second screen for a back glass.
The Form Factor
I’m not sure if the enclosure should retain the classic proportions of a real pinball machine or be constrained to the size of the components. I don’t think it will need as much depth or length as a real cabinet.
I’m not a pinball purist, so the final form factor will probably be somewhat compromised. I’ll try to have the classic playfield angle, but allow the rest of the cabinet to be as small as it can be while containing the hardware.
Beginning with the Controls
Of course there is more to it than just putting a computer and some monitors in a box that looks like a pinball machine, and proper controls are essential to this project.
I want to focus on the controls before beginning any cabinet construction, as I believe the controls will greatly determine the success of the project. Also, a controller test rig will take up a much smaller footprint and can be iterated on at my desk.
My first thought for controls was to get an arcade cabinet kit from Amazon which includes a USB encoder and map the controls in-game.
However, I didn’t think I wanted to be limited to a pre-programmed encoder. I’d like to explore adding an accelerometer for nudge support or even a real plunger. That lead me to consider a microcontroller-based setup.
Since the Xbox 360 controller has analog sticks and force feedback, he was able to add a real plunger and some rumble motors to his box. It also has nudge support via an accelerometer.
I think replicating his VR controller is the perfect place to start for a controls test rig and a great beginning for the project.