FizX NEW! FizX physics system reveal! Is it possible? nFozzy techniques adapted for Future Pinball-BAM?

@fastdraw... might be sooner than you think :)
 
Guy's i'm leaving an early manual I've done regarding DFv2 Options and in the future this will be about FizX for those who want to start using DFv2 in your tables.

@TerryRed maybe you can edit the 1st post to include this instead of being lost in the thread.
 

Attachments

  • DFv2 Manual.pdf
    73.6 KB · Views: 27
Honestly... there is a lot missing in that in regards to "FizX" (its only bare bones for DFv2)... so I would rather wait for a proper "FizX" complete install guide and package (with new models needed, etc) to avoid confusion. It's why I said in the first post, that this topic is not to show how to add "FizX", etc.
 
Last edited:
I don't remember everything I read and obviously I have not read 1st post again.

But I did write early and for DFv2 and also that it will evolve.

I still think it is better to experiment with some background knowledge than none though.
 

*** FizX Profiles and Early Tests ***


So... I've been busy learning how to add FizX to Sonic Pinball Mania and Star Wars DSA GE. Adding it is the easy part now.... learning what the many new settings and options do is harder for me (I'm not a physics guy). So I've been slowly getting this to a point where its really playing nice (with JLou and AnonTet's help).

Unlike before with FP (where updated physics were mostly the same)... now I have the burden of trying to get physics that most people will like. Something I'm not used to.

===== Testers =====

So I've had some VP guys and authors test Sonic out with FizX.

JPSalas said he only needed to adjust one setting for his own preferences. The rest he thought was perfect and he really liked how it played.

Others have used their own settings as well for how they prefer things.... and once set, they liked it much more. They understand this stuff better than I do

Everyone who has tested it has seen the difference and improvements right away, but now with "options"... everyone can now be picky (whereas before FizX, everyone just accepted FP for being FP).

So how do I try to make most people happy?

===== FizX Profiles =====

Well, I decided to try to see about adding FizX profiles to my releases. This will allow you to simply choose a physics profile, then change the FPS to match (Newton physics fps... not Hz).

This will allow for very different settings to be possible on the same table. This also also allows faster PCs to be able to have even better physics by choosing a profile with higher FPS.

This may not be something others will use on their tables... but its something I'm trying out to see if works better for everyone to have a choice.

Even when I finally start releasing FP tables with FizX... it doesn't mean that's as good as it gets. People will learn better how to tweak everything, and JLou still has more ideas (he's on vacation).

Sonic Pinball Mania - FizX should be coming soon.... with Star Wars DSA GE not too far behind!


PP4xsrB.png


0pCkeQf.png


sZTuKNz.png
 
*** FizX Profiles and Early Tests ***

So... I've been busy learning how to add FizX to Sonic Pinball Mania and Star Wars DSA GE. Adding it is the easy part now.... learning what the many new settings and options do is harder for me (I'm not a physics guy). So I've been slowly getting this to a point where its really playing nice (with JLou and AnonTet's help).

Unlike before with FP (where updated physics were mostly the same)... now I have the burden of trying to get physics that most people will like. Something I'm not used to.

===== Testers =====

So I've had some VP guys and authors test Sonic out with FizX.

JPSalas said he only needed to adjust one setting for his own preferences. The rest he thought was perfect and he really liked how it played.

Others have used their own settings as well for how they prefer things.... and once set, they liked it much more. They understand this stuff better than I do

Everyone who has tested it has seen the difference and improvements right away, but now with "options"... everyone can now be picky (whereas before FizX, everyone just accepted FP for being FP).

So how do I try to make most people happy?

===== FizX Profiles =====

Well, I decided to try to see about adding FizX profiles to my releases. This will allow you to simply choose a physics profile, then change the FPS to match (Newton physics fps... not Hz).

This will allow for very different settings to be possible on the same table. This also also allows faster PCs to be able to have even better physics by choosing a profile with higher FPS.

This may not be something others will use on their tables... but its something I'm trying out to see if works better for everyone to have a choice.

Even when I finally start releasing FP tables with FizX... it doesn't mean that's as good as it gets. People will learn better how to tweak everything, and JLou still has more ideas (he's on vacation).

Sonic Pinball Mania - FizX should be coming soon.... with Star Wars DSA GE not too far behind!


PP4xsrB.png


0pCkeQf.png


sZTuKNz.png

I don't think you can change a value in the XML using a profile like that unless it is one of the fields that Rav set up special. I don't think there are very many fields that can do that. You could simply provide directions to change the fps in the xml. That would work.
 
I don't think you can change a value in the XML using a profile like that unless it is one of the fields that Rav set up special. I don't think there are very many fields that can do that. You could simply provide directions to change the fps in the xml. That would work.

That's what it says in the instructions :)

You only need to change the fps in the xml code.

The FizX profile changes the FizX settings, and nothing else.
 
Last edited:
That's what it says in the instructions :)

You only need to change the fps in the xml code.

The FizX profile changes the FizX settings, and nothing else.
It may be helpful to develop a menu based on the fly Fizx tweaker and saver

I think I could code that

It would complement the xml physics tweaker that is already part of BAM
 
Last edited:
It may be helpful to develop a menu based on the fly Fizx tweaker and saver

I think I could code that

The problem is... the "player" still needs to edit the table script to have the correct fps set for the xml (to match the FizX settings they are using). If they don't, any change they make change on the fly will possibly cause odd stuff to happen (ball stuck on flipper, etc).

Its why its important to have "preset" settings (profile) established that were made with a specific fps in mind, so the player knows what they "must" use to prevent odd things from happening.

The problem... as George said... is the xml. That can't be change on the fly for fps like other settings can.

The player's PC (and more specifically the CPU) will also greatly determine if they can even use a certain profile (and fps) as well. For example, when I tested FizX with fps=592 on my PC with a i5 4670K CPU... Sonic ran fine. Star Wars however became a stuttering mess, until I changed fps=296 (but then I needed to change other settings to work with a different fps). On my faster PC.... I had no issue with any fps setting on Star Wars.
 
The problem is... the "player" still needs to edit the table script to have the correct fps set for the xml (to match the FizX settings they are using). If they don't, any change they make change on the fly will possibly cause odd stuff to happen (ball stuck on flipper, etc).

Its why its important to have "preset" settings (profile) established that were made with a specific fps in mind, so the player knows what they "must" use to prevent odd things from happening.

The problem... as George said... is the xml. That can't be change on the fly for fps like other settings can.

The player's PC (and more specifically the CPU) will also greatly determine if they can even use a certain profile (and fps) as well. For example, when I tested FizX with fps=592 on my PC with a i5 4670K CPU... Sonic ran fine. Star Wars however became a stuttering mess, until I changed fps=296 (but then I needed to change other settings to work with a different fps). On my faster PC.... I had no issue with any fps setting on Star Wars.
Yes you can have presets for xml based settings but any dynamic settings (flippers and physics) can easily be accommodated on the fly in a dmd based menu. That will mitigate the lions share of the work as you don’t have to keep reloading the table .
 
Hello From the beach ^^

hum.. think i have an idea to call different xml.. i don't know if it should work.
But for now we have a zip file for ball.. And if i'm right we can call script from a zip file too. The idea is to make 3,4,5 or external script file just with an xml in, and call them in the table script from the zip instead the xml paragraph .
So depend the profil, it will choose the the good xml... Otherwise there is the xbam.physics function.
 
Well, you know my opinion on using external files... or even worse... being "required" to choose from multiple external files... so for me... that is a no go. :)

We can't dynamically change the fps setting (that we know of). We can't change the fps using variables in script (without using external files). No way around that (unless xBAM.physics, etc can possibly work). So no matter what the player MUST go into the table script to make a change either way.

If given the DMD menu option, players will probably make a change from using a button / DMD menu, and most will NEVER bother to make a change in the table script if given that option. Trust me. It's hard enough to get people to read install instructions let alone go into a table script to make a change to match what they chose during gameplay. Unless all Profiles used the same fps.... this will lead to people to making things WORSE and giving FizX a bad reputation. I repeat.... people are LAZY if given the choice. You guys don't see it much on these forums... but I see it EVERYDAY elsewhere when it comes to this stuff.

For me, the intent is to keep this as simple as possible, while also forcing the "player" to not get mixed up / confused, and making sure they are using the correct fps for whatever FizX settings they want to use. By forcing them to go into the script and "read" what they need to do to change a profile... you stop them from being lazy (most of the time)... and yes, people ARE lazy (experience from supporting 100's of people over the years).

You don't want to make it easy for them to mess up things by just pressing a button or copying the wrong file, etc.

(The DMD menu option can be great for testing / creators though)
 
Last edited:
Hello From the beach ^^

hum.. think i have an idea to call different xml.. i don't know if it should work.
But for now we have a zip file for ball.. And if i'm right we can call script from a zip file too. The idea is to make 3,4,5 or external script file just with an xml in, and call them in the table script from the zip instead the xml paragraph .
So depend the profil, it will choose the the good xml... Otherwise there is the xbam.physics function.
Well, you know my opinion on using external files... or even worse... being "required" to choose from multiple external files... so for me... that is a no go. :)

We can't dynamically change the fps setting (that we know of). We can't change the fps using variables in script (without using external files). No way around that (unless xBAM.physics, etc can possibly work). So no matter what the player MUST go into the table script to make a change either way.

If given the option DMD menu option, players will probably make a change from using a button / DMD menu, and most will NEVER bother to make a change in the table script if given that option. Trust me. It's hard enough to get people to read install instructions let alone go into a table script to make a change to match what they chose during gameplay. Unless all Profiles used the same fps.... this will lead to people to making things WORSE and giving FizX a bad reputation. I repeat.... people are LAZY if given the choice. You guys don't see it much on these forums... but I see it EVERYDAY elsewhere when it comes to this stuff.

For me, the intent is to keep this as simple as possible, while also forcing the "player" to not get mixed up / confused, and making sure they are using the correct fps for whatever FizX settings they want to use. By forcing them to go into the script and "read" what they need to do to change a profile... you stop them from being lazy (most of the time)... and yes, people ARE lazy (experience from supporting 100's of people over the years).

You don't want to make is easy for them to mess up things by just pressing a button or copying the wrong file, etc.

(The DMD menu option can be great for testing / creators though)
Yes creators and modders is my intent

Those people that wish to add Fizx to a table
 
We can see if Rav can add the new ball model to BAM

I also don’t like external files
 
Well in VPX tables is not uncommon to see in the description tha user must set the options in script before play so it is nothing new.
 
We can see if Rav can add the new ball model to BAM

I also don’t like external files

The problem there, is that the high poly ball may cause a performance problem with those who don't use FizX tables, as it may cause their normal FP tables to play different than before. Some people reported having the ball cause their lower end / normal PCs to run poorly when using it. If it's forcefully added to BAM and everyone uses it by default... then that's a problem for the 1000's of players (who have slower PCs) that are not using FizX tables and just play normal FP tables.

Anyone (who can run all FizX tables fine) can just rename the zip file for the high poly ball to default.zip and put it in the BAM folder. Then it will get used for all tables automatically. Assuming it doesn't change how other tables play. If it does, then they can use it in the Tables folder (named as the table file) like before.

The high poly ball is "optional".... so it's not going to make or break using FizX.
 
Last edited:
I can’t recall the number but I think it is something like 64 dynamic parameter values I can save in any nvSaver in FpRam that will get reloaded each time .

Then when happy the debug code can provide the values to be permanently entered in the code for the final release
 
I will come up with a proof of concept for Jlou ,Anon Terry and others to review maybe later this week

In the past I spent much time developing a save game function for FP ( which wasn’t a big hit)

Anyways, I learned how to save long strings of fp parameters into one nvS parameter.

And Rav provided a code that doubled its capacity

This approach I believe will help greatly with on the fly Fizx enabling and tweaking

And it even also can be used for parameters like Fizx fps profile selection that require restarting
Of table

Again this tool would be for authors and modders
 
I recall some tables (bride of pinbot I think was one) that was developed using such nvram features and actually a great coding framework. It's too much for me but I can't feel the shake that is was also an opportunity lost, like many others in FP before.
 
I recall some tables (bride of pinbot I think was one) that was developed using such nvram features and actually a great coding framework. It's too much for me but I can't feel the shake that is was also an opportunity lost, like many others in FP before.
I used save states in Batman Joker , Jaws , CFTBL , Indiana Jones , Cadash and maybe a few others

Anyways nvRam is a great place to store values as you are tweaking a table
 
It looks like you guys are talking 2 possibilities. One using external files and the other using internal with the end user changing the fps in the xml. I am with Terry that end users won't make the fps change. I hate external files, but I think it might be better to use external files to make sure the end user has the correct setup. Sure the end user won't want to save the files in the correct location but they won't be able to play the table unless they do.
 
I'm really struggling here to keep to keep my mouth shut with regard to "users"... This is like tech support days all over again :D

"End of line" - MCP :D
 
So, I haven't tested it too much yet.... but it "seems" to work (except of course not being able to cycle the PHYSICS XML fps settings). Use T to toggle for testing if it's enabled.

When changing physics settings, and more specifically the PHYSICS XML fps setting.... I also need to change the settings for the rotating beacon (spotlight flasher) because that changes dynamically using Sub NewtonPhysicsTick (which is also using xBAM.NewtonCounter).


1660532679732.png

...and a bit more clarity for the player.

1660528242289.png
 
Last edited:
So, I haven't tested it too much yet.... but it "seems" to work (except of course not being able to cycle the PHYSICS XML fps settings). Use T to toggle for testing if it's enabled.

When changing physics settings, and more specifically the PHYSICS XML fps setting.... I also need to change the settings for the rotating beacon (spotlight flasher) because that changes dynamically using Sub NewtonPhysicsTick (which is also using xBAM.NewtonCounter).


View attachment 25653

...and a bit more clarity for the player.

View attachment 25650
Apart from the user profile options and the table editor additions and tweaks have you had to tweak jlous code ?
 
Apart from the user profile options and the table editor additions and tweaks have you had to tweak jlous code ?
nope.. we just add individual friction options.
I will add them on the library/tga script
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      xenonph @ xenonph: @oilpainter27 find here...
      Back
      Top