Tutorial FP Dealing with Vari Targets in FP

Future Pinball

Wecoc

Pinball Wizard
Joined
Dec 7, 2021
Messages
65
Reaction score
102
Points
40
Favorite Pinball Machine
Cirqus Voltaire
Future Pinball has a model called the Vari Target. If you've ever experimented a bit with it, I'm sure you realized this object is more limited than others.

Vari Targets are a useful object since they have a movable collision box that recedes based on how the ball collides with it, therefore has a unique behavior.
That being said, these problems make it pretty unusable:
- If you try loading more models, you can't change it since it only "reads" the default one
- You can't place it over surfaces/playfields
- It has a bug: when retrieved using SolenoidPulse, the Hit event is called.
- The interaction with the ball may not be very realistic.

Solving the default Vari Target problems​

- If you try loading more models, you can't change it since it only "reads" the default one
Here's the catch: The FP Editor, for some reason, can only read a Vari Target FPM when it's called exactly Target-Vari-T1 on the Models list. That means you can only have one type of Vari Target model in your table, but it doesn't have to be the default one.

- Export the default Vari Target model
- Change its properties (model, collision...) with FPM-Editor.exe and save it with another name
- Import the new Vari Target
- Delete the default Vari Target and name the new one Target-Vari-T1

IMG_0647.jpg

Swapping vari target models, you could make the "variable push target" from Ripley's Believe It or Not

- You can't place it over surfaces/playfields
On BAM, you can fix this with a Mini-Playfield. Place the Vari-Target outside the table and make a Mini-Playfield that moves it wherever you want.

Code:
' This function is the same used for Zipper Flippers!
Function CreateMiniPlayfield(ByRef item, Z, H)
   Dim X, Y : X = item.X : Y = item.Y : Const e = 0.2
   Dim MP : Set MP = xBAM.CreateMiniPlayfield(X-e, X+e, Y-e, Y+e, Z-e, Z+H+e, X, Y, Z)
   MP.MoveTo X, Y, Z, 0, 0, 0, 1, 0
   Set CreateMiniPlayfield = MP
End Function

Dim VariTargetMiniPlayfield
Set VariTargetMiniPlayfield = CreateMiniPlayfield(VariTarget, 0, 32)
VariTargetMiniPlayfield.PhysicsMove = True
VariTargetMiniPlayfield.Position.X = 425
VariTargetMiniPlayfield.Position.Y = 128
VariTargetMiniPlayfield.Position.Z = 32

- It has a bug: when retrieved using SolenoidPulse, the Hit event is called.
This is the easiest one to fix. When resetting the Vari Target, activate a Timer only enabled while the SolenoidPulse is active. On the Hit event, you can use this.

Code:
Sub VariTarget1_Hit()
  If (VariTarget1Timer.Enabled = True) Then Exit Sub
  ' Here do whatever happens when you hit the Vari Target
End Sub

- The interaction with the ball may not be very realistic.
Again, BAM can save the day with this one. The XML files include a row for Vari Targets.

Making other types of Vari Targets​

You can change your default Vari Target model to an Invisible model, which only preserves the collision and a hidden box, so you can place it on the Editor.
Then, you can imitate it with a Toy, that either rotates or moves back. This Toy changes its rotation/position based on the current fpEventID of the invisible Vari Target. Optionally, you can use BAM to read the ball's speed and make the Toy's speed more accurate based on that.

varitarget-meme.png

I made a Demo that contains new types of Vari Target using this concept, see at the end of this post.
varitargets.png


badcats.png

With this you can also make the Williams version of the Vari Targets like this one seen in Bad Cats. My demo includes one.

Finally, you may get to a point where you want something that goes back similarly, but you can't use a Vari Target for it. Maybe it's something that goes back in an angle, or maybe the maximum of 10 steps offered by Vari Targets is just not enough. For those cases, a more complex BAM code can make the trick. You can use either triggers or targets, make a Mini-Playfield with them (similar as before), and when the target is hit, read the Ball Speed and move/rotate the Mini-Playfield according to that. In other words, you can get a Vari Target effect without Vari Targets by cleverly moving the collision boxes, in a similar way that Zipper Flippers work.

action-chicago.png

You can make the rotational "Power Targets", like in Chicago's pinball Action. My demo includes one.

I hope this post is useful and makes you feel a bit more love for those poor Vari Targets, the weird cousin of the Leaf Targets we all adore :lol:
 

Attachments

  • VariTargetsDemo.fpt
    288.5 KB · Views: 11
Last edited:
General chit-chat
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: Flipper Hermann has left the room.
      Back
      Top