The Making of Cuphead
If you want to see the process of making Cuphead then click on this text for all of the gory details CUPHEAD. The entire process took almost a year and during that time there were several occasions when I wanted to haul the machine out into the back yard, pour gasoline on it and light it on fire. Kind of hard to believe when you see the final photos but it's true, there were times of extreme frustration.
Someone asked me what I would do differently if I had to start all over again. I said:
-CNC the white wood so that there are no unknown variations between versions. I'm old school and love making things by hand but in this case WYSIWYG is more important.
-Not use a driver system that was in Beta form. I spent weeks trying to fix a problem physically and in software when there was a bug in the firmware for the Cobrapin STM32's. I knew this was a possibility as a beta tester so I knew what I was in for but there were times when I thought about putting the cab out in the yard and lighting it on fire.
-Not try to cheap out on my power supply. For almost 3/4 of a year I tried to make the old ALI transformer supply all of the power for the table. It ran very hot (Ben Heck suggested that I drop the control rods a little because the reactor was running a bit too warm) and did not supply enough voltage to drive the modern coils. With MPF's ability to limit coil pulse times, even old coils can be run at "high voltage" safely. Modern switching power supplies are relatively cheap, powerful, run cool and are energy efficient.
-Learn how to program in Python. Mission Pinball Framework can be very frustrating to work with because it is strongly typed and has a steep learning curve (at least for me). Getting the very complex Perdition Lane with multiple players, virtual ball locks, multiball fail, etc working was a nightmare. It would have been much better to write some helper code in Python and run that along side MPF then to work with MPF's logic blocks, counters and player variables.
-Take the playfield to a body shop and have them shoot it with clear coat. Spraymax is great for rehabbing pins but after playing 50 games in the last couple of days I see all of the imperfections in the clear coat. Probably something that bugs me because I know that they are there.
-Don't make real mechs try to replicate what mechs do in vpx. The Dash saucers bugged me until I resigned myself to the fact that mechs in vpx are not real and can do things that a real mech can't do. Once I bought into that, I made the Dash saucers help drop DT's and now they are an asset to the game.
-Use translight material for the plastics graphics. The decals are working ok but I bet translights would look a little better.
Equally importantly I would do these the same:
-I would use a VPX table as the base for a white wood because vpx physics are actually very good and you can have confidence that your layout geometry will work. The VPX to MPF bridge let me write code and run it with vpx to gain the confidence that I could actually make the table and not end up with a half built mess that I have to walk around in the basement.
-Use a donor table with its mechs as the basis for the table. That saved time and money in building the cab.
-Use a TV for the backglass. This gives me options for displaying graphics and video that a static piece of art doesn't.
-Don't dread doing the playfield graphics. It would have been great to have the PF professionally printed but I bet the graphics would not have lined up perfectly. Doing the graphics by hand took time but the end result is really very good minus my clear coat as mentioned above.
-Use Cobrapin in its stable current form. Once the bugs were worked out, this is a great system that is very inexpensive, works well and has great tech support.
I hope that this information is useful to you should you be thinking about making a homebrew pin of your own. Here's a gameplay video GAME PLAY