Jump to content

WIP: Visual Pinball in Unity (2021 Edition)


Recommended Posts

The future of digital pinball looks bright and sexy.

 

Amazing work from everyone involved.

 

I know my slow and painful progression of getting to know Blender (for what I do in FP-BAM today), and also getting to know how to create / use FBX models and more  will definitely be a benefit down the line with VPE.

 

If anything... I think adjusting to a modern real-time editor and new scripting language will be the biggest adjustment for most... but the end results will be so worth it.

 

 

Since I've been creating most of my stuff on FP-BAM, and that is done in "realtime" as a big part of the creation process, combined with some modern dynamic lighting / rendering... it makes it very hard to want to go back to static editors.... and much more difficult to want to go back to static rendering / lighting.

 

VPE will blow us away one day.

 

I can't even imagine what the VPX Blender / modeling gurus will be able to create. If anything they may need to get used to not baking in most of their lighting into textures now.

 

For DOF support... I could see that working well as a plug-in / COM wrapper so that it's done in a way that doesn't tie up Windows / COM as a requirement for VPE.

 

For SSF... that should definitely be native to VPE, and be almost seamless and require little to no work from the author.

 

 

 

For me.... if VPE can eventually have the following:

 

- FBX model and animation support

- total control over lighting, textures (and as much else as possible) via script

- something like ravarcade's BAM mini playfield tool on FP (reference what I've been doing with RetroFlair 2 and Silent Hill)

- some great C# scripting and table examples (as I only know vbs... I'm no coder)

- a possible replacement for PUP / PUPDMD for modern looking text and video displays (using native Unity functions)

 

...that's where I would be a very happy camper and start to dabble / create in VPE in a serious way. Yes, it will most likely be outrageous fantasy based pinball... but it would be damn amazing without any RAM limitations and using modern lighting and shaders.

 

 

 

Exciting times are coming.

Link to comment
Share on other sites

I hope this puts me out of work in the best way. Even in a worst case scenario making a better-than-the-best vpx game in vpe will take 1/4 of the time and headache when you remove all the manual texture rendering to get around 2d lighting, not to mention the nFozzy stuff being native!

 

Lots to learn, but baseline for quality is going to be raised immeasurably. We've had great tools for spreading the love of pinball this far. So glad there will be a whole next generation.

 

As always, let me know how my limited skills can be of service.

Link to comment
Share on other sites

Looking forward to the future here. Having direct support for DMD/Alphanumeric displays for originals will be seriously game changing for authors, as will the support for MPF, my limited experience using a LISY-1 MPU in Solar Ride showed me it's quite capable of making a good portion of a game with no coding necessary.

 

So I need to decide, do I move into MPF coding in the future, or do I move into learning whatever else might be integrated? I'm working on a table right now with my husband, and it may ironically be my last one in VPX from the looks of it.

 

Advantages I can see is reduction in the hacks for things like ball shadows, looks like it brings the POV Rotation agnostic future that I've been kind of pushing for as I can (VPX is really the only reason to run a cabinet in landscape at all), stepping away from the COM system that's been showing the cracks as Microsoft has been working on tightening up security and heaven forbid you're trying to use it for real time operations now...

Link to comment
Share on other sites

Wow...everytime I see table examples I'm blown away.  Seeing CFTBL, one of my all time favorite tables is very, very exciting.  This is going to be amazing, and I can't wait to see all that can be created..  🙂

 

Link to comment
Share on other sites

This is an awesome undertaking and this will be the future for this hobby!

 

As an EM author I'm very curious about the GLE's for this project.   Making SS tables with a ROM is a breeze but those of us who make EM's have to handle all aspects of game control from low level player management to higher level game logic.  I spent months learning how to use MPF for my homebrew project and it was a particularly unpleasant experience.  The documentation is good but the framework is extremely unforgiving in terms of syntax and formatting, the learning curve is steep and it takes some time to get help at the forum because the few people who write mpf code have lives to live outside of mpf.  If you are a native python programmer then maybe you'll probably have an easier time than I did but it took months to get a properly working Cuphead table.  (see https://pinside.com/pinball/forum/topic/cuphead-home-brew-pinball for all of the gory details)

 

I realize that MPF will handle a lot of the low level game functionality but having to get multiple modes working with each other, casting player variables for use across modes and getting logic to work out will be a challenge.  One great thing about VPX is that the code in VB is fairly easy to write and very forgiving in terms of format.  I suppose that once you get a working base table in MPF it will be easier to transfer that into future tables but I would prepare for a rough go the first time around.

 

One aspect that would be great to have integrated into your base engine for EM makers is some sort of score motor functionality.  In the EM world many aspects of play are tied into the score motor and once a score motor is running, it cannot accept additional inputs.  That is one of the odd beauties of these machines.  Another feature that would be great to have integrated would be accurate reel reset routines.  These routines would be tied to a score motor and pulse each reel once per step, stopping the reel when it reaches zero.

 

Lastly, one short fall in VP is the sound engine.  It uses Microsoft virtual room to achieve some degree of sound positioning and because of this sounds cannot be panned completely left, right, front or rear.  There is always bleed across the pan and this new VPE is a chance to fix this right out of the gate.

 

Thanks again for all of the hours you guys are putting into this and if you was more insights into the EM world feel free to PM me.

Link to comment
Share on other sites

12 minutes ago, scottacus said:

This is an awesome undertaking and this will be the future for this hobby!

 

As an EM author I'm very curious about the GLE's for this project.   Making SS tables with a ROM is a breeze but those of us who make EM's have to handle all aspects of game control from low level player management to higher level game logic.  I spent months learning how to use MPF for my homebrew project and it was a particularly unpleasant experience.  The documentation is good but the framework is extremely unforgiving in terms of syntax and formatting, the learning curve is steep and it takes some time to get help at the forum because the few people who write mpf code have lives to live outside of mpf.  If you are a native python programmer then maybe you'll probably have an easier time than I did but it took months to get a properly working Cuphead table.  (see https://pinside.com/pinball/forum/topic/cuphead-home-brew-pinball for all of the gory details)

 

I realize that MPF will handle a lot of the low level game functionality but having to get multiple modes working with each other, casting player variables for use across modes and getting logic to work out will be a challenge.  One great thing about VPX is that the code in VB is fairly easy to write and very forgiving in terms of format.  I suppose that once you get a working base table in MPF it will be easier to transfer that into future tables but I would prepare for a rough go the first time around.

 

One aspect that would be great to have integrated into your base engine for EM makers is some sort of score motor functionality.  In the EM world many aspects of play are tied into the score motor and once a score motor is running, it cannot accept additional inputs.  That is one of the odd beauties of these machines.  Another feature that would be great to have integrated would be accurate reel reset routines.  These routines would be tied to a score motor and pulse each reel once per step, stopping the reel when it reaches zero.

 

Lastly, one short fall in VP is the sound engine.  It uses Microsoft virtual room to achieve some degree of sound positioning and because of this sounds cannot be panned completely left, right, front or rear.  There is always bleed across the pan and this new VPE is a chance to fix this right out of the gate.

 

Thanks again for all of the hours you guys are putting into this and if you was more insights into the EM world feel free to PM me.

 

 

 

Yah, I'm in the same mindset as you in that... when I hear about a framework for most of the code and logic... I have a hard time "letting go" of the idea of doing everything myself manually in code and to have total control.

 

I've been coding two tables completely since last Nov (RetroFlair 2 and now Silent Hill)... and these aren't recreations. I can't imagine making these fit into a framework of some sort (they are very non standard pinball tables). Like you said though...maybe with a good example table and easy to follow docs and notes in the script it may be easier.

Link to comment
Share on other sites

@scottacusUnity has a full 3d 7.1 audio setup based on a listener position in 3d space as well as integrated overrides and a good DSP stack,  Properly managed it should be possible to have correct audio for SSF and HRTF "out of the box" .  I won't speak for other members of the team but for me this is definitely on the radar.

Edited by Pandeli
Link to comment
Share on other sites

@scottacus I would love to talk more. I'm mainly interested in what the pain points are when scripting EMs in VPX, as well as the good stuff. Then we can look into whether VPE could simplify the complicated stuff (i.e. provide simple APIs for it), or even replace it with something more visual.

 

If you're on Discord, gimme a PM, otherwise we can talk here as well. There is also a bunch of other people I'd like to include in this discussion.

 

@hitman12 No, of course not. We have a patching system that applies a few things on best-guess basis, mainly to make development quicker, but that won't be part of the runtime. VPE is not intended to replace the VPX player.

Link to comment
Share on other sites

Good choice to "start the thread over", made me read it all the way though and you've come further than what I had hoped for to be honest. In the beginning I was a bit hesitant, wondering if this would some day come through or not. I guess it is still early on, but, with progress you've guys made I'm really believing that VPE will be a thing and a huge one at that. Fantastic work everyone - I'm in awe to you devs. ❤️

Link to comment
Share on other sites

I'm very excited and pleased to be able to experience the fruits of your labor. Thank you all for bringing this closer to a reality. You have no idea the joy that all of you smart and super talented individuals bring to me on a daily basis. THANK YOU:)

Link to comment
Share on other sites

16 hours ago, freezy said:

 

@hitman12  VPE is not intended to replace the VPX player.

 

Do I understand correctly that VPE will be the software to create tables, but there will be a separate "player" that loads and runs tables at runtime? I assume at some point VPX player will be abandoned to take advantage of VPE create tables with newer materials and plugins etc.?

 

Anyway, awesome work! I've been following along with the updates. Many thanks to all involved to move the community forward!

Link to comment
Share on other sites

1 hour ago, Felsir said:

 

Do I understand correctly that VPE will be the software to create tables, but there will be a separate "player" that loads and runs tables at runtime? I assume at some point VPX player will be abandoned to take advantage of VPE create tables with newer materials and plugins etc.?

 

VPE is the overall term of the project. It consists of a runtime, editor extensions, a Unity authoring project (soon), plugins, and at some point a player (which uses the runtime, and will ship with some plugins pre-installed). It's probably going to be called the VPE Player. And yes, this would be the "game" that you run that can load tables and play them.

 

I can't speak for VPX, but I'm sure it isn't going away soon. In fact, I'm working closely with toxie, and he's looking into porting VPE's new features back into VPX in order to keep backwards compatibility.

Link to comment
Share on other sites

2 hours ago, freezy said:

I can't speak for VPX, but I'm sure it isn't going away soon. In fact, I'm working closely with toxie, and he's looking into porting VPE's new features back into VPX in order to keep backwards compatibility.

 

Sorry, I worded it a bit harshly; I meant that there will likely be VPE specific tables to appear to take advantage of rendering and other (gameplay)effects that could be possible because of the underlying Unity framework.

 

I did not mean to diminish the work of Toxie and other VPX developers and the future of VPX itself. It is a great project that I enjoy on a nearly daily basis. 

Link to comment
Share on other sites

No worries. Yes, without VPE specific tables appearing, the whole exercise would be kind of useless. ;)

 

However I don't worry too much about creators not adapting VPE, since we're working together with them on many things.

Link to comment
Share on other sites

BTW, what's the earliest Windows version that will be supported? I'm about to prepare the next upgrade to my cabinet, likely SSF, and I need to know if I should get it up to Windows 10 instead of Windows 7 before I start that process.

Link to comment
Share on other sites

15 hours ago, LynnInDenver said:

BTW, what's the earliest Windows version that will be supported? I'm about to prepare the next upgrade to my cabinet, likely SSF, and I need to know if I should get it up to Windows 10 instead of Windows 7 before I start that process.

 

Win 7 should be considered no longer an option for a newer APP the way I see it. No more support from MS and none from nvidia for new drivers.

 

Win 11 is around the corner...so that should tell you all you need to know.

Link to comment
Share on other sites

25 minutes ago, TerryRed said:

 

Win 7 should be considered no longer and option for a newer APP the way I see it. No more support from MS and none from nvidia for new drivers.

 

Win 11 is around the corner...so that should tell you all you need to know.

 

Yeah, I'll admit I've already been toying with the idea of getting Radiant Silverball up to Windows 10, if only so that I don't potentially get left behind... there's recognition that Steam will eventually drop Win 7 support ("oh, you want to keep playing the games you bought, you're going to want to upgrade soon") and at least keep me from getting more pinball that way.

Link to comment
Share on other sites

OK, went ahead and plunged into doing that upgrade. I'll be spending the next two weeks checking to make sure there's no issues with the existing software. This should make sure I'm ready for VPE.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...