Jump to: navigation, search

Kickback

Revision as of 20:22, 25 January 2015 by S1500 (talk | contribs) (Created page with "'''Summary''' The kickback feature in a pinball machine allows the player to continue where they would have otherwise drained out the left outlane. A solenoid fires(not unlik...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Summary

The kickback feature in a pinball machine allows the player to continue where they would have otherwise drained out the left outlane. A solenoid fires(not unlike an auto-plunger) against the ball, which quickly shoots it up the outlane and back into the playfield. For many games, this is enabled as part of the ball save and given to the player as a reward during normal play.

Examples: Star Trek: The Next Generation

Hardware

The only unique part of this feature is the solenoid that's mounted in the apron area. A lane blade(?) will need to be mounted for the ball to properly shoot upward and towards the left.

You will want 1 light(possibly dedicated) mounted above the left outlane to indicate to the player kickback is active.

Resources

1. A sound or callout indicating to the player that kickback is enabled.

2. A sound or calllout when kickback is invoked.

Software

The action of the kickback is simply pulsing the solenoid. What is critical is getting the timing correct where it doesn't fire too soon or too late where the ball will be missed. Some timing adjustments will need to be done to find the sweet spot where it will handle the most amount of ball velocity variations.

Some checks will need to be done to ensure that the ball is out of the outlane area. You might want to make it "hot" for a specified period of time to give an additonal kickback to ensure the ball is out.

 // variables
 // kickback_enabled = (on/off)  
 // scope: ball session
 def enable_kickback()
     ballsess.kickback_enabled = on
     lights.kb = flashy
     play.sound("kickback is on!")


// switch hit event for the left outlane
// determines if you drain or kick
 def leftoutlane_sw()
     if ballsess.kickback_enabled = on
           ( kickback_fire())
     else
             score.addpoints(50)
             sound.play("aww shucks")
 
 // fire the kickback
   def fire_kickback()
        sound.play("misspiggy hiyah!")
        coils.kickback.pulse()
       // insert any additional "keep hot" code here
       // okay, shut off the kickback
        disable_kickback()
 // shut off kb
 // also shut this off if you tilt
  def disable_kickback()
      ballsess.kickback_enabled = off
      lights.kb = off