- 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...
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
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.
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.