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

Technically you can (obviously), morally you can't.
So for intents and purposes no one can change the code without consent (the usual stuff...)
 
Technically you can (obviously), morally you can't.
So for intents and purposes no one can change the code without consent (the usual stuff...)
He he
No what I mean is when you look at the code there are many suggested settings for the various parameters.

Were these tweaked for this table ?
 
nope.. we just add individual friction options.
I will add them on the library/tga script
Are these settings unique to this table ?
 
Those individual friction options were done specifically for this table to accommodate a situation like GeorgeH was mentioning about some upper flippers.
 
i will update FizX to have individual setting for all needed it
Ok then I will stand down :)
What I was envisioning was an “on the fly” tweaking tool to help refine Fizx on a per table basis of all the constants , friction and elasticity and omegas and velocities etc etc

But if copy n paste works for most tables then that is ideal

With DF1 there were only a few parameters

Some of Terry’s comments suggest a very involved process for each table …. At least for table editor settings and collision models etc…
 
@Gimli

For options is C&P to the table code and change to suit needs. For objects is like this:

I'll give you a rubber example which is the most laborious thing if you ask me just because the sheer amount of them in a table :D

Import the new rubber models, remove the old default FP rubbers and replace with the newer models. Rename them accordingly and in the DP options in the code select the bounciness level (*Type option). You can also customize the bounce level settings (there are 6 predefined).

IF you want sounds, there are also trigger models you can import that suit the size of the new rubbers. These should be placed on the exact same spot as the rubber models... and add the usual _hit subs for them in the code. You can do whatever insie the _hit of course but specifically for sounds, there's code in place for fleep sounds at the bottom of cosmic princess. Needless to say, fleep sounds have to be imported too.

Like I said before, easy... boring as hell but easy :)
 
Wow, that sounds delicious. All hail! :D

Okay, I'm going to sound like a broken record here, but I still feel it's important to get word of these kinds of breakthroughs out to the virtual pinball crowd across the various media forums. Facebook, Twitter, Reddit, whatever's hot..

Because even if it's only incremental progress being talked about and shared, well... people seem to enjoy reading that stuff with perfect enthusiasm, with the promise of greater things to come, you know?

As for me, I've shifted my focus in recent months to other software & writing projects, and I don't expect that to change for the time being, and therefore I'd love it if someone could take over updating FP's Wikipedia article, specifically mentioning the new advances Terry's summing up here. Here's a progress thread, by way of example:


NOTE: I am in no way, shape or form the official 'FP-BAM WP maintainer.' I'm simply the laddie who's been doing it the past couple years. But IMO the project really needs someone better-informed upon FP/BAM features at this point, hence my asking.
 
*** 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

Where did you get the XML? I see there are some differences between it and Cosmic Princess 1.2 or did you do some tweaking?
 
Keep in mind.... this was a somewhat evolutionary process as we went. The name FizX didn't even exist yet when I started adding this to Sonic and Star Wars DSA GE. Cosmic Princess was being updated as well.

I started with the older Cosmic Princess and did a copy and Paste of all code directly into the table (this is the only way I will add stuff like this on my own releases)... and then did my own cleanup / formatting (since I'm not using an external vbs or library) to make it easier for myself to copy to another table. It's all in one section of the script.

The xml was slightly adjusted for things like spinner, autoplunger, bumper, kicker and a couple other things as needed while we went along in the process. Sonic and Star Wars needed a few things to be set different as the tables were very different. I only made changes if I needed to. For the rubbers and flippers... I didn't change anything in the xml.

The only change I made to FizX main code just to allow for the small upper flippers in Sonic to have their own unique settings (as those flippers are a PITA on that table). Normally this won't be needed in most cases, but can be done for whatever you need on a table per table basis.

Also, with Sonic specifically... we kept getting an Overflow Error in multiball, and needed to added a PFTrajectoryCorrection = 0 command before each ball was created, and before each ball was kicked out. After doing that we had no issues (so far). This wasn't needed on Cosmic Princess.

FizX will be mostly a copy and paste and "tweak as needed". No two tables are exactly the same. I needed JLou and AnonTet's helps as we went along for adjusting the main settings (as I'm not a physics guy) at first because some things are very different than compared to DF1. You have much more control... but that means you possibly need to adjust more. FizX completely changes FP flippers for accurate (and more "correct") shooting compared to before... among other things. It takes some adjusting to get used to, if you only ever played FP (and not real pins or VPX).

Even on VPX... its the same process. No two tables are the same... so the idea of copy / paste (and nothing else) is just not realistic if you want each table to play it's best. We gotta get out of the mindset of doing things the old way when adding FizX. (I had to do that). Once you understand more of what FizX is doing, it gets much easier after the first table. Some of the VPX guys who tested Sonic FizX, knew right away what to adjust for their own liking. :)


Here is a simple point by point I made as I was adding FizX to a table. It's by no means an official Guide or install instructions.... but it will give you an idea.



********** Adding FizX to a table (the basics) **********

- add Timer named Trajectory_Correction, set it to enabled and 10 ms in the editor
- add new FizX code (remove any older custom physics code)
- check the main table code to ensure there is no duplicate Dim, Functions, Subs, etc used in the FizX code
- add AdjustBallVelocity() to Sub NewtonPhysicsTick or Sub DrawFrameTick (depends on the table)
- in the editor, adjust table slope (usually between 5 to 6)
- name flippers as "LeftFlipper, RightFlipper, LeftFlipper1, RightFlipper1, etc" in the editor and in the table script to match FizX code
- adjust flipper start angle / swing angle / strength / elasticity as needed (typically strength is centered, and elasticity is hard)
- change settings in "Flipper Physics Setup" to match flipper swing angle, and other flipper settings as needed
- replace bumpers with new bumper model and skirt "peg" model (remove any em kickers in the editor and table code - if they were used for the bumpers)
- update slings with new FizX diverters, add new FizX commands to activate diverters (in the slingshot Subs)
- add new FizX diverter "rubber" models for posts and add new FizX wall guides (set as rubber) in place of rubber bands (named Drubber1, Drubber2, Drubber3, etc)
- use invisible textures for FizX rubber posts, and FizX rubber wall guides (or set to "not rendered" - we don't want to see them)
- add new settings for each FizX rubber post and rubber wall item in "FizX Table Settings"
- add new walls (set to plastic) to each drop target (named DT1, DT2, DT3, etc) and use invisible textures with them (we don't want to see them)
- add or change table code for drop targets so that FizX drop target walls are what gets "hit", and then control drop target items based on that
- in the editor, make sure all items are named correctly to work with FizX code (flippers, sling diverters, drop target walls, rubber posts and walls, etc)
- in the editor, ensure settings for all items are correct for FizX (flippers, sling diverters, drop target walls, rubber posts and walls, etc)
- in the editor, adjust kickers, bumpers, autoplunger as needed for strength, etc
- adjust "Physics xml" only as needed (most settings are pre-set for FizX)
- adjust any BAM magnets as needed. Example before adding FizX: Upper_Magnet.Strength = 300. After adding FizX: Upper_Magnet.Strength = 25000
- test / adjust / test / adjust.... until you get it working the way you want it to play!

- if you get Overflow Errors while playing, try adding PFTrajectoryCorrection = 0 right before a ball is created and right before its kicked out, and add AdjustBallVelocity to Sub DrawFrame instead of Sub NewtonPhysicsTick

Again, this is not "the" guide for installing FizX... it was something I did for myself to track what I did as I went along.
 
Last edited:
Thanks! I changed the slope of the XML from Cosmic Princess to 5.5 like you said and tried it on Avatar. It does play faster. It is not to far from my own XML where I have the slope at 6.8.
 
Yes, that's an example of how I had to stop thinking about how I added updated physics before, and use the FizX example settings for "everything" on the table when adding FizX. The slope was by far the biggest difference, and once that was changed (in the editor) to between 5 to 6... then everything felt more correct after that.
 
Last edited:
One other thing that needed to be adjusted VERY differently were BAM magnets!

What Sonic used before FizX:

Upper_Magnet.Strength = 300

What Sonic used after FizX:

Upper_Magnet.Strength = 25000
 
That's because a few things:
- gravity
- ball mass
- but also because higher fps means more weight (i've posted an answer from rav to me here at PN somewhere)

So more weight, magnets have to be stronger. This is all obvious I know, but for those not familiar with FP, it's a bit of an explanation.

PS: @TerryRed Didn't you change metalMat because of the wire ramps? I think that was the only thing needed (mostly because not tested as CP does not have wire ramps)
 
That's because a few things:
- gravity
- ball mass
- but also because higher fps means more weight (i've posted an answer from rav to me here at PN somewhere)

So more weight, magnets have to be stronger. This is all obvious I know, but for those not familiar with FP, it's a bit of an explanation.

PS: @TerryRed Didn't you change metalMat because of the wire ramps? I think that was the only thing needed (mostly because not tested as CP does not have wire ramps)

Yah, that's part of what I mean when I said I had to adjust to how FizX "starts" with it's settings compared to FP or DF1, etc.

For Sonic I think metalMat was changed... but that was more for the metal / plastics that rolled down to the flipper. For Sonic they needed to be different to prevent the ball from sticking a bit to them.

Sonic has been the "problem child" for FizX :)
 
It is for the better so all is well that ends well :)
 
FizX for Future Pinball - BAM

- Basic walkthrough and quick first demo of Sonic Pinball Mania -


I've been busy learning how to add FizX to FP tables, and the results (when you get to play them) are awesome. I'm simply not good at tweaking physics (I prefer the "creative" stuff), but I still can't believe these are my own releases being played on FP.

This video demo isn't the greatest showcase. I'm not the best player with the new FizX as I'm still "adjusting" compared to old FP physics, but I think it shows some of the big differences there are with the flippers, slings, rubbers, and the weight of the ball, and other improvements.

You really need to play it to "feel" the difference... especially when you go back and try the same table without FizX!

Coming Soon to PinEvent V2 tables!

To clarify.... yes the "fps=" is supposed to be 592 (like the instructions say).... not 596 like I had typed in. Read the friggin instructions as I said... haha.


 
Last edited:
FizX for Future Pinball - BAM

- Basic walkthrough and quick first demo of Sonic Pinball Mania -


I've been busy learning how to add FizX to FP tables, and the results (when you get to play them) are awesome. I'm simply not good at tweaking physics (I prefer the "creative" stuff), but I still can't believe these are my own releases being played on FP.

This video demo isn't the greatest showcase. I'm not the best player with the new FizX as I'm still "adjusting" compared to old FP physics, but I think it shows some of the big differences there are with the flippers, slings, rubbers, and the weight of the ball, and other improvements.

You really need to play it to "feel" the difference... especially when you go back and try the same table without FizX!

Coming Soon to PinEvent V2 tables!


Thanks for the video! When I tried the FizX flippers the first time, the game play did seem different but what really freaked me out was when I accidentally did a live catch. I was sort of puzzled because it never happened before but was cool. I basically thought, "How did I do that?" but was able to repeat it several times after that.

I did notice that the text on your DMD says 592 fps and in a few places in the script but the XML has 596. I will have to try 596 myself. I added an fps of 512 fps on one of my table mods a long time ago and got slam dunked because everyone complained that the game stuttered. So I have used 296 ever since.
 
As I wrote in post above, instructions says 592. Not 596. There's a reason for this values explained somewhere around here on a post by me but the point is, use 592.

The higher you go the better the physics as Terry mentioned so you might want to include a Warning on your tables releases saying to use 296 instead. It MUST be done in the script anyway.
 
Thanks for the video! When I tried the FizX flippers the first time, the game play did seem different but what really freaked me out was when I accidentally did a live catch. I was sort of puzzled because it never happened before but was cool. I basically thought, "How did I do that?" but was able to repeat it several times after that.

I did notice that the text on your DMD says 592 fps and in a few places in the script but the XML has 596. I will have to try 596 myself. I added an fps of 512 fps on one of my table mods a long time ago and got slam dunked because everyone complained that the game stuttered. So I have used 296 ever since.

No it's 592... I'm a dumbass. I think the reason why I kept getting mixed up was because very early on, I saw 596 typed at one point (when first asking what to add in for that, I think there was a mix up)... and for a long while I was using that until I was corrected later on... and it became a bad habit. It's 296 or 592 that you use.

It's 592..... repeat... its 592 (like I showed in the profiles). Can't believe I had it at 596, despite not doing that for a long time. Never do a video when very tired. Read the friggin instructions as I said, haha :)

I too had similar reactions when first adding FizX. I'm used to it on VPX.... but when I did live catches on my own creations for the first time... at first I thought something was wrong, lol. Then I got to a point where I was doing it too well... so I increased the difficulty a bit.
 
Last edited:
Sonic Pinball Mania (PinEvent V2 - FizX) - Future Pinball - BAM

1.4 - FizX update! Now Available!


The highly anticipated first PinEvent V2 table to use the new FizX physics system for FP is here! The days of FP's old physics are gone!

=====================

FizX

This table has been fully updated with FizX for game changing new physics on Future Pinball. The old Future Pinball physics are GONE! FizX uses techniques similar to nFozzy on VPX to completely change the physics for the flippers, slings, rubbers, targets, ball behavior and more that allows this table play much more realistically than anyone ever thought was possible on Future Pinball.

You will be amazed at the difference!

=====================

FizX Profiles and settings

You can easily choose from different preset FizX physics settings in the table script. Some use a higher FPS for the physics (this requires a fast PC), others use stronger flippers!
You aren't limited by this however. You can change all of FizX's settings to completely tweak and adjust the physics to your own preference!

Read the Install Instructions for more information.

=====================

Changelog (v1.4)

- updated entire table for FizX physics
- added plastics reflective layer
- added new GI shadows layer
- added second stage flippers option
- added speed booster to right wireramp to ensure ball completes loop if hitting bots
- fixed Ball Saver not activating when launching a new ball (you can now adjust the time in TABLE OPTIONS)

=====================

As always... READ the included Install Instructions for all the information you need. It also includes a FAQ that will answer most questions.

=====================

I really hope you guys enjoy this major change with FP tables and how much better they can play now. I invite everyone who has never played FP before to give this a try. Many "VPX-only" testers have installed (or re-installed) FP just to try this, and they have been amazed at the difference. I think you will be too!

=====================

You can get Sonic Pinball Mania (PinEvent V2 - FizX) here:


1660732376644.png
 
Sonic Pinball Mania (PinEvent V2 - FizX) - Future Pinball - BAM

1.4 - FizX update! Now Available!


The highly anticipated first PinEvent V2 table to use the new FizX physics system for FP is here! The days of FP's old physics are gone!

=====================

FizX

This table has been fully updated with FizX for game changing new physics on Future Pinball. The old Future Pinball physics are GONE! FizX uses techniques similar to nFozzy on VPX to completely change the physics for the flippers, slings, rubbers, targets, ball behavior and more that allows this table play much more realistically than anyone ever thought was possible on Future Pinball.

You will be amazed at the difference!

=====================

FizX Profiles and settings

You can easily choose from different preset FizX physics settings in the table script. Some use a higher FPS for the physics (this requires a fast PC), others use stronger flippers!
You aren't limited by this however. You can change all of FizX's settings to completely tweak and adjust the physics to your own preference!

Read the Install Instructions for more information.

=====================

Changelog (v1.4)

- updated entire table for FizX physics
- added plastics reflective layer
- added new GI shadows layer
- added second stage flippers option
- added speed booster to right wireramp to ensure ball completes loop if hitting bots
- fixed Ball Saver not activating when launching a new ball (you can now adjust the time in TABLE OPTIONS)

=====================

As always... READ the included Install Instructions for all the information you need. It also includes a FAQ that will answer most questions.

=====================

I really hope you guys enjoy this major change with FP tables and how much better they can play now. I invite everyone who has never played FP before to give this a try. Many "VPX-only" testers have installed (or re-installed) FP just to try this, and they have been amazed at the difference. I think you will be too!

=====================

You can get Sonic Pinball Mania (PinEvent V2 - FizX) here:


View attachment 25664
Random @TerryRed , but did you want your update here about your Sonic table goto your WIP Sonic thread? Seems like it would be more beneficial to that thread?
 
I have added "FizX" Prefix to Future Pinball Forum and Future Pinball Resources sections.
I also added the Prefixes to the 3 tables that have Fizx added to them, that were uploaded here recently.
Thanks again TerryRed and Jlou and Anontet, and anyone else who had an unseen helping hand, for this great work!!
Carry on.
 
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.
  • Chat Bot Mibs Chat Bot Mibs:
    Rai has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    liebowa has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    gustave has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    hoovie108 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    creatine481 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    fabioaugusto4 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Dangerpin has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Teeball65 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Skimd17 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Brex82! has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    DrazeScythe has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Torntabittz has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    brotherboard has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    GARRY040 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    BL2K has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Chilldog has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    rodneyfitz has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    ace19120 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tomasaco has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Greek_Jedi has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Beermano has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    02browns has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    nitram1864 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    aeponce has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    JEAN LUC has left the room.
      Chat Bot Mibs Chat Bot Mibs: JEAN LUC has left the room.
      Back
      Top