About
This is a project that I started back in 2010 after reading an article in Maximum PC about Visual Pinball. It only took 13 years to make some progress. Better late than never!
Hardware Specs
- Demolition Man Cabinet
- 46" Sharp Aquos LC46D65U LCD TV
- 30" Philips 30PF9946D LCD TV
- 15" Dynex DX-15L150A11 LCD TV
- Intel Core i7 CPU 870 @ 2.93GHz
- 16GB RAM
- NVidia GTX 1060
Software & Controllers
The Journey
2010
- Found a water damaged Demolition Man Cabinet on Craigslist
- Sourced three televisions
- Hacked up the cabinet with my brother and installed the TVs and fans
- Bought some hardware
- Abandoned project in 2010 (kids, right?)
2011 - 2019
- "Are you ever going to work on that pinball machine?"
- "You can't start anything new until you finish that pinball machine"
2020
- Started contributing to vpx-js, "Visual Pinball in the browser"
- Focused on VBScript to JS transpiler
- Made some really good progress but ultimately too many obstacles to overcome
- Started contributing to Visual Pinball Engine, "Visual Pinball Engine for Unity"
- Learned C#, helped on editor tools, Unity Visual Scripting, and cross platform support
- Helped on the libpinmame library (allows PinMAME integration in any application)
- Helped on integrating libpinmame into Visual Pinball Engine
Late 2021
- Attempted a rewrite of Visual Pinball called VPX++ (Player Plus)
- Complete failure when trying to port DirectX to OpenGL
2022
- Discovered Visual Pinball VR, a fork of Visual Pinball for VR headsets which used OpenGL
- Started reverse engineering how ancient COM and ATL Microsoft technologies work
- Discovered Wine's VBScript engine source code
- Worked on a way to cleanly modify VPVR without re-writing everything
- VPVR merged back into Visual Pinball
- Joined the Scranton Pinball League
November 2022
- First working real table on MacOS, "Grand Tour EM"
- Added support for running on Linux
- Added support for iOS and OpenGL ES
- Renamed the work to VPX Standalone
December 2022
- Implemented libpinmame
- Added support for running on Linux
- Added support for iOS and OpenGL ES
- Renamed the work to VPX Standalone
2023
January
- Added support for Raspberry Pi 4 (beyond slow)
- Added support for tvOS using an Xbox controller
- T2 and AC/DC finally playable
February
- Started porting FlexDMD to C++
- Blood Machines finally playable
March
- Added support for Serum colorizations
- Added touch support for Android and iOS
April
- Added support for ZeDMD displays
June
- Implemented FlexDMDs version of UltraDMD
- Resumed work on the Visual Pinball Cabinet
August
- Completed porting all of FlexDMD*
September
- Helped on Visual Pinball Standalone being integrated in Batocera 38 beta
- Started porting B2S from VB Net to C++
October - November
- Finished porting B2S
- Batocera 38 released with Visual Pinball Standalone built in
- Installed cabinet artwork based on VPW's "The Goonies Never Say Die Pinball"
- Prepped for the Electric City Pinball Show
Media Gallery
Photos and videos documenting the build process and final result.
Get In Touch
We have a #vpx-standalone channel in the Virtual Pinball Chat Discord Server.
Join Discord