Need advice for a new pinball simulator
See original GitHub issueHi,
We’ve started a few months ago porting Visual Pinball to Unity. There are a few reasons for that, besides using a current-gen render pipeline and cross-platform support, we also want to make it easier for authors to create new tables by extending Unity’s editor.
And, you guessed it, we want a modern scripting engine that facilitates programming game logic for original table creations.
Over the past months I’ve spent a few hours reading MPF’s excellent documentation, and I really like the declarative approach of MPF’s config files. Ideally, you would load an MPF config file into our sim, and given the playfield elements are named correctly, it would just work™.
Now, the most obvious question to me is whether to integrate completely with MPF, i.e. somehow interface C# with Python, or re-implement a “light” version of MPF that doesn’t handle all the issues you hardware guys need to deal with.
I’m probably vastly underestimating the effort of the latter, so I would like to have your opinion on that. For the former, becoming a rather sophisticated sim, we have a time budget per frame, so performance could be an issue.
Our project is called “VPE” for Visual Pinball Engine. It can read and write the .vpx
format, and the goal is to keep a level of backwards-compatibility. Visual Pinball’s physics engine is highly regarded in the virtual pinball community, so we’ve ported it to C# using Unity’s new DOTS technology. The renderer uses Unity’s new HDRP. You can see an 1:1 import of the Tom & Jerry VPX file into VPE here. There are more screenshots here, and if you’re interested in what the virtual pinball community has to say about it, check this thread.
Looking forward to hearing from you!
Issue Analytics
- State:
- Created 3 years ago
- Comments:45
This is a milestone, so I’m posting it here as well:
https://user-images.githubusercontent.com/70426/110706758-a250aa00-81f8-11eb-93dc-3121d9d9c3d5.mp4
Once we get the game part stable, we’ll discuss the media controller, but I’m pretty happy already how it runs.
I need to implement that first. Currently, that is not implemented. GRPC either needs one endpoint per side or you need to use streaming. That will require some API changes. I will look into that tomorrow.