Twilight Zone

So @GeorgeH , do you use BAM Flipper Dynamic or Shiva flipper?
During testing, I favored using the default Shiva flippers. ...But with the rotation speed chart, I am starting to favor using the standard Gimli/George flippers.

Also, BAM flipper Dynamic use linear straight math calculation... But I make test yesterday, we could make this math calculation as square ( curve ), or divide flipper bats in 10 "zone" or more or less. So with that, instead of a linear straight force along the flipper bats, we can make a "curve" calculation, or a flat on half flipper then curve, or decrease flat or increase flat... So all what you want to corrected aimshot and force. It's in the same spirit like chart, or same spirit nfozzy for VPX ( which flipper bats are separate in zone where each zone have their own correction )

I would like to have a way to add a curve where the omega is less on the tip and base and higher in the center of the flipper. I wanted to be able to create a curve back when Gimli and I developed the flippers. Neither of us were able to figure out a way to do the do the math so we just used the linear calculation which is simple to do.
 
maybe i make a mistake.. but as i see, Dynamic flipper use 2 position value to calculate it. The base and the tip ( pos 0 and pos 1.2 ).. then it will calculate a ratio between them with the maxomega and minomega we define at the begining.
To make a custom curve, it need juste to define new points, and add line in the calculation for each zone .
Let me some time make it ;)
 
@GeorgeH @AnonTet : Here the code with the idea. I make it on my break at workplace ^^... I have and error with "if" before the "end sub".. I'm not a real coder.. And no more time today.. if anyone can look at it, but it's the idea.
I make 5 points ( 4 zone: 0-->0.25, 0.25-->0.5, 0.5-->0.75, 0.75-->1.2 ), on each zone omega correction is calculated. We can make more zone.
You can check https://mycurvefit.com (Online curve-fitting at mycurvefit.com) to see your curve you want. Choose Linear -- point to point. Enter your value below
1621942960360.png

' FLIPPER OMEGA

' You may want to adjust the strength (also called omega) of the flippers when you add dynamic flippers to other tables.
' Only change the values for "MaxOmega" and "MinOmega" These settings override the flipper omega listed in the XML.
' You probably will want to adjust MaxOmega between 40 and 50 and MinOmega between 26 and 33. This is not a strict rule
' but it gives you an idea of approximate values that work for me. You need to leave the section below "MaxOmega2"
' unchanged and then go on to "BOUNCE CONTROL" below.below.

If BAM_VERSION => 254 then
const Omega1 = 50 ' Omega at base of flipper. Must be < MaxOmega. Default = 33
const Omega2 = 45 ' Omega at base/middle of flipper. Must be < MaxOmega. Default = 33
const Omega3 = 45 ' Omega at middle of flipper. Must be < MaxOmega. Default = 33
const Omega4 = 40 ' Omega at middle/tip of flipper. Must be < MaxOmega. Default = 33
const Omega5 = 33 ' Omega at tip of flipper. Must be > MinOmega. Default = 50

End If

Dim ball_to_flipper_angle
''''''''''''''''''''''''''''''''''''''''''''Right Flipper Prehit Code'''''''''''''''''''''''''''''''''''''''

Sub RightFlipper_prehit()
If BAM_VERSION < 254 then Exit Sub

Dim ball
Set ball = xBAM.BallCloseTo(0,0)
If xBAM.Ball.Speed <= 200 then BounceMix = 1 'Ball Speed Measures 150 rolling down left fliper from cradled ball so this should capture it
If xBAM.Ball.Speed > 200 then BounceMIx = 2

OnPreHitFlipperSettings(RightFlipperExt)
omegaCorrectionrOmega12 = MaxOmega - (RightFlipperExt.ContactPoint * ((Omega2 - Omega1)/1.2))
omegaCorrectionrOmega23 = MaxOmega - (RightFlipperExt.ContactPoint * ((Omega3 - Omega2)/1.2))
omegaCorrectionrOmega34 = MaxOmega - (RightFlipperExt.ContactPoint * ((Omega4 - Omega3)/1.2))
omegaCorrectionrOmega45 = MaxOmega - (RightFlipperExt.ContactPoint * ((Omega5 - Omega4)/1.2))
If RightFlipperExt.ContactPoint < 0.0 then RightFlipperExt.Omega = Omega1
If RightFlipperExt.ContactPoint > 1.2 then RightFlipperExt.Omega = Omega5
If (RightFlipperExt.ContactPoint => 0.0) And (RightFlipperExt.ContactPoint =< 0.25) then
RightFlipperExt.Omega = omegaCorrectionr12
If (RightFlipperExt.ContactPoint => 0.25) And (RightFlipperExt.ContactPoint =< 0.5) then
RightFlipperExt.Omega = omegaCorrectionr23
If (RightFlipperExt.ContactPoint => 0.5) And (RightFlipperExt.ContactPoint =< 0.75) then
RightFlipperExt.Omega = omegaCorrectionr34
If (RightFlipperExt.ContactPoint => 0.75) And (RightFlipperExt.ContactPoint =< 1.2) then
RightFlipperExt.Omega = omegaCorrectionr45
End if

End Sub


'''''''''''''''''''''''''''''''''''''''''''''''Left Flipper PreHit Code'''''''''''''''''''''''''''''

Sub LeftFlipper_prehit()
If BAM_VERSION < 254 then Exit Sub
Dim ball
Set ball = xBAM.BallCloseTo(0,0)
If ball.Speed <= 200 then BounceMix = 1 'Ball Speed Measures 150 rolling down left fliper from cradled ball so this should capture it
If xBAM.Ball.Speed <= 200 then BounceMix = 1 'Ball Speed Measures 150 rolling down left fliper from cradled ball so this should capture it
If xBAM.Ball.Speed > 200 then BounceMIx = 2
If BAM_VERSION < 254 then Exit Sub


OnPreHitFlipperSettings(LeftFlipperExt)
omegaCorrectionrOmega12 = MaxOmega - (LeftFlipperExt.ContactPoint * ((Omega2 - Omega1)/1.2))
omegaCorrectionrOmega23 = MaxOmega - (LeftFlipperExt.ContactPoint * ((Omega3 - Omega2)/1.2))
omegaCorrectionrOmega34 = MaxOmega - (LeftFlipperExt.ContactPoint * ((Omega4 - Omega3)/1.2))
omegaCorrectionrOmega45 = MaxOmega - (LeftFlipperExt.ContactPoint * ((Omega5 - Omega4)/1.2))
If LeftFlipperExt.ContactPoint < 0.0 then LeftFlipperExt.Omega = Omega1
If LeftFlipperExt.ContactPoint > 1.2 then LeftFlipperExt.Omega = Omega5
If (LeftFlipperExt.ContactPoint => 0.0) And (LeftFlipperExt.ContactPoint =< 0.25) then
LeftFlipperExt.Omega = omegaCorrectionr12
If (LeftFlipperExt.ContactPoint => 0.25) And (LeftFlipperExt.ContactPoint =< 0.5) then
LeftFlipperExt.Omega = omegaCorrectionr23
If (LeftFlipperExt.ContactPoint => 0.5) And (LeftFlipperExt.ContactPoint =< 0.75) then
LeftFlipperExt.Omega = omegaCorrectionr34
If (LeftFlipperExt.ContactPoint => 0.75) And (LeftFlipperExt.ContactPoint =< 1.2) then
LeftFlipperExt.Omega = omegaCorrectionr45
End if

End Sub
 
Last edited:
That's the logic coded in shivaflippers. The omega depends on the .contactpoint
 
That's the logic coded in shivaflippers. The omega depends on the .contactpoint
Good! i was not sure, because it's little more complexe, i didn't understand it yet. How do you change omega per point on shiva?
 
That is similar to the way Shiva does it (although he adds a whole bunch of other code that I don't understand). You can find what he uses in Jungle Girl by searching the script for "LeftFlipperExt.ContactPoint". I may try it sometime by only using the Contact Point code and eliminate all the other code.

It appears the rotation speed chart doesn't produce as significant an effect on the Shiva flippers as it does on the Gimli/George flippers. At least, this is my finding anyway.
 
okey,
i watch last shiva's script in the @AnonTet i didn't find where we can change the omega curves for flipper bats.
@GeorgeH , when you say "It appears the rotation speed chart doesn't produce as significant an effect on the Shiva flippers", which effect you tell? Trick or Shoot aiming ?
 
Jungle girls uses the whole fpxengine so it can be a bit daunting. For shivaflippers only, look at Bally Spectrum and look for LeftContactPointGeneratedOmega (or Right for the right flipper). But there's more trickery in there too.

I'm a bit sick since yesterday and no head for coding or anything really so, no news from me.

A video is worth a thousand words so, to show where I left see the video below. The flick is not happening. Note this can be used to "stop" a ball from rolling on the flipper in certain circumstances which is more important to do than the trick itself.

 
I can't make a flick pass work at all. When I try to flick, the flipper moves too much or else my reflexes are too slow. @Gimli might be able to come up with one of his creative solutions. My guess is that he might be able to code it (if it is possible) by pressing a different button when the flipper is held up.
 
Shoot aiming
Yep, charts is the best thing exist for making realistic trick ( apart for live catch ) IMO, but need "script hack" for aim.
In Vpx you can change aiming by increase flipper bats friction which make more close shooting angle, but in FP, it do nothing.
I can't make a flick pass work at all. When I try to flick, the flipper moves too much or else my reflexes are too slow. @Gimli might be able to come up with one of his creative solutions. My guess is that he might be able to code it (if it is possible) by pressing a different button when the flipper is held up.
With or without Shiva's script you try the flick pass?
On the rotation charts you share on the other topic, I have notice she's too "quick".. Maybe i can check an eye.
 
@JLou5641
With just using speedcharts so far, I did not find a way to make the flick. It works for flipper down but not flipper up. We may need some extra code after all but it'll still be a hard one to get right because execution time is difficult which affects testing (at least with my skills!)
 
@AnonTet , strange.. because i can do them.. and like you say with the video, it's also possible to stop the ball with a flick for making a bunny hop to the ball.
As i tell a the begining of the chart discussion, the only things i can't do, were the live catch


Edit: From what I see, it seems you have good skill ;)
 
That last video is not mine. I just used it as a reference to flick but when the flipper is up that, for some reason I can't make it happen!
 
Yep i know this video too ;)

Witch charts you use for TZ?
Can you try to make a video when you can?
 
With or without Shiva's script you try the flick pass?
Tried both. Can't do it. Shiva claims you can do it if you're fast. I guess I'm not fast enough.
 
The table is posted:

 
Thanks George! Your work is much appreciated, and I'm definitely looking forward to playing this one :-)
 
Strange, I cannot open the archive :/
 
I will probably be closing this topic but you can move your discussion here:

 
I will probably be closing this topic but you can move your discussion here:

Okey
 
Thanks George! Your work is much appreciated, and I'm definitely looking forward to playing this one :)
You'll like it, just saying ;)
 
Forum activity
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.
      Mibs Mibs: Isaac Sauvage has posted a new reply in the thread "How did you like that movie / TV show / book?".
      Back
      Top