Shockman
appropriate at this time
- Joined
- Oct 26, 2004
- Messages
- 3,199
- Solutions
- 5
- Reaction score
- 121
- Points
- 90
- Favorite Pinball Machine
- Star Trek
This example is a result of a discussion Noah Fentz, 'Oz and I had over at VPF.
I have seen examples of better nudging in the current builds of VP, but I think this is the simplest way.
I pointed out that side nudges are kind of silly for a typical and predictable nudge, and 'Oz pointed out that VP nudging is side to side meaning you would have to be nudging the side of a table, and mentioned that he uses diagonal nudges, which immediately made sense to me. Noah pointed out that the dynamics are different up top than they are on the bottom, which makes sense too. I think that would be true as VP nudges now, and his example is correct for that type of nudging.
It then occurred to me that the proper motion that is now missing in VP would be better created by changing the force to a negative number to simulate the motion of the table returning to position. Because if you want to change the vector, you could easily apply the opposite force, without figuring out the opposite direction.
It is true that nudging has a different result if the ball is loose or against another object, but uses the same physics.
With all the work done on nudge settings, this here may already be in use, but again, to touch on a touchy subject (for an unknown reason) the biggest problem with nudging is that it is implemented in the script not as well as it could be. For one, the motion is too side to side. For another, it does not have the return motion so you can actually 'drive' the ball in unrealistic ways, in my opinion and experience.
If keycode = LeftTiltKey Then
Nudge 120, 1.3
NudgeTimerLeft.Enabled=True
End If
If keycode = RightTiltKey Then
Nudge 240, 1.3
NudgeTimerRight.Enabled=True
End If
If keycode = CenterTiltKey Then
Nudge 180, 1
NudgeTimerCenter.Enabled=True
End If
End Sub
Sub NudgeTimerLeft_Timer()
Nudge 120, -1.3
NudgeTimerLeft.Enabled=False
End Sub
Sub NudgeTimerRight_Timer()
Nudge 240, -1.3
NudgeTimerRight.Enabled=False
End Sub
Sub NudgeTimerCenter_Timer()
Nudge 180, -1
NudgeTimerCenter.Enabled=False
End Sub
This has the advantage of adding a little diagonal motion to the nudge simulating the more common corner, but on the front of the machine nudging. It also adds the effect of the table returning to center, counteracting the motion of the nudge.
It's not perfect. The nudge is kind of strong, I like that, others don't, but if set lower the table movement does not work. (I'll see what I can do about that).
To make a long story even longer, another problem is what I mentioned before about the reaction being different if the ball is free or against something and that is that if it is on something, a small, hardly noticeable, real, but exaggerated, delay will exist. The physics seem fine though, as does the ball in free space.
Anyway I put some work into this so I would like to share it. Submit it for approval if you will. It's certainly better than the existing scripting in regard to desktop, digital, keyboard control, and I think it is as good as I could come up with as far as limited to scripting. I don't know what effect it would have on analog nudging hardware, but being limited to a keystroke, I don't foresee any compatibility issue.
I created a path so you could easily test this with linear motion. Used a shallow slope to slow it down, and give it a good test by trying to nudge from flipper to flipper too. It's got the power to do that, and it shows the diagonal movement you would expect from nudging a corner.
One of the biggest changes here is a complete 180 on the center nudge which I think is correct.
Of course the timers and every number used are adjustable, so you may want to play with them.
I have seen examples of better nudging in the current builds of VP, but I think this is the simplest way.
I pointed out that side nudges are kind of silly for a typical and predictable nudge, and 'Oz pointed out that VP nudging is side to side meaning you would have to be nudging the side of a table, and mentioned that he uses diagonal nudges, which immediately made sense to me. Noah pointed out that the dynamics are different up top than they are on the bottom, which makes sense too. I think that would be true as VP nudges now, and his example is correct for that type of nudging.
It then occurred to me that the proper motion that is now missing in VP would be better created by changing the force to a negative number to simulate the motion of the table returning to position. Because if you want to change the vector, you could easily apply the opposite force, without figuring out the opposite direction.
It is true that nudging has a different result if the ball is loose or against another object, but uses the same physics.
With all the work done on nudge settings, this here may already be in use, but again, to touch on a touchy subject (for an unknown reason) the biggest problem with nudging is that it is implemented in the script not as well as it could be. For one, the motion is too side to side. For another, it does not have the return motion so you can actually 'drive' the ball in unrealistic ways, in my opinion and experience.
If keycode = LeftTiltKey Then
Nudge 120, 1.3
NudgeTimerLeft.Enabled=True
End If
If keycode = RightTiltKey Then
Nudge 240, 1.3
NudgeTimerRight.Enabled=True
End If
If keycode = CenterTiltKey Then
Nudge 180, 1
NudgeTimerCenter.Enabled=True
End If
End Sub
Sub NudgeTimerLeft_Timer()
Nudge 120, -1.3
NudgeTimerLeft.Enabled=False
End Sub
Sub NudgeTimerRight_Timer()
Nudge 240, -1.3
NudgeTimerRight.Enabled=False
End Sub
Sub NudgeTimerCenter_Timer()
Nudge 180, -1
NudgeTimerCenter.Enabled=False
End Sub
This has the advantage of adding a little diagonal motion to the nudge simulating the more common corner, but on the front of the machine nudging. It also adds the effect of the table returning to center, counteracting the motion of the nudge.
It's not perfect. The nudge is kind of strong, I like that, others don't, but if set lower the table movement does not work. (I'll see what I can do about that).
To make a long story even longer, another problem is what I mentioned before about the reaction being different if the ball is free or against something and that is that if it is on something, a small, hardly noticeable, real, but exaggerated, delay will exist. The physics seem fine though, as does the ball in free space.
Anyway I put some work into this so I would like to share it. Submit it for approval if you will. It's certainly better than the existing scripting in regard to desktop, digital, keyboard control, and I think it is as good as I could come up with as far as limited to scripting. I don't know what effect it would have on analog nudging hardware, but being limited to a keystroke, I don't foresee any compatibility issue.
I created a path so you could easily test this with linear motion. Used a shallow slope to slow it down, and give it a good test by trying to nudge from flipper to flipper too. It's got the power to do that, and it shows the diagonal movement you would expect from nudging a corner.
One of the biggest changes here is a complete 180 on the center nudge which I think is correct.
Of course the timers and every number used are adjustable, so you may want to play with them.
Attachments
Last edited: