Why MPF?
Why I chose to use the Mission Pinball Framework instead of something better.
I have a quick “what is” MPF ? To save you clicking on it this is what it says there:
The Mission Pinball Framework (MPF) is a free Python-based pinball software framework that’s used to run real pinball machines. It’s compatible with virtually all modern pinball controllers and machines, and it’s the most feature complete pinball software environment you’ll find.
Who wouldn’t want all that?
Lots of people as it happens. Lots that don’t want the special blend of pain that comes with MPF.
In my 5 layer model, MPF is number 2, the CONTROLLER SOFTWARE.
- CONTROLLER HARDWARE - Where the software runs.
- CONTROLLER SOFTWARE - Where the game rules live.
- IO PROCESSOR - The device that connects to switches, solenoids, lights, etc.
- IO FIRMWARE - The software in the IO PROCESSOR that does the turning ons and offs
- IO HARDWARE - This is what I call transistors, SCRs, MOSFETS, etc.
What Options Did I Have?
MPF
Yep, it’s an option.
Another PC Software Solution
Nope. Compared to MPF, on balance not worth the effort.
An Existing Pinball Control System
You can take the boards out of an existing pinball machine, and adjust them in various ways to get them to drive your fantastic new design.
Microcontroller(s)
Lots of pinballs run on different types of microcontrollers and have all the fancy rules and sounds and videos and such.
Ratings
This fancy table shows how good I think I’d be getting the results I want with each option.
- Success = Chance of actually getting a pinball machine built with this solution.
- Features = Chance that the pinball machine will have all the features in it I want. This is what compromising does.
- Media = How good will the media display be?
- Fun = Will I enjoy working with the tools?
System | Success | Features | Media | Fun | SDJ | U |
---|---|---|---|---|---|---|
MPF | 80% | 90% | 100% | 80% | 58% | 88% |
Another PC Software Solution | 20% | 50% | 0% | 0% | 0% | 35% |
An Existing Pinball Control System | 100% | 70% | 20% | 40% | 12% | 5.6% |
Microcontroller(s) | 100% | 90% | 70% | 100% | 63% | 90% |
{{< caption caption=”Fancy Table.” >}} |
I did some sums on these numbers and came up with 2 results columns, SDJ and U. SDJ is the Successive Degradation of Joy quotient, and out of a perfect 100, it shows how much joy is left after putting up with the previous failings. It’s pessimistic. U is simply an unrealistic measure, but it’s calculated in the same way for every option, so there is that.
As you can see, MPF and Microcontroller(s) are the least disappointing of the options.
I wondered what would happen if I did some work in MPF and some in microcontrollers, and made another little table showing the mighty MPFu (the u is for micro 😉).
System | Success | Features | Media | Fun | SDJ | U |
---|---|---|---|---|---|---|
MPFu | 100% | 90% | 100% | 100% | 90% | 98% |
{{< caption caption=”Little Fancy Table.” >}} |
You can see the meaningless numbers are much bigger for this combination! Winner, winner, chicken dinner.
Results and a Plan B
So MPF it is, and some things in microcontrollers, as appropriate. But nothing changes the fact that I’m not 100% certain that MPF can actually do the job (well, that I can get MPF to do the job, others have managed it). My Plan B is that if MPF is a flop, I will move more and more things into microprocessors, until there is no MPF left, if that’s what it takes.
In the following diagram you can see MPF and one of its main requirements - the PC it runs on. We are getting there!
Other Considerations / Remarks
Is a MPF system more maintainable / reliable for both short and long term? Probably not. So long as any pinball is built in a modular way, and is documented, then either approach works. PCs and operating systems become obsolete just as other types of technology.
You would think that the combination of media requirements, audio requirements, and game complexity would make the decision for you, but people are clever, tricksy things, and you can make pretty much whatever you want with whatever your want.
Bottom line - the choice comes down to which way you want to build your machine.