Support File BAM FizX FizX Resources Files v200 - !! Huge Update !! ( Update from 20-12-2022 )

JLou5641

Pinball Hall of Famer
Joined
Jan 10, 2020
Messages
601
Reaction score
309
Points
69
Favorite Pinball Machine
Stargate
RESSOURCES FOR

.FizX.jpg

v200 ( official )

FizX and PUPSSF/DOF now work together
Thanks for Terry's Contribution

All In One Example Table - FizX, FLEEP, PUP SSF, DOF (1.6 - JLou, TerryRed)




Here the Ressource Collection ( for now in MEGA ) to put FizX on your table.
This is how folder are organized


1K Physics Ball :
The 1k ball is the native FP ball on which Polygon Collision is set instead of virtual HitBox wich have very low physics resolution ( around 300 polygon only ).

FizX basic Standalone Script & Librairies ( Without Pup SSF & DOF ) :
"Official Release" of FizX version
You'll find a basic template and all FizX core files without PUP SSF & DOF

Two ways for using FizX Core:

Put the library files on your FP Librairies folder and then add this line on your table script:
ExecuteGlobal LoadExternalScript ("fpFizX.fpl\script_FizXv200.tga") ' FizX Core

Or:

Put the TGA file ( FizX core system ) on your table library file and then add this line on your table script:
ExecuteGlobal LoadExternalScript ("*yourlibraryfilemane*.fpl\script_FizXv200.tga") ' FizX Core

FizX Models:
Bumper :

New Bumper Model V3 that avoid weird behaviour.
Now Skirt is seperate from Bumper.
You need to use Bumper whithout skirt in Bumper Editor option.
Skirt model need to be import and placed separatly from PEG category.
The new bumper use metal material.
Bumper strenght at 60 is a good base.
Rubber :
All DRubber invisible model are use for rubberband post and need to be used with the FullTransparent texture.
The Mini, Tiny and post FizX Rubber replace those from FP editor. Import them from Diverter Category
You need to create a surface at the good height and link them to this surface.
All post rubber need to be named as RubberPost1, RubberPost2, RubberPost3 etc etc...
and all Rubbeband need to be names as RubberBand1, RubberBand2, RubberBand3, etc....
Slingshot :
New model for slingshot Diverter system.
It use the hardRubber material from "XML". So please reserve hard rubber material to slingshot diverter only.
For better behaviour you need to set hard rubber material in "XML" like this:
Softness = 1
Bouncing = 0
Static Friction = 1
Kinetic Friction = 1 ( or less if you want wider shoot from slingshot )
Mass need to be set as 1000000 and omega at 30 for a good start
Need to be used with full transparent texture. To see how it work in game, just disable the texture

Fleep Sounds :
This is the Fleep Sound Package. You also find a sub folder where you'll find all minimal sound package which are required for FizX v2.0 and more! All sound that already in use for FizX and PupSSF are convert in ogg format. Better and lighter for FP BAM. Thanks @TerryRed 's contribution
FizXv2.0 have now automatic hit sound between ball and PF element!

Invisible Texture :
Here the Full Transparent texture to make all "invisible DRubber", Slinghsot "Diverter" and fleep sound hit event model not visible in game.

PUP SSF files :
You'll find a template of PupPack that make the SSF working for Future Pinball!
This working with the "All In One Example Table - FizX, FLEEP, PUP SSF, DOF (1.0 - JLou, TerryRed).fpt" template file you can fin on the Root of ressources.

Work In Progress : Only for Dev and testing of new stuff and version.


If you need some new model for you table with FizX, please ask here on request subforum:

Greating,
JLou,
 
Last edited:
04-10-22 Update: Update FizX to v105 in WIP folder for testing until it's okey for everyone

- Add the "RAV - Helper functions". It reduce and simplify FizX script a lot for Dynamic Physics parts from more than 250lines. It also improve script performance in game.
Look at the WIP folder in FizX ressource.

The "RAV - Helper function":

Code:
' ================================ RAV - Helper functions =============
Function GetObjectsRangeWithPostfix(baseName, min, max, postfix)
    Dim i, oneObject, result()
    ReDim result(max+1)
    For i = min To max
        Set oneObject = Eval(baseName & i & postfix)
        Set result(i) = oneObject
    Next
    GetObjectsRangeWithPostfix = result
End Function

Function GetObjectsRange(baseName, min, max)
    GetObjectsRange = GetObjectsRangeWithPostfix(baseName, min, max, "")
End Function

Function GetObjectsInfoRangeWithPostfix(baseName, min, max, postfix)
    Dim i, oneObject, result()
    ReDim result(max+1)
    For i = min To max
        Set result(i) = xBAM.FindObject(baseName & i & postfix)
    Next
    GetObjectsInfoRangeWithPostfix = result
End Function

Function GetObjectsInfoRange(baseName, min, max)
    GetObjectsInfoRange = GetObjectsInfoRangeWithPostfix(baseName, min, max, "")
End Function

Function GetNamesRange(baseName, min, max)
    Dim i, oneObject, result()
    ReDim result(max+1)
    For i = min To max
        result(i) = baseName & i
    Next
    GetNamesRange = result
End Function
 
07-10-22 Update: Update FizX to v107 in WIP folder for testing until it's okey for everyone.

Description : Huge update! Huge script simplification compare to v104... From 1300 lines to ~650 lines !

I find how to make great trajectory from narrow to wide shoot from base to tip, exactly like previous FizX version, but now without any "Cheating Trajectory correction"!
That mean the script have a huge simplification due to the removal of "Point per Point Trajectory Correction". That also mean we could theoricaly do without any BallTrajectory Correction with Newton Sub of Frame Sub, that would make the script as light as DFv1 for calculation and integration !!! ( Maybe i will make a FizX-Lite version ).
But i decided to keep the trajectory option for those who need this in case it need to be used on some table that were designed for old physics.

Now we have those setting for each flipper:
1665135818514.png
RollingEffect is: Depend the KineticFriction, how much rolling ball affect the shoot.
- 0 mean every shoot are like if the ball is static, mean all shoot are narrow as possible from base to tip.
- 1 mean the shoot narrow from base to gradualy wide as possible when more you are near the tip and more ball have rolling speed.


Now shoot are much more natural, and keep their consistant like previous FizX version. ( Mean Erratic and bad behaviour are still mostly deleted ).


The conclusion is the solution were always here... Even before Rav add Ballout Velocity possibilties...


I think v107 will be fastly the official last version
I also udapte the XML in the exemple table.

Greating,
JLou
 
You might want to add Terry's model for the rubber post he created for Junkyard Cats. See attached.
 

Attachments

  • Rubber-Post-T1-FizX.zip
    9.3 KB · Views: 21
Yes, i need to make those Rubber post too.
 
yes. he make it like a made the other to be used with FizX. I added it to the Ressources
All model need to be made for FizX
 
If you guys are confused by the title of this topic, the current version of FizX is 104. You will see a template for version 104 in a folder in the download named "FizX Librairies ( Core Script )".

The download has a folder "Work In Progress" which has the beta version of 107 that is being tested.

 
And I suggest, again, you try 107 and skip 104
 
12-10-2022 Update: Update FizX WIP to v108 in WIP folder :

- Fixed Formula: nothing new for FizX, i just made some mistake on v107 with some wrong C&P for Aimrange and AimOrientation of flipper2 and flipper 3
 
14-10-2022 Update: Update FizX WIP to v109 in WIP folder :

- FP issue : Anontet discover an FP physics issue. When Drop Catch, ball can often pass through the flipper when ball speed is slightly faster than the flipper speed release near 0° position of the flipper. I added a function that avoid this issue now, and also add a "shake" effect when ball hit the flipper at his release position

- FizX issue: It appear when FizX is directly put on script table with the new helper function and new variable declaration, it occure some error that not happened by calling it from external script. It make my brain burning to find how to avoid this. Solved now.

- More Script optimization

- Timer Free : No need "Timer trajecotry correction" anymore !

v109 time reading is at 4ms on my PC

In wip folder, you'll find two template:

- one with external script calling ( my preference ) : FizX-Template-v109a.fpt
- one with all FizX script in table script ( @TerryRed preference ). Look at explanation on it : FizX-Template-v109b.fpt

Thanks to @AnonTet and @TerryRed for is so complex ( the most of FP i think ) Sonic Table that help me a lot to find solution
 
Interesting. Playing around with it after adjusting common settings like table angle and slower overall table speed showed some problems, the ball was too constrained and caused some weird movement or just slowed down too much.
 
Interesting. Playing around with it after adjusting common settings like table angle and slower overall table speed showed some problems, the ball was too constrained and caused some weird movement or just slowed down too much.
Can you explain what you mean, on which situation, and XML/FizX/table wich setup?
 
how much slope did you apply? As before higher angles were needed, now they should be reduced.

Still I just tried Seawitch with fizX v109 with a 7º slope and the only problem I've found was the flippers Omegas I have are too low making them week to do the spinner loop. But that is easily fixed by upping the Base/Tip omegas.

Of course table was a lot faster AND some objects might need increasing in strength (I recall VUK's in early days).

But this is if you have 8k ball and fps=592. If you're using 1K ball with polygon enabled, even with fps=592 it *might* not be necessary but using fps=296 should solve the weigth problem caused by higher fps values so strengths should be fine with either ball too.

You may also be referring to overspin... can you set " overspindeleter = 1" and test again and/or you can lower the playfield friction.
 
Lot more complicated than that. Easier just to show my changes, took a couple hours of playing around adjusting threshold, bounce, friction etc. Just the ball and xml was changed, and a better test bed added. For example I felt the threshold was too high.
 

Attachments

  • FizX-Template-v109-mODIFIED.zip
    13.8 MB · Views: 21
Trying this in latest version of fpx, but having a problem with the ball passing through the flippers, or just jumping over them. Especially at the tips. lowering the xml to 296 greatly helped, despite the fact I have a i7 and a 2070 super gpu

Is there code I am missing? Something that needs to be inserted in the main engine code. This should be a straight copy and paste, but appears I am missing something or there was missing instruction. I tried adding in a zip file for the models because I though it was the ball, but there wasn't a zip file for your demo either, but still no luck.

This version should work, I stripped out all my custom code for flippers/bounce etc so I am at a loss where the problem is. is it a setting? A XML (which I used part of now) or some code I missed? You mentioned this problem before, so where would I need to change and see
 
Trying this in latest version of fpx, but having a problem with the ball passing through the flippers, or just jumping over them. Especially at the tips. lowering the xml to 296 greatly helped, despite the fact I have a i7 and a 2070 super gpu

Is there code I am missing? Something that needs to be inserted in the main engine code. This should be a straight copy and paste, but appears I am missing something or there was missing instruction. I tried adding in a zip file for the models because I though it was the ball, but there wasn't a zip file for your demo either, but still no luck.

This version should work, I stripped out all my custom code for flippers/bounce etc so I am at a loss where the problem is. is it a setting? A XML (which I used part of now) or some code I missed? You mentioned this problem before, so where would I need to change and see

You need the script. Normally it is in a vbs file but it looks like it has been inserted into the script.

It plays rather poorly with the default ball. You need to use one of the balls that are included in a zip file. You save the zip file just like we used to save the old Zed physics file with the same name as the table and save it to the same folder as the table. There is a "1K Ball ( Native FP ball with Polygone collide )" and an "8K Ball". The 8 K ball plays the best but uses more resources which should not be a problem on your PC. The 1 K ball uses fewer resources but it will play faster so I usually decrease the table slope if I use it.

I think the problems they are describing don't occur very often.
 
Your specs are way better than mine "pinball pc" so you should not have a problem.

You should however use the XML that comes with the demo table and forget about old gravid/mass values. This is almost an immutable rule as it was the start of it all. I say almost because it's impossible to test all the alternatives but the point is, you mess with it, you mess with the rest of the whole settings, especially the *Mat(erial) settings. They are like set up like that for a reason.

Slope should be between 5 and 6 but I went up to 7 without issues already apart having to adjust some strengths, maybe. And talking about strengths, make sure that as a start ALL sliders in GUI are set to the middle. I had problems with them especially all the way to the right (even before fizX actually)

Then you really should use, at least, the 1k ball with polygon enabled (I still recommend 8k) that you can find in the "HQ Physics Ball". Just download the appropriate .zip and rename with the same name of the table. Or move its contents (MODELS folder) into your existing .zip if you already have one.

regarding ball through flippers is something that was present since.. forever, not just fizX.

if you don't have the code below in your script (inside all sub's flipper _prehit) you're not using the most recent v109.vbs and you should updated it.

Again, please use default XML that is the v109.fpt table.

Code:
'Anti ball passtrhough over Flipper Drop Catch + Shake Effect. ( Avoid FP Engine Issue )
    If RightFlipper3Ext.ContactPoint > 0 and RightFlipper3Ext.IsSolenoidOn = False and RightFlipper3Ext.angleDiff < 5 and RightFlipper3Ext.Hit = True and RightFlipper3Ext.BallVSpeed > 100 then
        RightFlipper3Ext.Omega = 0
        RightFlipper3.SolenoidOn
        RightFlipper3.SolenoidOff        
    End If
 
Interesting. Playing around with it after adjusting common settings like table angle and slower overall table speed showed some problems, the ball was too constrained and caused some weird movement or just slowed down too much.
It really need a better explanation or a video, because i don't see what you mean.
I test your setup, your ball is too light, too floaty, and not enough falling acceleration from upper.. It's play more like an old pinball slope 5°, but here you put 7°. Playing on a 7° slope don't do that.

Instead of set "false" Gravity and Ball mass, try to play with playfield friction.

For Kinetic friction, don't go under 0.02 ( under this, FP loose friction, it's weird ), and don't go over 0.03
For Static Friction, you can go from 0.02 to 0.2. Considere that 0.02 it's like a fresh wax flipper, and 0.2 is a dirty flipper.

Also, kinetic and static are not like word want to say in FP.. You can think like this:

Static, mean ball rolling. How much ball rolling. That mean more this factor is higher, more the ball roll at higher speed. But it doesn't mean it's harder to begin to roll for a static ball ! This is not the force needed to begin to move the ball ! It just mean it's harder to slide !

Kinetic, mean ball sliding. How much ball sliding. That mean more this factor is higher, more the ball is braked and then roll.

Then:
- More Static Friction is higher, more ball need speed before sliding
- More Kinetic Frirtion is Higher, more ball return to rolling easily.

- The ball speed is affected by how much she sliding. It's the difference between his omega compare to his speed on PF.
More there is difference between his omega compare to his speed, more the ball have speed... Then when the ball rolling, his speed is simply his omega of course
 
@shiva

I had similar issues as you describe at first when trying to learn how to add this to tables. Having the specific settings in the editor and the correct FizX settings to start with are important, or you will have the odd things you describe happen.

The FizX settings will need to change based on the fps you set in the xml

This is is why I added FizX Profiles to my last few FizX based releases. Like AnonTet mentioned, its important to use the FizX version of the xml to start with.

Using either the 1k or 8k ball model will have some effect on how it plays.

For me, I found that I had to start with the following:

- set table slope between 5 to 6 (instead of the higher slope amount I used to use)
- set flippers with strength set to the center, elasticity set to HARD.
- flipper angle usually set to either 48 or 50
- remove all old physics related code completely including previous xml settings
- add all the FizX code, xml and settings to the table
- the swing angle in FizX settings MUST be the exact same as they are set in the editor
- then add what is needed for the slingshots (diverters and new commands in slingshot subs), and rubbers / drop targets (diverter rubber models and new commands for drop target related code), and add them to the FizX settings.
- add new bumper model (with the right settings), and add new separate Bumper skirt (peg). Remove older em kickers if used..
- make adjustments for table items as needed in the xml for things like kickers, vuks, and then adjust as needed in the editor for those as well

I formatted all FizX related code into one section (as well as adding the Tweaker Tool) and added it directly to the table script (no vbs or external library) on my most recent releases that had FizX. Those are using the older FizX code, so they don't have the newer settings / options in v109 (which is better for flippers)... but they will give you an idea of the differences and settings needed to start with (for fps = 296 and 592). I had to have some settings be different for each table.

Jaws BBE will however have at least some form of FizX v109 on it, that should be mostly copy and paste.
 
Last edited:
It really need a better explanation or a video, because i don't see what you mean.
I test your setup, your ball is too light, too floaty, and not enough falling acceleration from upper.. It's play more like an old pinball slope 5°, but here you put 7°. Playing on a 7° slope don't do that.

Instead of set "false" Gravity and Ball mass, try to play with playfield friction.

For Kinetic friction, don't go under 0.02 ( under this, FP loose friction, it's weird ), and don't go over 0.03
For Static Friction, you can go from 0.02 to 0.2. Considere that 0.02 it's like a fresh wax flipper, and 0.2 is a dirty flipper.

Also, kinetic and static are not like word want to say in FP.. You can think like this:

Static, mean ball rolling. How much ball rolling. That mean more this factor is higher, more the ball roll at higher speed. But it doesn't mean it's harder to begin to roll for a static ball ! This is not the force needed to begin to move the ball ! It just mean it's harder to slide !

Kinetic, mean ball sliding. How much ball sliding. That mean more this factor is higher, more the ball is braked and then roll.

Then:
- More Static Friction is higher, more ball need speed before sliding
- More Kinetic Frirtion is Higher, more ball return to rolling easily.

- The ball speed is affected by how much she sliding. It's the difference between his omega compare to his speed on PF.
More there is difference between his omega compare to his speed, more the ball have speed... Then when the ball rolling, his speed is simply his omega of course

You seem to be more open to using different XMLs than AnonTet?
 
nope.. We worked hard on all value with a bunch of test.

The range i tell to shiva is what we use depend your style of play you want.

Try playing with Pf friction like i said 😉
 
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: dizzeee has left the room.
      Back
      Top