BAM - FP Physics Tweaks. [vip]
Page 7 of 9

Author:  GeorgeH [ Mon Nov 21, 2016 5:07 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Wow, It would nice to not have to implement Blue's flipper mod. I am working on a mod of the "Swords of Fury" table and am using Blue's flippers (I should be posting it soon so you guys can try it). It took a lot of work adjusting all the flippers and invisible wall. I ended up using a star trigger to activate the small slipper because the small button trigger only operated reliably when the ball rolled down the inlane to the flipper. With the star trigger, I can position it so balls coming in from the playfield activate the small flipper more reliably.

If we don't have to deal with all this it would be great. I think the shapeable flipper is something we need. Blue's flippers also have wall that is turned on and off in the script that hold the ball away from the flipper close to the end. It would be nice to be able to duplicate that also.


Author:  ravarcade [ Mon Nov 21, 2016 6:16 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]


- RotationSpeedChart - In FP activated flipper start to rotate with given speed (omega). It also slow down. How fast it slow down depends on "NewtonDamping".
Now you can create chart, with flipper rotation speed in time.

In "Physics Tweaks" menu you will find command: Load ravarcade default. It will load my test chart. It is only example. Will be probably not best one.
You edit chart you have 3 params:
- idx - vertice index
- time - in ms
- percent - amount of "omega" apied in that time.
Value between 2 points is interpolated.
You can delete point with DELET key on keyboard
You can insert point with INSET key om keyboard
With PageDown/PageUp you can move between points.
In chart there will be always atleast one point.
If there is only one point chart will be not aplied. (Flippers will work "old way").
If you define "chart" for time between 0 ... 20 ms. After that 20 ms "NewtonDamping" will be aplied to slow down flipper.
My adivce. Do not set first value in chart for time = 0 to 0%. For user it will be like "flipper lag". Start with your expected value after ~1-3 ms after flipper activation.

- Flipper Chart:
You can select flipper for witch chart is drawed. (If flipper was not used from start of game, there will be no chart).
In chart you have functions:
- RED: angle ( time)
- YELLOW: energy ( time )
- GREEN: energy ( angle )
- WHITE vertical line: time when flipper reached maximum swing angle. You can see also value in "ms"

Gimli decribed this chart as:

1. Red has angle on y- axis of chart and time on x-axis
So you push and hold flipper button and flipper will swing to its set maximum swing angle and then the chart levels off (as it is no longer swinging)

2.Yellow graph has energy on y-axis and time on x-axis.
So when you push flipper button and hold flipper button ,it swings and gradually loses
energy over time until swing is completed and which point energy falls to zero

3. Green graph has energy on y- axis and angle on x-axis
So when you push flipper button and hold flipper button energy gradually decrease as flipper swings until swing is completed at which point energy falls to zero


You will see chart only if you are in right line of menu:
Line with "ID:" to see flipper chart
Lines with "idx", "time", "percent" to see Rotation-Speed-Chart.

In final release i will remove "Load ravarcade default" option.

Also please note, that rotation-speed-chart will be saved in XML on disk or in clipport when you press CTRL-C (if you want to copy set XML command to script).

Here is example how will look part of XML with rotationSpeedChart and newtonDamping
<flipper rotationSpeedChart="{0.0,15.0},{2.0,28.0},{4.0,55.0},{6.0,70.0},{8.0,77.0},{10.0,79.0},{12.0,79.0},{14.0,77.0},{16.0,73.0},{50.0,30.0}" newtonDamping="0.2" mass="22000" omega="40" moeMethod="0"
           leftXoff="0" leftYoff="1500" leftZoff="0"
           rightXoff="0" rightYoff="1500" rightZoff="0"></flipper>

If you don't set in XML rotationSpeedChart or newtonDamping default values will be used. So don't worry about compatibility issues.

What next?
First i want to add tool to test ball/flipper actions. (maybe for next weekend).
When "flipper physics-shape". Bad thing about that is: it can't be set on-the-fly. So you will need to do few game restarts to test different shapes.

Author:  graf [ Mon Nov 21, 2016 10:54 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

ravarcade I have to say one thing. You are DA MAN. You have stuck with Future Pinball and kept on making adjustments to BAM. I love your work.

Author:  Gimli [ Thu Dec 22, 2016 9:51 am ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Can you set unique physics for each flipper and save?

Author:  GeorgeH [ Fri Dec 23, 2016 6:01 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]


I felt like I owed you some comments after having used your XML file for some time. I also used it with a few changes on Swords of Fury that is going to be released soon. I was expecting I would have to change ball damping but it was perfect. I found the nudge impulse was too low for my taste so I increased it from 80 to 120. This may be based on my personal preference but I think most folks would like it to be at least 100. My biggest problem was the spinners. When I hit a spinner reasonably hard, the ball would often bounce back like it was hitting a brick wall. I changed the spinner mass from 90 to 60 and spinner gravity from 500 to 100. The other changes that I made were table specific and not something that would apply to a generic XML file for all tables. But the changes I told you about here are the ones I have added to the XML file that I use for all tables.


malifica wrote:
GeorgeH wrote:
Would you mind posting the rest of your *.xml file? I'd like to try it but I don't know what to use for the rest of the file.


Here is the current XML file. I have changed the damping to the 10.0 value as it seems to help immensely with flipper action (but I may be going cross-eyed and not know which way is which anymore) and also nudge.

Some small changes to the rubber values that work well with the flippers and elsewhere without feeling like too much of a compromise with any specific object.

I have also tweaked the vari-target value since I finally got around to playing Big Indian and that needed some serious calibration. Fun EM table by the way.

I have used this XML with 5 degree Old EM style to 9 degree Modern Stern style tables and it works for me for the most part.


<?xml version="1.0" encoding="utf-8"?>
<!-- Malifica Universal Real Fun Physics EM/SS Table 2016-11-07-->

<!-- Note Here Regarding Table Specific Alterations -->
<!-- Note Here Regarding Table Specific Alterations -->
<!-- Note Here Regarding Table Specific Alterations -->
<!-- Note Here Regarding Table Specific Alterations -->

<!-- Physics processing -->

<physics fps="512" threaded="1"></physics>

<!-- Settings for various objects -->
<ball mass="72.3" gravity="5300.0" damping="10.0"></ball>

<flipper mass="20150.0" omega="43.0" moeMethod="0"
leftXoff="0" leftYoff="1500" leftZoff="0"
rightXoff="0" rightYoff="1500" rightZoff="0"></flipper>

<bumper impulse="90.0" impulseRandomness="0" vectorRandomness="6"></bumper>
<autoplunger mass="20000.0" force="60000.0"></autoplunger>
<diverter mass="10000.0" omega="33.0"></diverter>
<gate mass="5.0" gravity="2500.0" damping="0.25"></gate>
<kicker impulse="1000.0" vukImpulse="1400.0" impulseRandomness="2" vectorRandomness="1"></kicker>
<plunger mass="20000.0" force="30000.0"></plunger>
<slingshot impulse="700.0" impulseRandomness="15" vectorRandomness="3"></slingshot>
<spindisk mass="10000.0" angularDamp="0.33" linearDamp="0.25"></spindisk>

<spinner mass="90.0" gravity="500.0" angularDamp="0.25" angularAccel="5.25"
spinDampLoose="0.55" spinBackLoose="1.70"
spinDampNorm="0.75" spinBackNorm="1.80"
spinDampTight="0.95" spinBackTight="1.90"></spinner>
<emkicker mass="10000.0" omega="80.0"></emkicker>
<varitarget mass="500.0" damping="0.9" tension="3.0" return="15.0"></varitarget>
<magnet impulse="10.0" impulseRandomness="2"></magnet>

<!-- Nugde Settings -->
<nudge impulse="80.0" impulseRandomness="25.0" warningLevel="250" leftAngle="60" upAngle="0" rightAngle="320"
vectorRandomness="5" visualDistance="1" waitPeriod="300" maxBallVelocity="500.0"></nudge>

<!-- Materials Settings -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development.
There shouldn't be any objects set to this material so these are just a fail safe values -->
<defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

<!-- Material Settings for surfaces marked as playfields -->
<playfieldMat softnessCoef="0.03" elasticCoef="0.1" staticFriction="0.025" kineticFriction="0.015"></playfieldMat>

<!-- Primary Material Types -->
<metalMat softnessCoef="0.01" elasticCoef="0.10" staticFriction="0.01" kineticFriction="0.01"></metalMat>
<plasticMat softnessCoef="0.02" elasticCoef="0.20" staticFriction="0.02" kineticFriction="0.01"></plasticMat>
<woodMat softnessCoef="0.03" elasticCoef="0.15" staticFriction="0.03" kineticFriction="0.02"></woodMat>
<rubberHardMat softnessCoef="0.08" elasticCoef="0.42" staticFriction="0.04" kineticFriction="0.055"></rubberHardMat>
<rubberIntMat softnessCoef="0.10" elasticCoef="0.52" staticFriction="0.05" kineticFriction="0.065"></rubberIntMat>
<rubberSoftMat softnessCoef="0.12" elasticCoef="0.62" staticFriction="0.06" kineticFriction="0.075"></rubberSoftMat>

<!-- Object Specific Material Settings -->
<gateMat softnessCoef="0.05" elasticCoef="0.65" staticFriction="0.00001" kineticFriction="0.00001"></gateMat>
<kickerMat softnessCoef="0.01" elasticCoef="0.05" staticFriction="0.80" kineticFriction="0.80"></kickerMat>
<rampMat softnessCoef="0.01" elasticCoef="0.01" staticFriction="0.01" kineticFriction="0.01"></rampMat>
<plungerMat softnessCoef="0.04" elasticCoef="0.55" staticFriction="0.02" kineticFriction="0.02"></plungerMat>
<spindiskMat softnessCoef="0.05" elasticCoef="0.50" staticFriction="1.50" kineticFriction="2.00"></spindiskMat>


Author:  ravarcade [ Sun Dec 25, 2016 6:39 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Gimli wrote:
Can you set unique physics for each flipper and save?

Not yet. I will add it soon.

Here is list of flipper properties (that properties you will be able to set for every flipper different):
1. Mass
2. Rotation speed
3. Rotation chart. (maybe in not in first release, but possible).

I'm not sure if Mass is usefull. In most case flippert mass is ~10 000 bigger than ball. So if you set it for one flipper to 10000x(ball mass) and for other flippert it will be 8000x(ball mass) it will not make big difference. Anyway it is easy to add.

"Rotation speed" is same as flipper strength in FP. So now you can already set it "per flipper". But you will be able to set more precise values.

Author:  Gimli [ Sun Dec 25, 2016 6:47 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Thanks Rafal

All the best in the New
Year !!

Author:  graf [ Sun Jan 15, 2017 3:18 am ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

After playing BAM on the laptop I am getting to get it on the Pinball MAchine. But for some strange reason when I goto Menu there is no Physic Tweaks. THe BAM.DLL is 3.83 MB. In the Pinball Machine I have the games set up in Future Pinball mode.

I need to adjust the tabels to speed them up espically T2.
Do I need to use this dll cause I re-downloaded BAM on the cabinet but I dont get the option.

Any thoughts ?

Author:  Gimli [ Sun Jan 15, 2017 9:20 am ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Did you toggle on "advanced menu"?

Author:  graf [ Sun Jan 15, 2017 4:40 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

i am sure it was aleardy set to advance. but i will when i get home from work .

Page 7 of 9 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group