Skip to content

Scared Stiff (Bally/Williams 1996)

Full WPC toolkit build from layout to release with practical insights on dual-coil solenoids, PinMAME flipper PWM, and Blender movable object exports. Notable as the only WPC table with a flasher wired to a flipper output. Built by sixtoe, apophis79, and tomate80.

Build Story

The Scared Stiff manual mixes prototype and production model information, causing significant confusion during development. Key differences: production removed skull LED board (just 2 flashers behind skull bank + crate eyes LEDs), prototype ROM (SS_01) drives the LED board but production (SS_15) does not, Sol 20 "playfield bolts" was used for aux board on prototype, kickback on sol 2 in prototype became a gate loop in production, Sol 25 is loop gate in prototype but bone flasher in production.

Table-Specific Details

Mechanisms & Hardware

  • Dual-coil solenoid (crate lock): one high-power coil pulls the load, one lower-power hold coil maintains position. For VPX, only the hold coil callback matters: Sub CratePostHold(enabled): Crate_Pin.Collidable = Not Enabled: End Sub
  • Only WPC table with a flasher wired to a flipper solenoid output (bottom flashers on outputs 35/36). These appeared as binary on/off until niwak added PWM support for Fliptronics/flipper outputs in PinMAME.
  • Crate door bounce-back: ball bouncing off wall behind door slams it shut. Fix: add wall with high friction and zero elasticity behind the door. Only animate door on hit if not already animating.

Art & Visuals

  • Plastics must be PNG with alpha channel -- JPG kills transmission even if the material has transmission settings. Simply renaming JPG to PNG is insufficient.
  • Toolkit nestmap export grays out if ANY object has nestmap value of -1 (no geometry). The cadaver object (flat plane with inverted normals) blocked the entire process.
  • Sideblades and other objects render incorrectly if Blender transformations are not applied. Apply All Transformations, then fix normals.
  • Subsurface scattering vs transmission for rubbery/soft plastic objects (boogie men): SSS gives more opaque plastic appearance with subtle light diffusion, while transmission makes objects look gel-like.
  • For movable objects: "Use Obj Pos" must be ticked for non-Z rotation, and the local Z axis pointing non-perpendicular to playfield can cause export errors.

Known Issues

  • VPX primitives are NOT collidable while actively being moved/animated via script.
  • Animation timers using -1 interval produce different speeds at different frame rates. Multiply animation increments by a frame-rate-dependent factor.
  • VUK z-height threshold can fail if velocity is reduced -- ball may not reach threshold height. Add margin and Y-position failsafe.

Techniques Developed Here

See Also