Austin Powers (Stern 2001)¶
Full VPW rework with extensive insert tuning, nFozzy physics, Fleep sound integration, and VR support. Built collaboratively by iaakki, sixtoe, benji084, rothbauerw, and daphishbowl over 4+ years (2020-2024). Served as a testbed for several physics innovations including live catch PC compensation, flipper nudge/fanning, and slacky flips.
Build Story¶
Development spanned from August 2020 through late 2024 with 32+ documented technical iterations. The build introduced or refined several physics techniques later adopted across VPW: PC-performance-compensated live catch, flipper nudge (flip fanning), and flipper slack simulation. Sixtoe handled ramp geometry and VR, iaakki drove insert lighting and physics scripting, rothbauerw contributed nFozzy code updates and sound integration, and benji084 provided 3D scanning (Mr. Bigglesworth via Qclone photogrammetry) and mesh workflow support.
Table-Specific Details¶
Mechanisms & Hardware¶
- Cannon/Dr. Evil motor: ROM-controlled mechanism with position drift after homing. Workaround uses a boolean
CannonStatusflag in the solenoid callback -- when the solenoid deactivates and the mechanism reports position > threshold, force park position (RotY=0). ROM sends erratic position values (0, then drifts to 12-40). - Cannon shadow: Quick duplicate-mesh technique -- slightly larger copy at Z=1 with dark semi-transparent material. Does not cast onto the flipper below.
- Parts reuse: Return lane guides from Frankenstein (shared Stern/Sega/Data East part 550-5037-01), cannon mechanism matches Walking Dead.
Art & Visuals¶
- Insert meshes use standard catalog "bullet inserts" from Pinball Life -- check existing VPW tables before modeling new ones.
- Ramp textures need separate VR and cabinet versions because pre-rendered transparency effects look different in VR.
- Ball drop sound triggers when
BOT(b).VelZ < -1andBOT(b).zbetween 27-55 VP units, withDropCount >= 5to prevent rapid retriggering.
Physics & Gameplay¶
- SOSRampup = 2.5 was chosen over 8.5: tap passes do not work at 2.5 but flipper shots (especially tip shots) are more reliable. At 8.5, tap passes work but flippers feel slow. Rothbauerw recommended 2.5 because VPX timer behavior does not adjust the rampup correctly at higher values.
- Right ramp friction was discovered at 0.8 ("velcro ramp") -- fixed to unified ~0.2 matching playfield.
- A barely perceptible speed bump in the collidable ramp profile caused inconsistent ball behavior -- the fix was "absolutely fractional."
- Ramp side hole added so balls without enough momentum fall out the side, matching real machine behavior.
Known Issues¶
- Full-screen flasher blooms (
flasherbloom) are performance-heavy -- 4 overlapping transparent flashers at once is a rendering problem, especially in VR.
Techniques Developed Here¶
- Insert mesh pivot at top surface was established here to keep Z position at 0
- Duplicate sub names silently override was discovered when two
LeftFlipper_Collidesubs broke nFozzy physics - Timer consolidation for VR performance -- rothbauerw sticks update logic into the ball rolling routine to avoid creating new timers
- Collidable primitives vs walls -- sixtoe documented why walls are better than collidable primitives for physics
- Qclone photogrammetry for Mr. Bigglesworth figurine was first documented here
- VR mode script switch pattern using playmode option (0=Desktop, 1=Cabinet, 2=VR) was implemented here
See Also¶
- Physics Tuning -- SOSRampup, ramp friction, collidable geometry
- VBScript Patterns -- SolCallback for motor control, ball tracking
- VR Development -- VR mode switching, timer consolidation
- Insert Lighting -- Playfield alpha blend breaking inserts