Ever since I saw Borgdog's Nobs table I've had an interest in making my own home brew table. I've authored or helped out on over a dozen Visual Pinball EM tables and a few months ago I got the opportunity to help out on a Cuphead table that I really liked. The table has a great theme, fun game play, a good rule set, interesting graphics and a lively sound track. After we got the table released I asked the designer of the table if I could use his resources to make a home brew version of this table and that started up this project.
My first hurdle was learning how to work with Mission Pinball Framework (mpf). The really nice thing about mpf is that it automatically takes care of all of the low level processes like player and ball management, extra balls, multiball and interfacing with OPP boards. The drawback to working with a framework is that it expects exactly what it wants and if you don't give it exactly what it wants, you have problems.
The mpf site has great documentation and the google groups page has a lot of very nice folks to help noobs like myself make progress. After about a month of trial and error (much error) I ended up with a working mpf set of configs. MPF has a "monitor" section that lets you set up an image of the playfield with all of the switches, coils and lights on it and then click on these to see how the game plays which is critical to troubleshooting the configs. The monitor can also display variable values and other data to help sort out how your configs are running.
Since I had played the table many times in its visual pinball format so I knew that it should be a fun table but I wanted to try out the mpf vpx bridge before I bought a donor table and invested a lot of time and money into a project that either wouldn't work out or wouldn't be fun to play. The mpf vpx bridge is a software interface that lets you run your table in mpf while letting vpx take care of keyboard interface, physics and letting mpf know which switches have been hit. With this interface you can (sort of) white board the table before you start investing in a physical game.
Here is a video of game play in the mpf vpx interface. I could only get one audio track to record so you'll only hear the mpf sounds. You won't hear any vpx sounds like solenoids firing, ball roll or anything else that vpx would play. Also because my video card was driving three monitors and trying to record, there is a bit of lag to the game play (which accounts for some of my poor play). Lastly vpx has a ball control feature which is super helpful in testing hard to hit shots. Unfortunately the SOUL lights are shifted by the flippers and the flippers on my vpin cab also control the left and right ball motion so there's a little funkiness there. Additionally if you jam a vpx ball (with ball control) into a drop target or stand up, you can generate multiple hits which you will see late in the video. This would never occur in normal vpx play but I figured you would't want to watch an hour long video...