By freezy and iaakki
We’re a community of players and creators that re-create pinball games digitally. Many of us own real pinball machines and have been playing and enjoying them for a long time. There is just one catch: Unless you’re living close to an arcade, getting to play a variety of tables is difficult, and there are so many great ones. And if you’re not in America, the chances of being able to play any table at all drop significantly.
Therefore many of us build a physical pinball cabinet, usually a standard or wide body design, install a TV instead of the playfield, hook up a PC, and use a software called Visual Pinball to play digital re-creations of those games. One machine to rule them all, so to speak.
What sounds like a quick hack is quite an endeavor. Most people put actual solenoids into the cabinet that are triggered by the game to make it feel more authentic. These solenoids fire when the flippers, slingshots, and bumpers in the game are activated, but it doesn’t stop there. We also can include real flashers behind the playfield, a gyroscope for proper nudging, a plunger, shaker motors, RGB strips, topper monitors, knockers, chimes, and more. There is probably no piece of real pinball hardware that hasn’t found its way into some builder’s cabinet. And since re-creations of solid-state games are driven by PinMAME (a pinball machine emulator), we get the exact same experience as the real machine in terms of game logic.
But this article is not about how to play digital pinball. Instead, we’d like to dive into the creator community that actually provides all this content. See, while the game logic, DMD animations and sounds are often provided by the original game code, we still need to re-create the “physical world” of the game, which is the geometry of the playfield, the artwork, the look of the materials and lighting, and most importantly, the physics of the game.
Such a build usually starts with a playfield scan. We now understand that to make the game feel and operate correctly, it is essential that the table geometry and dimensions match the original. The current simulation of pinball physics is so realistic that a table just magically starts to work once geometry, the slope, and ramp heights are correct. Additionally, it is critical that all the switches, lamps and solenoids provided by the game code are triggering properly. Usually, manuals reveal how to connect each table element, but there are cases where we need to trace the color-coded wires from photos to make sure that lamps are connected correctly.
Physics simulation has improved a lot over the years. Apart from significant changes in Visual Pinball’s core a couple of years ago, a handful of creators have further added more realistic behavior via the table script (the code included in a table). For example, the way rubber posts and sleeves dampen the ball impact is now very close to how it happens in real pinball tables. There are also improvements in how flippers react on button presses, and this has made it possible to do flipper tricks like tap passes, flick passes, live catches and drop catches. These innovations are a cornerstone of making Visual Pinball games to work like a real machine thereby enabling players to truly practice and improve pinball skills when preparing for real pinball tournaments.
Once the game plays correctly, we move towards making the visuals look great. To get the absolutely best visual experience, the entire table is modeled in a 3D software such as Blender in order to “bake” a ray-traced image into a texture that is then used in Visual Pinball. These baked textures are then swapped depending on the lighting status of the table to achieve close-to-real lighting. For example, we typically render the table in Blender with the global illumination lamps (GI) off, and another time with GI on, and then fade between the two textures during gameplay.
This baking process has recently been streamlined by what we call the VPX Light Mapper, which is a set of Blender scripts that allow us to import a Visual Pinball table into Blender directly and bake out every individual lighting scenario separately, all automated. The results are spectacular, as seen in the right screenshot below.
However, there are typically three types of setups for Visual Pinball: desktop, cabinet and virtual reality. Most of the focus is usually put into the cabinet point of view, which uses the monitor in portrait orientation and offers a very nice experience with a cabinet running a 4K TV. But since the baked textures are done from one specific camera angle, they can look incorrect for desktop and VR users. To make the table play well in VR is quite demanding, mostly because of the way light is rendered in Visual Pinball. For example, a baked plastic ramp texture might look impeccable for cabinet users, but the same texture may look horrid in VR. So, the final table release may have different implementations of the same lighting for each group of players.
In general, the work for visuals can be split into a few different areas such as playfield graphics, plastics graphics, cabinet graphics, inserts lighting, flasher lighting and shadow implementation. The process of making it all look natural is to begin with the lights-off state. Each object of the table should be seen correctly and the environmental light level as desired. Then we start adding general illumination lights one by one, and add baked GI flasher textures which makes the playfield and side blades light up properly when the game is started. This is the very base of the table lighting. Then scripting is used to make natural looking transitions between lighting states.
This same process is used for insert lighting, where many creators use separately lit 3D objects so the insert has some visual depth. Usually, one insert may consist of three to five objects: The actual tray, a light for ball reflections, some light to add bloom around the insert, another light that makes the colored insert overlay, and then maybe a sidewall reflection. These lighting implementation methods have taken years of development and experiments.
Pinball playing is also about the feel on your fingers. Players develop muscle memory from sounds and impacts that are felt in your hands and there has been development to allow what we call Surround Sound Feedback to provide the feel of real mechanisms in the cabinet body. Such a package consists of sound bites that are recorded from a real cabinet, and those sounds are then tied into a surround sound setup that transfers audio energy into the cabinet body using transducer speakers. One can feel where the ball is rolling and where the solenoids are kicking. In some tables like Whirlwind it is important that you time your live catch properly for the ball coming on the left scoop. This is something where players use audible cues of the scoop kicker to time their flick.
Finally, an important aspect of pinball table development is beta testing. This relies on several skilled and observant individuals who play a lot in arcades and also on virtual tables. For example, they provide feedback on how shots should feel, whether ramps should be reachable by a backhand shot or not, how the ball should return to a flipper off a ramp, where a failed shot may end up, whether the ball speed feels too high or low, and so on. This feedback is really valuable as it makes the game have similar quirks as a real one. It is common that we cannot get real user experience from a real device and then we need to rely on game play videos from the internet.
Sometimes, there is no game code available, or it is incompatible with the emulator. In this case, the challenge is to re-create the entire game logic by hand, aiming to get as close as possible to the original table. Such an example is Spooky Pinball’s Total Nuclear Annihilation. We contacted TNA’s game designer Scott Danesi, and he liked the idea of a digital re-creation a lot. So he helped us get access to the artwork, the sounds, the animations on the display, and we even managed to import the light shows exactly as they are in the original.
Since Scott is the IP holder of TNA, he allowed us to distribute the digital re-creation for free. Which brings us to another topic, licensing. Everything that our community produces is non-profit, thus free for everyone to play. And as you might have guessed, we don’t get an official permission for every re-creation that is released.
However, we try to make this work for everyone and stick to the Fair Use Doctrine as close as possible. For example, we don’t re-create games that are still in production by the manufacturer. And we’re convinced that playing a good re-creation is like a gateway drug: Now you really want to play the real thing. This assertion is backed by dozens of community members who got into pinball on their PC and now own one or multiple real machines.
There are also commercial studios producing digital pinball games such as Zen with their Pinball FX series. We have a good relationship with them. For example, they are supporting virtual pinball players by providing features for our cabinets such as portrait view. And the support goes both ways: in the past we’ve relicensed the PinMAME source code where possible to allow for its commercial usage.
To summarize, re-creating a table from scratch takes several months to complete and involves multiple skill sets. It’s often a team effort, which can be very rewarding. But there is also the aspect of digital preservation. Many re-created games have become nearly extinct in the physical world, often only available in private collections and impossible to play for most people. Making those gems of the past accessible to everybody is another factor that drives creators.
But re-creations are not the only type of games that the virtual pinball community produces. We have many creative and talented people who create their own, original game. There are over 400 original tables out there, and one of those gems is Blood Machines, based on the movie from 2019. Before we started working on a layout, we contacted director Seth Ickerman, who loved the idea of a pinball machine with his movie’s theme. A few days later, we received some 70GB of original assets from the movie to use in our project. The result, over a year later, was a deep, critically acclaimed game, free for everybody to download and play.
There is also innovation happening on the engine side. Visual Pinball, the open source simulator and editor for pinball games, has existed for over twenty years, and while its rendering pipeline has been updated, it’s very hard for such a small team to keep up with new technologies such as physically based rendering or path tracing.
This and a few other reasons made us start working on an open source port of Visual Pinball to Unity, an established game engine that covers those aspects out of the box. This new project is called Visual Pinball Engine, short VPE. Apart from close to photo-realistic rendering, virtual reality support, cross-platform compatibility and many more in-game features, we’ve put a big focus on the tooling part, i.e. the editor that lets people create new tables.
Starting tooling from scratch gave us the advantage of being able to design it in a way a non-technical person would quickly feel comfortable with. That means there is no more coding necessary, and when there is game-specific logic needed, we provide a set of well documented custom nodes within a Visual Scripting system. Special toy mechanisms can be achieved with pre-made components. Common playfield items such as posts, flippers or switches can be dragged and dropped from a curated asset library directly onto the playfield.
We also completely separated the game logic from the table, which gives us the possibility to later swap it out with a different code, or even replace the digitally modeled table with an implementation that controls a real table. So, it’s designed to become a prototyping tool for real tables at some point as well, and we’re really excited about that.
So, what’s the future bringing? Many of us believe that VPE will be a game changer in how tables will look and how they will be created. Many tedious tasks that today are necessary in Visual Pinball won’t be needed anymore, thus opening the creation process more easily to new creators. While VPE is maturing, there will be an intermediate increase of visual fidelity in Visual Pinball thanks to the new light mapper tool.
On the hardware side, there is some very nice augmented reality technology entering the market. Imagine standing in front of an empty cabinet, putting on a pair of lightweight glasses, and seeing a high-definition, three-dimensional playfield hologram popping up inside the cabinet that you can play. And the hologram is an actual light field, meaning it focuses where your eyes focus.
That tech is not a pipe dream, that’s Jeri Ellsworth’s start-up Tilt Five which is currently shipping the first batches of their units. And given Jeri’s enthusiasm for pinball, we wouldn’t be surprised if Tilt Five support made it into VPE sooner rather than later.
To conclude, there are exciting times ahead. We’re proud to most likely have accelerated the current pinball renaissance and are looking forward to what the future brings.
About the Authors
freezy is the author of a driver and tool belt for DMDs used in virtual cabinets, as well as the lead developer of VPE.
iaakki is the co-founder of VPin Workshop, a group of table creators known for multiple innovations in the Visual Pinball community. He was also the lead of the Blood Machines project.
This is incredible!
Unfortunatly I have a lot less time on my hands these days for (virtual) pinball than I used to have 10-20 years ago but VP has been such a big part of my life (and later FP, some might remember me doing the stock model library) and this comes as a complete surprise to me now after I was completely out of the loop for 3+ years… this looks fantastic and the dedication and work that is going into the project seem breathtaking. Keep it up! Can’t wait to see it in action!
You aren’t wrong, Virtual Pinball is sort of a gateway drug. I have one physical machine now and hope to get more as time goes on. DMDext and VPE are awesome! Thanks for all you do.