shiva

Administrator
Staff member
Site Supporters
Joined
Oct 3, 2004
Messages
1,460
Solutions
2
Reaction score
1,045
Points
132
Favorite Pinball Machine
Trigon
With the new version 3 of shivaFlippers as part of the fpx series of tables, a lot of changes have happened to the dynamics of fp physics. The new variable coil feature is a absolute game changer, and with the improvements to the aiming system of the flippers, the removal of the timers and extra walls, the addition of a "fake" EOS system, and the ability of shivaFlippers to change from em style flippers all the way to Modern Stern flippers just by changing 2 settings, a lot of testing needs to be done just to fine tune everything.

Here's the brief feature list...
' * shivaFlippers v3 * ' The latest shivaFlippers has a major new update that now supports dynamic Omega by flipper swing, (variable coil) and has a couple set tricks programmed in. ' This depends on your hardware and reflexes ' Specialized code for the following ' - Presets are included (shivaFlippersPresetCase) for cabinet or desktop use. You can also easily add your own presets ' - Variable coil strength, which varies the strength of the flipper depending on the flipper angle ' * The amount of steps (or angles) are adjustable. Default set to 35. A lower number means stronger shots, a higher number means weaker shots ' * If you set the number too high, the ball will drag the flipper, like the very early em games ' * Changing LeftFlipperSwingAngleEnd and RightFlipperSwingAngleEnd can make flipper tap passes easier (Higher Number) or harder (Lower Number) ' - Tip/tap pass for flipper start angle and max angle ' - "loft" shots capable ' - Fake EOS to prevent high speed balls from a flick of a flipper fully up ' - Better tip speed omega, using variable coil that reduces the weak flipper effect ' - Top right flipper does not use the variable coil system. ' - Flippers have better bounce ' The new system can be adjusted to suit for the following... ' - Dynamic Angle setting steps to simulate (sort of) flippers from various eras ' - Helper setting, to force a minOmega for the first few angles of the flipper. Only use if your keyboard is really crappy ' New 1 wall method, with 2 triggers instead of timers ' Contact Point Omega readjusted for new system. Tips and base shots adjusted for certain situations like the flick, and better aiming.
The first test cycle is underway, with the initial set of code. This was to get a basic reaction to the new flippers, and already, have had a couple people mention just how different fp flippers now play. Because the testers are scattered all over the place and use different forums and FB groups, this is a central place for them to go to so hopefully, everything I need to know what to do is in one place.

There have already been some code changes to this system, so this thread will update those people on the changes and what they are meant to do.

First before I start listing the new changes, I just want to talk about the remaining "big thing" that really needs to be solved to make shivaFlippers really comparable to vpx. With the existing system, there is a flaw in FP with the omega when the ball sits on a flipper. The lower the omega (below 12), the more slowly the flipper will swing when a ball is at or close to the tip. A very low omega will cause a very noticeable drag of the flipper that quite frankly annoys the crap out of me. VPX does not do this, but then FP is obviously missing some key physics and the inability to change something to prevent that drag from happening has done nothing but frustrate me.

These new changes are sort of workarounds, as I try and trick FP into doing what I want it to do, but it also means new code. I'm trying to make it as part of the prehit section, so you don't need to understand anything to use shivaFlippers, it's just copy and paste.

As mentioned, I removed all the timers, 4 walls, and now just use large triggers with hit code for them to handle the walls and also to tell the script what to do to prevent the drag. They were labeled as optional in the first test, but now they are necessary and must be included.

Here's the changes made for today
' *** Version 1 *** ' Re-added bounce and no bounce code, as walls use to handle the bounce control, but no longer. fpxSetBounce in User Adjustments controls this. ' Added code to switch off bounce at a low speed ball as well. ' 2 separate codes depending on ball speed. This helps the ball being more smoother down the flipper lane, prevents the ball from bouncing when the ball is cradled, BUT ' Because of the angle of the flipper, FP has weird bounces, so maybe one day I can fix that.... ' AddfpxBounce rewritten and has new values now. Was way too bouncing before. ' Skillshot drop targets now have a random time assigned to it, so you need better timing to make a skillshot ' Drop target constraining system reshaped and improved a bit. ' Flipper walls reshaped a bit more, better ball interaction and bounce at tips. ' FP has a problem with omega. if the omega is too low, it can cause the flipper to drag if a ball is on it. as far as I know, there is no solution, so the best I can do at the moment ' is to try and make it happen as few times as possible. ' The three triggers are no longer optional, and HAVE to be included! ' shivaMinOmega is now set to 19,shivaFlippersTipWeakOmegaMultiplier set to 3 ' shivaFlippersTipWeakOmegaMultiplier added into the third center trigger code. This boosts the omega if the ball is between the flippers and one of the tips hits the ball. ' prehit - new code to help with the script recognize if the ball is between the flippers (strengthen the omega at the tips) or at the flipper. The code handles if the ball is below a certain speed (for a flick) or above a certain speed so the shots are a bit stronger to reduce the flipper lag
Hopefully for Monday, a new test version will be available, once I get some input on the flippers from the people I sent it to. By then, I hope that all of the main coding is finished and I can add some more testers who are coders to check my code.
 
This is the base variable code I use for shivaFlippers, starting at the top...

shivaMinOmega=19
Omega used by shivaflippers. separate from base dynamicflippers Omega code and is scriptable. There is no MaxOmega used for shivaflippers
shivaFlippersPresetCase=3
Presets for different variable coil settings. 0=off, 1 or 2 for cabs, 4 or 5 for keyboards. 3=happy medium.
shivaFlippersTipWeakOmegaMultiplier=3
sometimes the tips are too weak when a slow ball is between the flippers, so this helps make them a bit stronger.
LeftFlipperSwingAngleEnd=32 : RightFlipperSwingAngleEnd= 32
Max amount of dynamic steps for omegas to reach MaxOmega. This is how many flipper angles you want to be used for the variable coil system till it reaches it's maximum omega. A lower number means less steps, so it's tougher to loft shots while a higher number means it's easier (EM like). Modern sterns (best guess) is around 15-20, wpc around 25.

The following is OPTIONAL helper code for slow keyboards. This overrides the variable coil for set initial flipper angles to make a flick "easier" (not better though, this was my debug code but decided to just leave it in)

Const UseHelperEasierFlick = 0

The rest of these are in the presets. you only need to adjust these if you want to make your own custom preset

fpxshivaCustomPhysics=1
Must be 1 to use shivaFlippers. 0 switches off the entire shivaFlipper system and you revert to stock BAM dynamicFlippers
LeftForceFlickForTheseFirstAngles = 8 : RightForceFlickForTheseFirstAngles = 8
Sets max angle degree of initial flipper swing using forced min omega for the flick.
SetFlickMaxBallSpeed= 100
'sets max ball speed for a forced flick. variable coil routine takes over if above.
SetFlipperControlPointForFlick = .95
set the starting control point on flipper for flick to be active. Higher number closer to tip, lower closer to base (settings can be .1 to 1.3)
LeftFlipperEOSAngle=5 : RightFlipperEOSAngle=5
set last angles for when the flipper is up for EOS. The flipper omega gets weaker the last 5 angles of a flipper swing
LeftFlipperMinimumOmega = 9 : RightFlipperMinimumOmega = 9
Sets forced min Omega. Helps prevents the flipper "dragging" when ball on it.

This is a preset sample. Case 6 has a copy, but has far more and very complete descriptions for preset making.
case 3 fpxshivaCustomPhysics=1 ' Must be 1 to use shivaFlippers LeftForceFlickForTheseFirstAngles = 8 : RightForceFlickForTheseFirstAngles = 8 ' Sets max angle degree of initial flipper swing using forced min omega for the flick. SetFlickMaxBallSpeed= 100 ' sets max ball speed for a forced flick. variable coil routine takes over if above. SetFlipperControlPointForFlick = .95 ' set the starting control point on flipper for flick to be active. Higher number closer to tip, lower closer to base (settings can be .1 to 1.3) LeftFlipperEOSAngle=5 : RightFlipperEOSAngle=5 ' set angle for flipper up for EOS FlipWallRight.Collidable=TRUE : FlipWallLeft.Collidable=TRUE ' Helper wall is active LeftFlipperSwingAngleEnd=32 : RightFlipperSwingAngleEnd= 32 ' Max amount of dynamic steps for omegas to reach MaxOmega LeftFlipperMinimumOmega = 9 : RightFlipperMinimumOmega = 9 ' Sets forced min Omega. Helps prevents the flipper "dragging" when ball on it
 
Last edited:
Some of the feedback I've seen from the Facebook groups I'm in about the RC2 table...


"This is playing really well, huge improvement for sure"

"omg, i can actually consistently make shots now... This truly is the future..."

"Very nice table.... in few times i will post a video in action...."

"I am playing on VR with a pinsim. Masterpiece."

"A step in the right direction for the physics. Be interesting to see where it goes from here. Tables design and lighting is fantastic"

"Tested Yesterday Lightning is Amazing"

"Played it today , like it good job"
 
Cool. Makes me happy to hear. Always uptight every time I do something so new and revolutionary and never sure how it would be received. Thanks Terry, if there's any issues sure you will let me know. I'm a bit worried about replacing the timers and the walls with 3 triggers, had a big bug show up years ago with triggers, so hopefully this new crack at it fixes that.
 
RC3 is now being sent to test. Just a small group this time, wanted fresh eyes for this one. managed to improve the flippers a bit more, less problems with flipper drag.
Hopefully, a release is coming real soon. I'm pretty happy with what I have so I may add a couple new things to mix things up a bit (evil laugh)

here's the list for those that have played the first test version.

'Readded bounce and no bounce code, as walls use to handle the bounce control, but no longer. fpxSetBounce in User Adjustments controls this.
Added code to switch off bounce at a low speed ball as well.
2 seperate codes depending on ball speed. This helps the ball being more smoother down the flipper lane, prevents the ball from bouncing when the ball is cradled, BUT
Because of the angle of the flipper, FP has weird bounces, so maybe one day I can fix that....
AddfpxBounce has new values now. Was way too bouncing before.
Skillshot drop targets now have a random time assigned to it, so you need better timing to make a skillshot
Drop target constraining system reshaped and improved a bit.
Flipper walls reshaped a bit more, better ball interaction and bounce at tips.
Top flipper (RightFlipper2) now has variable coil.
Omega values adjusted to better prevent hitting the center targets and to make far left Inline targets better.
A-B-C Lanes now closed off a bit more so harder to make now from a bumper kick below. Ball exit from these lanes are more random
FP has a problem with omega. if the omega is too low, it can cause the flipper to drag if a ball is on it. as far as I know, there is no solution, so the best I can do at the moment is to try and make it happen as few times as possible.
HAD to add one more trigger and hit code (StopFlipperSlowdown) to prevent the flipper slowdown effect if the ball is coming from the slings. There's code as well in the prehit sections to reduce the drag, so the flippers perform better most of the time. The Opto trigger is at the two bottom posts of the slingshots.
The FOUR triggers are no longer optional, and HAVE to be included!
shivaMinOmega is now set to 19,shivaFlippersTipWeakOmegaMultiplier set to 3
shivaFlippersTipWeakOmegaMultiplier added into the third center trigger code. This boosts the omega if the ball is between the flippers and one of the tips hits the ball.
Shaped Physics improved.
Lane A and B now causes more bounces from the bumpers instead of a single bounce and ball out
Fixed issue where ball bounces between the base of the top flipper and the top wall
Tighten up area around bumpers so the ball is in play there a bit more
Adjusted bumper forces so it's not so nuclear powered as before
A and N small targets now bounce off with less force and reangled to be a bit more realistic
Opened up Jungle Girl Kicker lane so bit easier to hit
Set JG kicker Right to a lower force, and adjusted the wall so ball now lays flat for top flipper shot instead of bouncing around (&#*%ing FP sometimes)
NOTE: if you use a fp.exe different than Bams exe, and kicker2 is too weak, increase the Strength by one in the editor
Opened up Spinner Lane, made the spinner spin more and adjusted flipper omega for a better easier shot
increased TimerPF slightly. added code to prevent a slow ball from hanging with a drop at the bottom right bumper with a skillshot
Replaced objects and wasted more objects because they looked better.
 
RC3 is now being sent to test. Just a small group this time, wanted fresh eyes for this one. managed to improve the flippers a bit more, less problems with flipper drag.
Hopefully, a release is coming real soon. I'm pretty happy with what I have so I may add a couple new things to mix things up a bit (evil laugh)

here's the list for those that have played the first test version.

'Readded bounce and no bounce code, as walls use to handle the bounce control, but no longer. fpxSetBounce in User Adjustments controls this.
Added code to switch off bounce at a low speed ball as well.
2 seperate codes depending on ball speed. This helps the ball being more smoother down the flipper lane, prevents the ball from bouncing when the ball is cradled, BUT
Because of the angle of the flipper, FP has weird bounces, so maybe one day I can fix that....
AddfpxBounce has new values now. Was way too bouncing before.
Skillshot drop targets now have a random time assigned to it, so you need better timing to make a skillshot
Drop target constraining system reshaped and improved a bit.
Flipper walls reshaped a bit more, better ball interaction and bounce at tips.
Top flipper (RightFlipper2) now has variable coil.
Omega values adjusted to better prevent hitting the center targets and to make far left Inline targets better.
A-B-C Lanes now closed off a bit more so harder to make now from a bumper kick below. Ball exit from these lanes are more random
FP has a problem with omega. if the omega is too low, it can cause the flipper to drag if a ball is on it. as far as I know, there is no solution, so the best I can do at the moment is to try and make it happen as few times as possible.
HAD to add one more trigger and hit code (StopFlipperSlowdown) to prevent the flipper slowdown effect if the ball is coming from the slings. There's code as well in the prehit sections to reduce the drag, so the flippers perform better most of the time. The Opto trigger is at the two bottom posts of the slingshots.
The FOUR triggers are no longer optional, and HAVE to be included!
shivaMinOmega is now set to 19,shivaFlippersTipWeakOmegaMultiplier set to 3
shivaFlippersTipWeakOmegaMultiplier added into the third center trigger code. This boosts the omega if the ball is between the flippers and one of the tips hits the ball.
Shaped Physics improved.
Lane A and B now causes more bounces from the bumpers instead of a single bounce and ball out
Fixed issue where ball bounces between the base of the top flipper and the top wall
Tighten up area around bumpers so the ball is in play there a bit more
Adjusted bumper forces so it's not so nuclear powered as before
A and N small targets now bounce off with less force and reangled to be a bit more realistic
Opened up Jungle Girl Kicker lane so bit easier to hit
Set JG kicker Right to a lower force, and adjusted the wall so ball now lays flat for top flipper shot instead of bouncing around (&#*%ing FP sometimes)
NOTE: if you use a fp.exe different than Bams exe, and kicker2 is too weak, increase the Strength by one in the editor
Opened up Spinner Lane, made the spinner spin more and adjusted flipper omega for a better easier shot
increased TimerPF slightly. added code to prevent a slow ball from hanging with a drop at the bottom right bumper with a skillshot
Replaced objects and wasted more objects because they looked better.
Very cool Shiva !
It great to see you delving so deeply into what BAM allows
 
It's not just bam. A bit of this is tricking fp as well into being able to do what you want it to do. a couple times, I exploit a bug to get around it. Getting a nice bag of tricks here now.
 
Yes, even on VPX... contrary to what many people may think.... VPX tables just don't magically play great on their own. VPX table authors have to go through their own hoops and tricks to get them to play good. This is always being improved.

What shiva has done is similar, only the FP version with it's own challenges that he had to overcome and as he said... his own bag of tricks.
 
VPX people forget that even after 20 years, they are still playing with the physics to try and get it better. I find the present physics with vpx are a bit "lifeless" and very generic from table to table. Their flippers need more life to them, especially the classic em/ss tables which had a different feel to them, character would be a good description.
I'm just going to get this out very soon and play with it afterwards. It's tough to play this with a keyboard (though I found it a bit easier than vpx) to loft or flick the ball, but it is possible. I'm very happy with the response, especially from the vp community about this new system, but there's always room for improvement... Have a couple theorys at least on why FP does what it does (and very wrongly) and maybe a couple more tricks up my sleeve still to try and get around that.
 
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.
      Chat Bot Mibs Chat Bot Mibs: AnushDCosta is our newest member. Welcome!
      Back
      Top