# Chatting with The Visual Pinball Engine Dev Team

**Source:** Mystery Pinball Theater 3000  
**Type:** video  
**Published:** 2021-11-17  
**Duration:** 62m 59s  
**Beat:** Pinball

**URL:** https://www.youtube.com/watch?v=UjTVCro4q24

---

## Analysis

The host of Mystery Pinball Theater 3000 interviews the Visual Pinball Engine (VPE) development team—Freezy and JSM—about their ambitious project to rebuild Visual Pinball from scratch in Unity. They discuss Pin2DMD, backwards compatibility goals, physics integration, cross-platform support (including Mac M1 native builds), and the focus on creator-friendly tooling over raw scripting flexibility. The team demonstrates work-in-progress footage of a rebuilt Terminator 2 table with advanced 3D rendering, refraction, and reflections.

### Key Claims

- [MEDIUM] Visual Pinball was open-sourced in 2000 — _Host asks 'when was Visual Pinball created,' Freezy responds 'It was open sourced in 2000, I think'_
- [HIGH] VPX physics engine has been ported into VPE instead of using Unity's default PhysX — _Freezy: 'What we're doing is something different. We basically have ported the engine from VPX. So the internal PhysX engine is completely deactivated.'_
- [HIGH] VPE is designed to work without table-specific code for EM games — _Freezy: 'The goal is to have Terminator 2 working without a single line of code... without a single line of code in the table'_
- [HIGH] Pin2DMD started as a way to make physical DMD hardware work with virtual pinball software like Pinball FX and Pinball Arcade — _Freezy: 'I bought Pin2DMD and it worked only for a bunch of games... I wanted to make it work for everything. So for Pinball FX, for at the time there was Pinball Arcade'_
- [HIGH] JSM has been working on restoring a real 1985 Gottlieb 'Premiere' pinball machine while developing VPE — _JSM: 'I had a friend that actually asked me to work on a machine to fix it all up. So it was, I think it was from 1985... Premiere or something'_
- [HIGH] VPE will support native M1 (ARM64) compilation for Mac — _JSM: 'getting it to be native M1, so ARM64. So it's Papa Duke exciting because finally actually be able to do stuff on the Mac with this.'_
- [HIGH] VPE has been in some form of development for several years, with prior work on a JavaScript browser version (VPX.js) — _Freezy: 'We had a different project before VPE, which is called the VPX.js, which is really a JavaScript port' and 'I think like three or four years ago we basically went into maintenance mode'_
- [HIGH] Pin2DMD can now render virtual DMDs for multiple game platforms including Pinball FX3, Future Pinball, and Visual Pinball — _Host: 'Pinball FX3 works with this. Future Pinball works with this. Visual Pinball works with this.'_
- [HIGH] VPE plans to integrate with the Mission Pinball Framework (MPF) for homebrew game logic — _Freezy: 'There's an MPF of course, the Mission Pinball Framework, which is used in the homebrew community right? And we already started integrating with them.'_
- [MEDIUM] VPE is designed to be VR-capable through Unity's XR capabilities — _Freezy: 'I would say yes because it's Unity... every time I have my VR headset on I'm like ah I should just install the XR kit in Unity and just run it'_

### Notable Quotes

> "I bought Pin2DMD and it worked only for a bunch of games. And well, I wanted to make it work for everything."
> — **Freezy**, early conversation
> _Explains the genesis of Pin2DMD as a middleware solution to unify DMD rendering across multiple virtual pinball platforms_

> "We basically have ported the engine from VPX. So the internal PhysX engine is completely deactivated. And what's running is a different engine."
> — **Freezy**, physics discussion
> _Clarifies that VPE uses the original VPX physics rather than Unity's built-in physics engine, preserving gameplay authenticity_

> "The goal is to have Terminator 2 working without a single line of code. Well, without a single line of code in the table, you're going to have a lot of code, of course, in Blueprint, but not in the table itself."
> — **Freezy**, scripting discussion
> _States the core design philosophy of VPE: creators should use visual tools and components, not code, to build tables_

> "I put a lot of time into just working on the Mac side of things to make sure it all works... getting it to be native M1, so ARM64. So it's Papa Duke exciting because finally actually be able to do stuff on the Mac with this."
> — **JSM**, development focus section
> _Highlights ongoing effort to bring VPE to macOS for the first time with native Apple Silicon support_

> "You could call that middleware... The game renders to its own thing and then Freezy software figures it out and displays it in a uniformed way with dots and stuff."
> — **Host (describing Pin2DMD)**, Pin2DMD explanation
> _Clear technical summary of Pin2DMD's role as a display abstraction layer_

> "We basically have decoupling everything, splitting 5 line classes into smaller chunks from the VPX code base was already done. And moving it to C# was not as a big thing as the original work."
> — **Freezy**, VPE architecture discussion
> _Explains why porting VPX logic to C#/Unity was feasible: the hard architectural work was done in the JavaScript version first_

> "You have a tree hierarchy with all the objects, you can move them around as you want, and you've got meshes and everything on this, so you can update them easily."
> — **Freezy**, VPE workflow discussion
> _Describes the Unity-native editor experience that makes VPE table creation more intuitive than VPX's scripting model_

> "I really want to see it be everywhere. So I've spent a lot of time into just working on the Mac side of things to make sure it all works."
> — **JSM**, platform support discussion
> _Reveals JSM's personal commitment to cross-platform accessibility, driving Mac/Linux native support_

### Entities

| Name | Type | Context |
|------|------|---------|
| Freezy | person | Visual Pinball Engine core developer; creator of Pin2DMD; leads VPE architecture and physics integration |
| JSM | person | Visual Pinball Engine developer; works on pinMAME integration (libpinMAME) and Mac/M1 native support; restoring vintage Gottlieb machines |
| Pandeli | person | Visual Pinball Engine team member; contributes visuals and graphics work; dropped from stream mid-interview but mentioned to have WIP visuals of Terminator 2 table |
| Zentari | person | Facilitated the interview between the host and VPE dev team; credited by host for enabling the collaboration |
| Toxin Fossil | person | Maintainer of Visual Pinball X (VPX); praised by host for maintenance and community engagement work |
| Visual Pinball Engine | product | Successor to Visual Pinball X; built from scratch in Unity; backwards-compatible VPX table importer; focus on creator-friendly tooling; cross-platform support (Windows, Mac native M1, Linux); VR-capable |
| Visual Pinball X | product | Original virtual pinball engine; open-sourced in 2000; aging technology with BASIC scripting; foundation for VPE design |
| Pin2DMD | product | Hardware/software middleware by Freezy; unifies DMD rendering across Pinball FX, Pinball Arcade, Visual Pinball, Future Pinball, ProPinball, VPinMAME; color DMD support; now in maintenance mode |
| Pinball FX | product | Zen Studios virtual pinball platform; supports Pin2DMD integration |
| Pinball Arcade | product | Farsight Studios virtual pinball platform (mentioned as 'stopped developing'); historically supported Pin2DMD |
| Future Pinball | product | Virtual pinball engine; compatible with Pin2DMD rendering system |
| Mission Pinball Framework | product | Homebrew pinball game logic framework; VPE is integrating support so MPF-written games can run in VPE |
| Terminator 2 | game | Classic pinball table being rebuilt in VPE as a proof-of-concept; demonstrating 3D rendering, refraction, reflections, and no-code table setup |
| Gottlieb Premiere | game | 1985 Gottlieb EM pinball machine that JSM is restoring and documenting for pinMAME integration; part of VPE testing workflow |
| Gilligan's Island | game | Classic Gottlieb pinball table referenced by JSM during restoration documentation work |
| Ripley's Believe It or Not | game | Pinball table set up at host's stream location; used in planned physical vs. virtual pinball competition against Flipstream |
| Unity | product | Game engine framework underlying VPE development; provides 3D rendering, physics options, XR/VR support, cross-platform compilation |
| libpinMAME | product | C library integrating MAME pinball ROM emulation into VPE; developed/maintained by JSM |
| VPX.js | product | JavaScript browser-based port of Visual Pinball X; precursor work that enabled VPE development by proving viability of cross-platform porting |
| Mystery Pinball Theater 3000 | event | Weekly streaming show hosted by the speaker; featuring interviews with pinball industry figures and development teams |
| Flipstream | person | Pinball player/streamer scheduled to compete against host in physical Ripley's machine (vs. virtual) on following day |
| Pinball Museum in Alameda | venue | Location used for host's previous Mystery Pinball Theater stream; planned for at least monthly Monday broadcasts |
| PhysX | product | NVIDIA physics engine; standard option in Unity, but disabled in VPE in favor of ported VPX physics engine |

### Topics

- **Primary:** Visual Pinball Engine development and architecture, Pin2DMD middleware and unified DMD rendering, Cross-platform support (Mac M1 native, Linux, Windows), Creator tooling and no-code table design philosophy, Physics engine porting and backwards compatibility
- **Secondary:** Integration with Mission Pinball Framework, VR/XR capabilities in VPE, Virtual Pinball X aging and maintenance by Toxin Fossil

### Sentiment

**Positive** (0.85) — Host and team express genuine enthusiasm and pride in VPE progress; community engagement in chat is active and supportive; recognition of prior work (Toxin Fossil, VPX) is respectful; some mild frustration about technical complexity but framed as manageable challenge

### Signals

- **[technology_signal]** VPE rebuilds 20-year-old Visual Pinball from scratch in modern Unity engine, replacing aged BASIC scripting with visual/component-based design tools and native 3D rendering pipeline (confidence: high) — Core premise of interview; Freezy and JSM explain full rewrite in C#/Unity vs. original VPX architecture
- **[technology_signal]** VPE adding native Mac support (including M1/ARM64) and Linux via Unity; marks first time Visual Pinball natively targets non-Windows platforms without Wine (confidence: high) — JSM: 'Visual Pinball like has never been on a Mac before... I really want to see it be everywhere... getting it to be native M1, so ARM64'
- **[design_innovation]** VPE prioritizes visual tooling (coil manager, switch manager, mech components) over scripting; goal is EM tables working without table-specific code, using visual wiring and presets (confidence: high) — Freezy: 'The goal is to have Terminator 2 working without a single line of code... it's a different approach. You're in a way a little bit less flexible. But it's a lot more user-friendly.'
- **[technology_signal]** VPE ports original VPX physics engine rather than using Unity's built-in PhysX; maintains gameplay authenticity across tables when imported (confidence: high) — Freezy: 'What we're doing is something different. We basically have ported the engine from VPX. So the internal PhysX engine is completely deactivated.'
- **[community_signal]** VPE integrating with Mission Pinball Framework (homebrew game logic framework); enables MPF-developed games to run natively in VPE (confidence: high) — Freezy: 'There's an MPF of course, the Mission Pinball Framework, which is used in the homebrew community right? And we already started integrating with them.'
- **[content_signal]** VPE team actively sharing WIP footage and progress via Discord/forum; transparent communication about design choices and trade-offs with community (confidence: high) — Host shows older and recent WIP videos; references 6-page VPE WIP thread; Pandeli shares Terminator 2 rebuild visuals; team discusses future language/scripting options openly
- **[design_innovation]** Terminator 2 rebuild demonstrates refraction, reflection, normal maps, detail maps, depth maps, and environment texture mapping; significant visual fidelity improvement over VPX (confidence: high) — Host/Pandeli showcase WIP video of Terminator 2 with 'refraction around the ramp,' 'reflections all over the place,' and environment mapping in bumper caps
- **[technology_signal]** VPE positioned as VR-ready through Unity's XR toolkit; enabling VR pinball experiences through standard VR headset integration (confidence: medium) — Freezy: 'I would say yes because it's Unity... every time I have my VR headset on I'm like ah I should just install the XR kit in Unity and just run it'
- **[restoration_signal]** JSM actively restoring real 1985 Gottlieb Premiere machine and documenting lamp/switch behavior to improve pinMAME accuracy; bridging physical restoration with digital emulation (confidence: high) — JSM: 'I had a friend that actually asked me to work on a machine... we spent like two months... documenting everything... she's documenting everything down on a piece of paper... got slingshots working'
- **[technology_signal]** Pin2DMD evolving from single-platform tool to unified middleware supporting multiple virtual pinball engines (Pinball FX, Arcade, VP, Future Pinball, ProPinball, VPinMAME) with color DMD support (confidence: high) — Freezy: 'I wanted to make it work for everything... Then at some point, a lucky one approached me about coloring... we have coloring on virtual cabs would be necessary... other drivers on other software'
- **[historical_signal]** Visual Pinball open-sourced in 2000; now 20+ years old; aging codebase with BASIC scripting; VPE represents generational shift in virtual pinball tooling (confidence: medium) — Host: 'Visual Pinball application was created... It was open sourced in 2000, I think... around 20 years ago... This is aging technology now at this point'
- **[community_signal]** Toxin Fossil credited as primary VPX maintainer; praised for keeping aging codebase alive and responsive to community; critical infrastructure role (confidence: high) — Host: 'props to Toxin Fossil because they're doing such an amazing job on maintaining it and adding new stuff and listening to the community. And without them, it wouldn't be at all what it is today.'

---

## Transcript

 We have friends here! We have friends here! Hello everyone, welcome to Mystery Pinball Theater 3000. On a Monday, I'm starting to do these Monday streams. Last time it was from the Pinball Museum in Alameda. Which I... What's up friends? What's up Rick? Vote, can I see this? It doesn't work Terry, not right now. Only Fridays, you know that only Fridays. I hope to be streaming out of the Pinball Museum in Alameda at least once a month on Mondays. So there's that. uh today we have a special wonderful wonderful little chat we're gonna have with uh the uh development team a visual pinball engine thank you zentari for putting this together because if it wasn't for zentari this would not be happening right now ladies and gentlemen um cool jsm and panda pandeli are here let us move to let's see uh how does this how does streaming work manu here we go as you can tell i have ripley's believe it or not set up uh quick plug tomorrow at this time not at this time but tomorrow on the regular stream at eight o'clock I will be battling Flipstream. It's going to be physical versus visual VPE on Ripley's, believe it or not. So Flipstream will be playing a physical Ripley's. I will be playing the virtual Ripley's. And we will be battling to the death here on Mystery Pinball Theater 3000. That's 8 p.m. Pacific. But without further ado, I think I have some friends with me, ladies and gentlemen. We have the Visual Pinball Engine Team. We're going to talk a little bit about the development of that and stuff like that. So we have, hopefully I have, JSM, are you there? Yes, I am. Hello. Thank you very much for having me. Nice. And Freezy, the one and only Freezy, how are you doing, bud? Hey, I'm fine, thanks. How are you? I'm feeling good because I'm talking to you guys. Hey. Are you not entertained? Yes, we are entertained. And did we get Pandeli back? Or is Pandeli still gone? I think it's still gone. Oh, no. So we had Pandeli for a moment. And during the technical run, we lost Pandeli. Pandeli's got the goods, too. Because Pandeli's got some visuals that you guys are definitely going to want to see. So hopefully they'll be able to jump back in and see. But Freezy sounds way deeper in voice than I pictured. What's happening? Wow, so Pinbot has lost her mind. Am I getting hosted? Okay, thank you, Pinbot. Pinbot, status report. Sorry, I was busy watching Deadflip. I usually get that from Pinball. So guys, Visual Pinball. So first thing I want to do is say thank you. Thank you both, or hopefully when Pandelly comes in, for joining us. Chat, they are also in the chat. So yeah, so JSM just said, what's up? What's up, Riku? Freezy, you are P-H-R-E-E, right? Yeah, I'm trying to respond, but I need to log first. Okay, you got it. Sorry, I hosted. I didn't think it was going to go great. No, it's Paladin Arcade. It's all good. It's all good. I'm never sad when someone hosts us. So if you have questions, throw them in chat. I have a few questions first. It's my show. Y'all just chill. Riku, thank you so much. Terry, no one is touching your voice. Yes, the dulcet tones of Terry Redd. Thank you for joining me, everyone. But I want to first ask Freezy some questions because here's the deal. Here's the thing. Freezy, what is – so the first time I heard about Freezy at all was there's a little thing called the DMD extension. Yeah. What is that and why did you create it? Well, I bought Pindemd3 and it worked only for a bunch of games. And well, I wanted to make it work for everything. So for FX, for at the time there was Pinball Arcade, if you guys remember, I think it still exists, but it's kind of stopped developing it. And well, then I looked at how could I drive that thing and started writing a driver. Started by capturing the DMD from the software and then trying to output it somehow to the DMD. And that was the very first version. And then I kind of had to create a virtual DMD because I'm not developing on the CAD. I mean, I need to visualize it somehow. So I wrote a really basic shader that draws dots. And apparently, many people preferred that to the VPN DMD rendering. So it became a thing for non-DMD users as well. And then at some point, a lucky one approached me about coloring. And he was doing that for maybe the hardware physical pin community. But if you want to color stuff, you people coloring stuff. And the virtual community is a big community and with very talented people. So we hope to establish some kind of coloring scene, I guess, in which having coloring on virtual caps would be necessary. So I started implementing that as well. And then they can other drivers on other software or other programs there was propane polysval and a few other things and then well i think like three or four years ago we basically went into maintenance mode i started other things and i was just just keeping it alive basically yeah um um just so that people who are and I'm super familiar with exactly what we're talking about, imagine a world where, you know, your DMD, this thing right here, see this? And this is kind of just using a color palette. I think all the VPXers in here know this is just a color palette. It's not really a color DMD thing. Every pinball, every virtual pinball-like system that we use displays the dot matrix displayed differently. And what Freezy did was make a unified system to where all of the virtual DMDs kind of render through. So it's kind of like a man in the middle. Would you say that, Freezy? Yeah, sure. Right? You could call that middleware. Middleware. Basically. The game renders to its own thing and then Freezy software figures it out and displays it in a uniformed way with dots and pretty things. And there's even out there's alphanumeric displays that look beautiful in games like Funhouse and stuff like that. So so his software allows us to have one spot where DMD displays and then run multiple games. So FX3 works with this. Future pinball works with this. Visual pinball works with this. So can I ask you if it's necessary to use DMD extensions for the new visual pinball engine? Well, it's probably going to be integrated somehow. I mean, currently it's really like a whole 3D scene and the DMD is just like a texture. And at some point you probably want to render it on a different screen or on a real DMD it's somehow integrated with it. And but if that's the case, it's probably going to be shipped with it directly. So you don't really have to fiddle with it. Because today it's kind of it's still kind of I mean, I've created an installer that should that's supposed to make it a little bit easier to install, but it's still a little bit of a pain, I guess. So with VP, you're supposed to have it more easily available. Awesome. That's the plan at least. That's the plan. So did we ever, I don't know if we got Pandeli back yet. Do you think, do you see if we got Pandeli back yet? Not yet? I don't think so. No, I don't think so. Let's talk a little bit to JSM. JSM, how did you get into development of Visual Pinball Engine and how did you get involved in this? um well um i've been interested in um you know pinball for a long time um you know i i um saw an article in maximum pc on uh visual pinball and i was like wow this is this incredible so um yeah i mean yeah i still have the issue somewhere it's it's a long time ago um and uh And so then, you know, life kind of got in the way. You know, I have two kids and all that. So I kind of took a little break from working on the visual pinball machine and all that. But then a couple of years ago, I was talking to Freezy and he reached out and he was working on a JavaScript web browser version of visual pinball. And I, you know, we just started talking and I, you know, I asked if I could help out anywhere. And I had worked on that. And then, again, he reached out again to me on Visual Pinball Engine. And, you know, I've been a developer for forever since I've been a little kid and all that. So, but, you know, I didn't know anything about Unity. And believe it or not, I mean, I program like a ton of different languages, but I didn't know any C sharp or anything. And, you know, I was a little nervous, you know, but, you know, he kept telling me, no, this is, you know, you'll, you'll be fine and all that. So, I mean, I asked him a million questions, and I still ask him a million questions. But, you know, I've been fortunate to be able to, you know, you know, help out wherever I can. So I like working on the pin maim side of things. So like on the, you know, the C library, we're using you know, for, you know, integrating, you know, visual pinball engine with, uh, pin maim. So we, we have a library called Bob Libbe pin maim. And, uh, so I really enjoy helping out on, on that. So that's cool. Yeah, I get it. It's like, it's, it's sort of like, I guess, freezy saw that, uh, you have a lot of talent. Um, and, uh, the rest is pretty much syntax. You know what I mean? Like, even if you're not super familiar with like C sharp or whatever, but you've coded in a lot of languages. You understand the basics of, you know, code structure, so that then you just have to kind of dive into the reference manuals and figure out the syntax. Is that kind of, am I close to it here? Yep, and, you know, the whole stack exchange, it is definitely your friend. So, you know, there's stuff out there, you know, you Google for five minutes and you can usually find an answer. There you go. Yeah, exactly. uh terry is so funny i just learned that c sharp is pronounced c sharp i've been what terry what have you been what have you been calling it please tell me you haven't been calling it c hashtag c number that's cool um here he is you all know that sound that is the nail buster himself what's up i wonder why nail buster's the only one who got a sound today um what's up david so uh let's talk a little bit about this new okay everyone's getting this okay so everyone's being nice and quiet that's why they want to hear the vpe guys so they're not chatting and starting up all the sounds what's up to fishbowl so you guys you guys see we got the heavy hitters in right now because they want to they want to hear what's going on with vpe visual pinball engine let's talk about visual pinball engine now correct me if i'm wrong if i get any of this wrong because you know i i told these guys in the beginning of the chat talk to me like i'm six years old because you go you guys know that i'm six years old what's up jeff boyardee visual pinball engine looks to be the successor to visual pinball x or visual pinball 10 but fully written in uh unity like a full ground up start but backwards compatible to vpx how are you guys freezy what how did you get your head around starting this project. It sounds insurmountable. Yeah, it is. All right. Good night, everybody. Yeah. But I would have never started this actually. But the thing was, I think the starter was that I was able to read the VPX format and then basically draw a mesh in the browser. And Jason already mentioned it. We had a different project before VP, which is called the EPX.js, which is really a JavaScript port, which sounds silly. But actually, browser today's have quite good 3d capabilities. So we got it running, we got it running in the browser. And and so we got we had all the rendering stuff, the physics stuff, but I had all had all done already actually in JavaScript. So what I did was porting it from JavaScript to C sharp because the main work, which is like decoupling everything splitting 5 line classes into smaller chunks from the EPX code base was already done And like moving it to C-sharp was not as a big thing as the original work. So then we just grabbed the game engine and started importing stuff. It turned out to be not as big an endeavor as you might think, but mainly because there was already the JavaScript thing before. Right, there's a lot of work already done. So you're at a point where you can now kind of import an old VPX-10, well, VPX-10 is redundant, but VPX table into the engine that's currently being developed? Yeah, exactly. We have an importer that reads the format and that translates everything into the Unity format. And then you've got a scene, you've got a 3D scene as someone who knows Unity, it's going to be very comfortable. It's like a scene everybody would create when working with Unity. So you have a tree hierarchy with all the objects, you can move them around as you want, and you've got meshes and everything on this, so you can update them easily. And then there is the physics part, which was ported as well. And then you basically have like a custom physics engine, which is the VPX physics engine. Okay, that's what I'm going to ask you about. I was going to ask you, are you simply taking... Actually, let me do this real quick. Since we don't have Pandeli here right now, Pandeli had a lot of the visuals. I do want to show you guys, um if you if you've probably already seen it um pinbot open internet well you're the boss boss so you've probably already seen this why is that zoomed like that that is weird uh that's that's that zoomed uh that's weird oh i know why it's zoomed this is ridiculous you've probably already seen some of the stuff that they worked on now this is a this is kind of an older some of the data in here is a little older as the guys told me so it might be a little less um accurate but let me fix this because this is zoomed up in a weird way sorry guys we're doing it live you want me to address the questions in yeah yeah you're starting to get a lot of questions in chat so There was one question about multi-screen, about Bansai Run. In Unity, you can create as many cameras as you want. The idea is if you have stuff going on in a different play field or on the back glass or wherever, you could just route a different camera to a different screen, a different monitor, And then you would have two monitors for playing, right? And if you are in a one screen setup, then we need to think about some kind of camera movement, I guess, so you can like switch between the back glass and the play field. But it's one 3D world, right? Everything is going on in one single world, 3D world, and then you can like point your camera wherever you want We'll have different settings, playfield cams, back glass cams and so on. I'm super excited about some of that stuff. The physics, does Unity come with its own physics? How does that work? You said you just brought in the VPX physics? Yeah, so Unity has a few physics options. The most common one is PhysX, which is, I think, developed by NVIDIA. So if you add standard colliders, that's what it's going to use. But what we're doing is something different. We basically have ported the engine from EPX. So the internal PhysX engine is completely deactivated. And what's running is a different engine. So we have different colliders as well. It's going to be set up a little bit differently. but when you import a VPX file, it should be set up in order to work basically. And then you can also create, everything that you create additionally from the import is gonna have its colliders when you enable them. So it should be quite okay. And there's probably gonna be a few things that we have to fix like a few, I don't know if you parent something, then you have like different coordinate systems, right? If you have a parent and the child, then the child is attached to the parent. And like, if you have a flipper, usually if you have custom flippers, what you would do in VPX, you would just create the primitive with the flipper. And then you just have a timer that animates it around along with the original flipper. So it just looks like a better flipper if you want. Right. But if you go deeper, like if you attach different objects to that and they move, they're not going to collide correctly. So we have to figure out a way to make sure people don't get confused. Wow. Here, I want to show a little bit of, I know these are old. Like I said, guys, these are older videos and stuff. There's a lot of work being done to VPE and the VPE Discord. But this is kind of an example of... This is actually... So what is this we're looking at right now, Friese? Yeah, this is just one of the contributors who likes to play with Unity. And he made this video. It's completely real-time, of course, and he just put it into a room and made the camera fly over it. But this is like over a year old, I think. yeah so if you go to the to the vp universe thread I've posted another one recently from pandeli who wanted to I think he wanted to show okay here throw that in is that in the zoom chat or is that the discord chat if you just type VPEWIP, you'll find it. Google will find it. VPE. And then work in progress WIP. This will be fun. This will be fun. There you have it. Thank God. It's the shortest way I found to access my thread it's six feather search okay so if you go to the last page then you have okay yeah the very last uh six page oh wow is this it no no yeah this one so this is like so uh we're rebuilding the terminator table right and and we're rebuilding it with and fuzzy and we have all the resources in high resolution and now we're basically setting up playfield it's really at the beginning but what you see is um 3d inserts you see some refraction around the ram you see of course reflections all over the place what you're seeing is um the uh the environment uh the the environment texture around, which is reflected in the play field. Kind of the world map. In the bumper caps, you have refraction as well. And there are a few things like, if you look closely, one of the caps will be like hidden if the camera goes over the ramp, that's because there's just one refraction pass, meaning that Unity like stimulates refraction in, like it takes all the objects that are reflected and looks what's behind them. then like applies algorithm of the light passing through it and if there's another one that is refracted then it just won't render it currently coming to fix that and i redo this go ahead go ahead i redo the plastics over there that was my work this week uh redrawing the plastics of the hands in illustrator so we're slowly progressing but there are freaking scratches in the plastic. That is ridiculous. Yeah, and you can do all kinds of stuff with detail maps and normal maps and depth maps. That's VP Fiends coming in loud. Hey, JSM, what kind of things are you kicking around in the code base of the visual pinball engine currently? Well, I've been working on an old Gottlieb table. I had a friend that actually asked me to work on a machine to fix it all up. So it was, I think it was from 1985. Yeah, a real machine. Which one? It's a, well, Premier Rock. So I think it's like 1985. But they had like Rock and Rock Encore. same machine just a different ROM and all that but um when uh he gave me the machine to start working on like the um uh the driver board everything was blown out of it so none of the coils and all that stuff poured but um anyway so we spent like two months and got that going and then all of a sudden I realized that like this is really like this is helpful I have the machine here at my house and you know I I'm working on pin maim and you know trying to work on this. So, you know, while they're working on T2, I've been kind of working on that. And, you know, it's helpful because, you know, I was out, I had my wife out in the garage the other day with me, like, we're like, you know, checking out the GI lights when, you know, like lamp one is enabled, you know, and, you know, she's writing everything down on a piece of paper and all that. So, you know, and that all started with the table that, you know, I am, you know, um jp salas that that i found and so i pulled that table in and just have been slowly going through making everything um you know work and again asking freezy a thousand questions so like yesterday um got slingshots working and um you know another thing too is um uh i'm like i i like um i'm an apple guy not i don't dislike windows or anything like that so i don't want to turn into any kind of finger but um you know like you know visual pinball like has never been on a mac before or you know linux without using wine or something and you know i really want to see it be everywhere so like i've spent a like like i put a lot of time into just working on the mac side of things to make sure it all works so um yeah i spent some time too getting it to um which will be coming up a commit soon, but getting it to be native M1, so ARM64. So it's pretty exciting because finally actually be able to do stuff on the Mac with this. So yeah, that's kind of the stuff we're working on. You guys, chat, you heard that, right? That's insane. That is insane. We have a little bit of a holy war happening in the chat right now where they're screaming either backwards compatibility yes or no. You guys are shooting for backwards compatibility? Yes? Freezy? Well, it depends on how you define it. So what you currently can do is like you can import a table and then you can like do stuff. I don't know, move stuff around, even add stuff like add a light, add a primitive and you see it in 3D, you can place it in 3D and everything and then you can export it back to VPX. Right. Right. So in that sense, it's backwards compatible, but you won't be able to just import a game and play it right away. You're going to need to set up, like you need to connect it to the ROM correctly, and we provide UI tools for that. So you have a coil manager, you have a switch manager, you have the same thing for lamps and stuff, and you can basically visually hook them up, and some have even presets where you can try to automatically guess how to do it, because usually people name their lamps, like they're named in the manual. So we can guess a lot of things. And all the components, the mechs, the mechanisms on that, we provide components for that. So you can really visually put a mech component on the cannon, for instance. And you just hook them up to the right switches and it should work. So it's a different approach. You're, in a way, you're a little bit less flexible. But it's a lot more user-friendly. So you don't really need to code. The goal is to have T2 working without a single line of code. Well, without a single line of code in the table, you're going to have a lot of code, of course, in BP, but not in the table itself. Oh, I love. Wow. OK. And then, of course, you should be able to at least somehow script it. And we're still figuring a way out. There are a few limitations. For instance, if you want to compile for mobile platforms, you're not going to be able to compile the scripts in real time on mobile devices. Then the question is, of course, do you want to support mobile devices and all that? But there are a few things to consider if you want to add code support that is table specific. And we'll see. There's also another possibility which is use a completely different language like Python or Lua is often used in game development to build an interpreter that that launched those scripts. But we'll see how demanding the original tables are basically. So the first goal is to get EMs working easily. And maybe we can even do it like graphically, Unity has like, they don't call it blueprints like in Unreal Engine, but it's something similar where you can hook up functions also visually, you don't need to write code. And we probably could provide a few components that do stuff that is pinball specific and then you just talk them up visually in the graph which would like provide the game logic for it but i not i don know ems very well i'm not sure if that's doable or it doesn't get too complicated if you don't if you if you if you then have a huge canvas of hundreds of nodes that wouldn't be really um optimal either so so we'll see there's an mps of course the mission pinball framework which is used in the homebrew community right and we already started integrating with them so if you if you write your game logic in in mpf then gentes are you can just run them in dp so uh if i'm not mistaken if i kind of kind of maybe make a summary of what you said it sounds to me like you guys are shooting for an engine that you can literally just throw parts on a on a white wood and have it flip and the author the table author does not have to worry about creating these custom you know yeah yeah let me really focus on on like the creator experience and we're spending most of the time on it to be honest because just creating a table that works in unity isn't like difficult you you just code it and that's it but if you want to have tooling that allows you to do it um in a like generic way so we can be reused in other games it's a little bit more more of an effort but that's our goal to have like the creator experience is really important i'm going to press play on this one more time so people who just showed up in the chat can take a look at this and at the same time i'm gonna uh i think i can answer a question for you that showed up in the chat uh vr capable yes no i i would say yes because it's unity what do you guys say uh capable of what of just playing vr playing it in vr like can you oh we are yeah of course yeah yeah um every time i have my vr headset on i'm like ah i should just install the xr kit in unity and just run it to see how it looks i have never seen it actually in vr but i have a headset and no doubt it'll be in VR as well. That's it. Attention! Incoming raid to the Pinball Theater. I'm getting raided by... Good rating! Pinballers with 9 viewers, welcome to the stream. We are talking with the developers. We're talking with JSM, Freezy and we lost Pandeli, unfortunately, and they have not come back, about the new visual pinball engine that's being in development to kind of move forward in the world of visual pinball, the actual application of visual pinball. Now the visual pinball application was created how many years ago? What you're seeing right now... I'm going to close this. Sure. This thing right here... This thing right here... It was open sourced in 2000, I think. Open sourced in 2000? I think so, yeah. Sorry, it was created before and then it was... So, this guy right here, as you guys see right now, a lot of you are playing visual pinball around 20 years ago. Yeah, six episodes around 20 years ago. This is aging technology now at this point. We are... Search interrupt, but it's really, really well maintained. Seriously, props to Toxin Fossil because they're doing such an amazing job in maintaining it and adding new stuff and listening to the community. And without them, it wouldn't be at all what it is today. I 100% agree with you. My point wasn't to decremate. No, of course. Sorry. Yeah, no, no. It wasn't to decremate what this is because without this, we wouldn't be talking right now. But it's very, let's put it this way. It's very ambitious for what it's actually trying to do now. and the technology has kind of moved to a place where you know the fact that I can see a table from VPX in VR is insane to me because all the objects and stuff are you know built of real 3d objects but the move from I think the issue is that it's the it's a virtual sorry it's the visual basic scripting language which yeah there would be no there would be no VPS VP that's that's for sure yeah Sorry if that wasn't enough clear before. But I have such a pain to read and to write, and it's not typed. Coming from many typed languages where you just, basically you hit spacebar or something, and then it just autocompletes because it knows to type and knows how to continue. So is the goal, like you did mention a couple of languages. I know we're talking about some lofty goals and stuff like that and I'm sure if anybody can get it done the three of you can definitely do it if I'm a Python developer I maybe should be able to use VPE and I can use my own IDE open up Python and write something to a VPE develop table was that like the goal or well not like not today not like that because you need to like bridge it somehow you need to write an API and you need to like document it and everything right right so it's it's quite an effort to to integrate the current language and you need also to be able to compile it runtime and like handle errors correctly know that stuff right so it's not a trivial task but but yeah it could be possibly it's doable to to integrate third-party languages. And and if Python is something that I mean, it's most common or most used language in the world. According to the example, according to Stack Overflow anyway, but but yeah, that would be a possibility as well. Cool. Um, we have a ton of people in chat. And I'm hoping I'm not stepping on anybody's toes. If you guys have questions. uh let's see yeah i'm just gonna so installation so currently we don't have actually anything to install uh because we don't have a player so currently if you if you work on a project you you basically build it and then you just run it so it's an executable but the the goal is to because if you provide executables nobody can read them you you can't just take an executable because it's binary and like like decompile it into the table that it was before so what you plan to do is to to create some kind of in-between format where you can where you have one part is like the runtime binary and the other part is like the authoring part where that you can load back into unity and make changes right because um that's one of the big things in the ecosystem from from visual pinball and also future pinball everything that you can play you can edit and that's quite important because you you want to learn also from from other tables and you maybe even want to like take stuff from other tables and if you can't do that then then there's there's a problem so there's going to be a player app that will load those those files and play them and the player app will be easy to install and then you you just have to like in vpx you basically drop a table file into a folder and that's it. That's the plan, at least. So yeah, I'm not sure how that's doable because there are a few things that are different, like their platform specific things. Like if you compile a Unity project for a mobile phone, it's different build than for desktop, right? Right. So if you want to have some kind of unified system, it's going to be not as efficient, and you have to do it yourself. So we have to figure out if you want to do that or if you want to just say, okay, now you can build it for Windows or for Mac or whatever and see how that works. I think it's, I mean, you guys are going above and beyond the call of duty here with the ability for you to develop tables on a Mac too. And I think that will really open up a huge audience of table authors who, you know, like JSM said, they don't hate Windows, but... I'm a Mac guy myself. I'm a Windows guy when I'm playing, when I'm doing all my, you know, I run a video production company, and I run everything Premiere, DaVinci Resolve, everything in Mac, so I get it. yeah um you know right now you know um you know prior to the m1 like it it unity doesn't run very well on the mac and with this latest release that we just started going to the 2021.2 unity has a weird numbering scheme or whatever but their latest stuff that they just put in tech release, like it finally runs good. Like it's exciting actually, like for, you know, for, you know, dealing with it for so long where it's just, you know, runs terrible. You know, they, they've really been putting a lot of work to it. So it's good to see, you know, that it might be a viable platform someday. So I'm sorry, I'm laughing at six. So we need some more Mac users because we need a few more people who can draw pretty pictures. So, just so everyone knows, once again, we're talking to the, I'm talking to the, we're all talking to the Visual Pinball engine developers, JSM, Freezy. We lost Pandeli. Oh, my God. Pandeli, where are you? We need you to come back if you can. I hope everything's okay. This right here, what you're looking at, this is Visual Pinball X or Visual Pinball 10, as some people say. And these tables are, you know, somewhat created in 3D, and they're all scripted in Visual Basic Scripting? Is that what that stands for? I think so, yeah. VBS, VBS. Yeah. Visual Basic Script. script. And as the fishbowl knows, it could be a bit of a beast to fully... Yeah, you know what I'm talking about, the fishbowl. So the Visual Pinball Engine team is working on... Here's why I think it's exciting, because you've got guys like Jack Danger, who literally said in the expo they did a they did a they did a uh you know a session about the new um jurassic park home pin that jack designed and someone asked hey how'd you get into designing he says i loaded up visual pinball and he mapped out the entire game in visual pinball and he had it somewhat flipping in visual pinball and then moved over to actual physical table at stern for freak's sake what you guys are doing right now is you're moving that so far ahead in the paradigm where a creator like even me i could probably go into vpe and populate a a whitewood yeah some stuff flipping right yeah and what's cool is i mean it's a huge ecosystem and you're gonna find a ton of tutorials um about unity it's a really well documented it's a huge community there's like basic beginner stuff until pro stuff and it's it's really easy to find yourself there so i i had i didn't know unity at all when i started so so yeah not not even game development in general so so and it was quite easy for me to get started and get something done and i think that's also a big advantage of using a game engine that is that is um as popular as unity is yeah i I think some people are wondering, do I need to install, like the end goal of this is, do I need to install Unity? Do I need to buy a license for Unity? What do I need to get this ultimate goal? Yeah, if you want to create tables, you're going to need the Unity editor, because we're basically extending the editor to make use of all the framework, basically. and unity is is um is there are different like plans for unity and i think if you make less than 100k per year it's completely free so you just need to register to download it and then you're you're good now if you want to just play tables you just download the player that's it it that that doesn't exist yet but um but uh yeah so that's that's the idea you just download the player and and then you just copy your table into your table folder and and then you just play them you don't need unity like the editor instance right i hope that helped uh rodney one two three um terry is helping out a lot in the chat right now terry thank you so much terry has a some insight and knowledge. Yeah, thanks. So yeah, PinMain works on Android, I think, and iOS as well. But it's quite demanding, so I'm not sure if you're going to get a fluid experience on Android. But platform-wise, it should work. All right. Not authority, just passing on what... And no, we don't have a background in graphics frameworks. That's Pandely's part. He's a VFX lead in a big gaming company. And I'm really glad he's here. He's doing like magic on everything that is graphics related. And it does stuff in minutes that would take me weeks to figure out so it's it's really it's awesome to have him on the team but it's it's unfortunately he's not connected anymore yeah that really sucks because guys trust me we had him here and the pre-show and i guess we lost him and uh uh i we're trying to reach out to we trying to reach out to him but uh that he can join back in but we see but we getting close to time now So what in the future What in the development cycle right now for Did someone cut the hard line? The fishbowl. Yeah, I mean, the idea is to get our first playable thing at some point, right? You just don't want to spend years of time in tooling and proof of concepts and everything. so now I really want to get the table going, even if it's without the player, just like a binary build that people can have a look at, play and report bugs and stuff. So that's what we're currently doing. And then of course, it doesn't work like it's supposed to. So at the same time, we're fixing bugs, we're adding features to VPE. So it's like a parallel project. So we have the table project and then at the same time we're adding the features needed to vp right so so just so i'm clear on that so there may possibly be sometime in the future just an executable what terminator 2 yeah i guess that would be my guess yes right that could possibly be flipped around on and stuff yeah yeah um that is this is this is i think you you need to automatically api is gonna work yes this is really exciting stuff i mean for people like for people like me um who i've been doing this virtual pinball stuff for years i built this cab it's got to be 11 years ago i built this thing um and i've been dealing i mean i've been upgrading and doing things and everything forever and ever and ever there are a lot of twitch streamers now who stream uh visual pinball and just pinball in general um for me my holy grail all right i got i got freezy i got jsm and pandeli right here my holy grail which i'm probably not far off from is to be able to put on my hm it's not scary don't worry i heard just put on my put my hmd and in vr be able to stream with using a uh a playfield camera for the viewers to see but i can see the play field in front of me and all that yeah yeah you gotta have a beefy pc for that but yeah why not i'll throw money at it i'll throw money i mean it's just an additional camera so you have two cameras for your eyes and then another one about the paper that's it it should be doable but but then you have to render three times your image given the graphics yeah graphics card market today you're gonna have a really hard time spending or a little bit expensive time spending your money on graphics cards but but yeah i mean i mean theoretically that's it shouldn't be a big deal yeah i mean uh uh for for people who don't know sometimes you'll have a um because of the technology involved with screens and stuff like that sometimes the screen will have a little bit of display lag okay and one of the things that bothers uh people who are used to playing physical pinball on a regular basis uh one of the things that bothers them the most is the lag between pressing the button right and the flipper firing As you can see right now, I don't know if you can see it, but I'll try and do it. That little ba-da. There's that ba-da that you don't normally recognize. Now, if I was downstairs in the junkyard, once I hit that button, bam, it fires the flipper. This is less in other people's setups. Some people have better, faster screens. I have a particularly slow screen because it's from 11 years ago. but when you're in VR what's inherent in VR is no lag because you'll get sick if you have lag in VR so it's pretty much instantaneous when you fire a flipper so my experience in playing VR and virtual pinball is always always better time to get mad on RTX 3090 yeah whatever yeah from MPF basically if the lag is constant you shouldn't be bothered too much with it if it varies then it's a pain because well each time you need to readjust but if the lag is constant you you basically get used to that for a few minutes yeah and that's true for me i've learned to adapt um that's why i'm gonna kick flipstream's ass tomorrow on uh in this challenge on ripley's because i learned to adapt go ahead Yeah, but of course you have 90 hertz instead of 60 and I think the controls are probably optimized as well. In VP I think there was a question about the flipper lag compensation earlier. So what we do is basically, well usually if you press the flipper button it's a switch right so there goes switch event for the pin name, pin name decides or not to like switch flipper and then the flipper switch then it can take a few frames and it's going to lag going to be laggy and what we did is basically um what you can do in vp you can like directly wire stuff so you can make a wire like between a switch and the lamp or between the switch and the coil and then you can mark that virus dynamic so if you add a wire between your flipper switch and your flipper coil and mark it as dynamic, the very first time you flip, you'll have a lag. But then it will notice that it gets so VP will notice because it gets the co-element back from pinMAME, it'll notice that the connection is established. And from that point on, it'll just flip directly right without any lag. And then if pinMAME will decide at some point to stop flipping, right, the game is over or something. The very first time you flip, it'll still flip and then it will notice that there's no co-element back and that'll stop it so it's a little bit of compromise between having a better like lag and and uh not still being still being able to figure out so wow yeah that's that's what we did for for vp it's quite similar as as the um as in in vpx i think something's a flipper lag thing Wow. Which is all done in VPS. Right, right, right. Holy smokes. That is crazy. Yeah, FastFlips. Oh, so is that what FastFlips is all about? Okay. Yeah, exactly. That's basically the concept of FastFlips. Wow. I'm interested in starting work on EM and VPE. Where should I start? I have the latest ... Yeah, so what do you guys think? Where should people ... Yeah, EM is still going to be hard to start today because we still don't have any good way to create game logic. We basically have pin main and we have MPF. So if you want to start coding your game in MPF, then that's possible and you can like test it and everything. But if MPF is, you don't know MPF, it takes a little bit to get into. And if you just want to like, like, trans, trans code your VPS script, then that's not possible today. You're gonna have to wait a little bit until we figure out a good way to do it. The best thing you can do is start working on a on a pin man game. And because you're, you're gonna be able to just hook it up in the editor, and launch it. Right. Even today in Terminator we don't have everything working yet, so you might be disappointed. So, a little bit more time before we can get it. So guys, I'm really sorry we didn't get Pandely in here. We have to do this again at some point, get Pandely back in here, because they were really excited about being on. For how much time are you guys, obviously you guys have day jobs, right? Yes, we do. And kids. And kids. This is a bit of a passion project. How much time, JSM, how much time do you spend on this? Maybe do you think per week? And Freezy, how much time? JSM, how much time do you spend? Oh, boy. I don't want to get myself in trouble with my wife. no no um you know it's um i i try to get up early before i start work spend like two hours you know an hour and a half in the morning and then um you know at the end of the night probably another three hours or whatever and on the weekends a you know a couple hours so i don't know but i i enjoy it like i you know even though i program like for my day job like it's like something like I enjoy doing just for the fun of it. So, you know, sitting at the computer for long hours, I guess, doesn't really bother me too much, but it may bother other people. Well, that sounds good. You've got to enjoy it. Go ahead, Frisian. It's about the same here. I mean, I don't get up early in the morning, but I have, I guess, between 8.30 and midnight, I guess. You don't get up early in the morning? I thought you said you had kids. No, yeah, I get up early to bring the kids to school, basically, so I don't get to work on anything else. But in the evening when they're sleeping, I can work on it. And sometimes it becomes as well. But yeah, it's hard to find time, always. It doesn't work all the time. Well, I gotta tell you, and the chat, you guys have been awesome in chat. I don't want to step on anything, but we do have to wrap up. And let's see, would it make sense to have an EM Editor, Creators... Yeah, I thought about this as well. You would basically redraw the schematics of the EM in Unity, and then it theoretically should work. I'm not sure how it works 100%, so I need to do some research on that. But that would be a good idea, yeah. Basically, rebuild the circuits of the machine graphically in the editor. But it might be too much, I don't know. But yeah. Just one last thing. So, Boren was mentioning the collaboration between the creators and us. I'm really enjoying it as well. So it's really awesome to have the content provider community like participating in everything and being able to ask questions and getting good answers. It's really enjoyable. I don't feel like I'm alone in a project and I'm just throwing out something into the nature and then I hope that people actually use it, but I'm in constant exchange with the community, which is really nice. thank you how's everybody doing alright those are my sounds those are my wonderful regulars here at the Mystery Pinball Theater 3000 guys I gotta tell you all the work all the hard work and effort is greatly appreciated and I think I can speak for every member of the visual pinball community that you guys are true legends and we support you 1000% in fact if you guys want to give updates on whatever's going you got me on discord now let's do it let's chat I want to thank JSM I want to thank Freezy and I want to thank Pandelly even though we lost him we got to do it again guys once you guys have another update how's that sound jsm freezy how's that sound uh that sounds great thank you thanks thanks and i gotta say uh a huge huge thank you to zentari 79 for if it wasn't for zentari 79 hitting me up on discord and saying hey i think this is a good idea we wouldn't be talking to these cats right now so zentari zentari do you have a custom sound do you have a sound zentari do you have a sound yes or no yes or no yes or no because if you don't send me a whisper and we gotta get you a sound you got it you heard it right here zentari gets a custom sound right here on mystery pinball theater 3000 once again thank you guys thanks everybody to joining the chat today. Very nice. Very cool. This will be going up on YouTube in a few days. So if you missed it, you don't want to watch the VOD on Twitch, feel free to watch it on YouTube. And I'll see you guys. Thank you guys. And I'll see you guys tomorrow. 8 o'clock Pacific time right here where I am murdering Flipstream on Ripley's Believe It or Not. Thanks, guys. bye Thank you. Thank you. Thank you.

_(Acquisition: youtube_groq_whisper, Enrichment: v3)_

---

*Exported from Journalist Tool on 2026-04-13 | Item ID: 8dad1c1d-c529-4a06-976f-0c8ba127ca37*
