Kickback
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