So some of my friends in the virtual pinball world over on vpinball.com are curious on how all this works. I wish it were as easy as taking all my vbscipt for the VPX version of Nobs and putting a computer in and running it, but alas it's not. There are a few options that have been developed for coding pinball machines, and some people are writing their own.
Pinball Makers is a great site for getting the basic information on how to get started building your own machine. Software wise THIS page details the main options. Mission Pinball Framework (MPF) is what I chose to use for programming my build, mainly because it is the only one with support for Open Pinball Project (OPP) boards which is what I'm using for the hardware to interface to all the pinball mechanicals, switches, etc.
OPP has a set of boards based on inexpensive off the shelf parts that you assemble yourself, lots and lots of soldering. The main brain is an off the shelf prototyping board that costs less than $5, the boards that connect that to coils and lights and such are custom designed by the developer of OPP, but also available really really cheap. Details on the Pinball Makers site linked above. PROC and FAST are two other hardware systems that do not require the DIY assembly of all the boards, but also cost a lot more to account for that. In all I probably have less than $100 in all my OPP stuff, where both PROC and FAST would run me about $700-$1000 (ball park estimates) to be able to do the same things. Information and links on those at the Pinball Makers site as well.
MPF is "a free Python-based pinball software framework that’s used to run real pinball machines". MPF is being actively developed and has a great team working on it with a great support forum and insanely quick response to issues and questions. For most of the basics MPF programming is done in config files where you define switches, shots, shot_groups, achievements, scoring, etc. It is very very different than how I scripted Nobs in visual pinball and I had quite a long learning curve getting up to speed, I still go back and rewrite stuff I've already done one way as I learn more stuff. The framework handles all the heavy lifting, for example the high score system. I tell it what variables I want it to keep high scores for, how many of them, and how I want it to look and it does the rest. For more complex games or for those who are programmers you can also integrate python coding into your config, mine so far has not needed any python coding thanks to some additions to MPF when I asked questions about how to do things and they just added them in so I could simply use the config files (well simply once you learn it, sort of).
MPF can be run on windows, osx, linux, and raspberry pi (more linux basically). I'm using an inexpensive Gigabyte Brix with Lubuntu linux OS for my system. Since I had not used linux for many years it was/is another thing to learn, lots of learning in this, who said you can't teach an old dog new tricks?
I don't know if this post will make any sense, but the main thing is people out there have done all the hard work to give us the hardware and software tools to build our own machines, it's awesome!
Once again, Pinball Makers is the place to start reading if you are interested.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.