Skip to content

Last Action Hero (Data East 1993)

Full build lifecycle (2023-2024) by apophis79 (scripting/lead) and tomate80 (Blender/toolkit) with sixtoe, niwak, flux5009, iaakki, clarkkent9917, and gedankekojote97. Notable for the crane mech lightmap fading between positions, transparent ramp dual-material technique in Blender Cycles, complete Data East flasher mapping from schematics, and the discovery that LED conversions ruin Data East lighting effects.

Build Story

Last Action Hero served as a testing ground for several toolkit workflow refinements. The crane mechanism that moves between left/mid/right positions required a novel lightmap approach -- rendering at all three positions but using only the mid-position bakemap with position-dependent lightmap switching. The build also produced a complete flasher mapping from Data East schematics (page 2 of the IPDB PDF), identifying relay-shifted solenoids and dual-function inserts.

Table-Specific Details

Mechanisms & Hardware

Crane mech lightmap fading: The crane moves between left/mid/right positions. Lightmaps are rendered at all three positions, but only the mid-position bakemap (base texture) is used. Left/right lightmaps are switched when the crane reaches extreme positions. niwak's opacity modulation feature made the fading implementation straightforward.

Crane cab flash light: The real LAH crane has a light inside the cab that flashes during movement. Since the light is very close to the pivot point, it can be rendered as static at the top of the pole rather than needing full movable animation.

Scoop VUK geometry: The original right VUK had a lip edge that sometimes slowed the ball but occasionally let it rocket out at full force when random angle variance missed the lip. sixtoe rebuilt it with simpler geometry and no catch lip for consistent ejection.

One-way gate in subway: Balls entering the Dynamite Feature scoop were bouncing sideways and triggering the Chicken scoop switch underneath. Fix: add a one-way gate in the subway (matching the real table) using RampSubway surface material.

Complete LAH flasher mapping (from DE schematics page 2): - f1/f7: backbox beacon (ignore) - f2/f2a/f2b: playfield inserts under left ramp - f3: blue dome top left - f3a: red dome upper left plastics - f4: red dome upper right - f4a: playfield flasher top right - f5/f5a: above pop bumpers - f6/f6a/f6b: center middle playfield inserts - f6c: flasher behind VUK - f8/f8a: upper mid left playfield flashers - f9: inside crane cab x2

Art & Visuals

Transparent ramp dual-material technique: Material 1: glossy transparency with a grain of white diffuse, applied to flat areas (bottom, sidewalls, top surface). Material 2: glass material with refraction and a grain of white diffuse, applied to bevel edges and the ramp perimeter. The ramp is split into sections to avoid transparency overlap issues.

Transparent bounce count: Cycles transparent max bounces must be increased to 16-32 for clean plastic shadows. Lower values produce cloudy/dirty shadows through transparent parts. This was the key setting difference between LAH and Iron Man ramp render quality.

Toolkit render resolution: The toolkit render ratio and Blender's main render percentage are multiplicative: 50% toolkit + 50% Blender = 25% of base resolution. This caught tomate80 off guard initially.

LED conversions ruin DE lighting: sixtoe watched 10+ LED conversion videos and called them "genuinely awful." GI becomes as bright as flashers, and the characteristic dome pulse (half power then full power) does not work with LEDs. The virtual table targets incandescent behavior, not LED.

Physics & Gameplay

Kicker force variation tuning: Too much scoop ejection randomness causes uncontrollable SDTM drains; too little makes the game boring. LAH went through several iterations before settling on values that give "great variation" while rarely causing unavoidable drains. Compare with PAPA tournament videos for reference.

Launch button keyup requirement: The ball launch button required assigning a 0 state on keyup or it would remain "pressed" after the first activation and never trigger again.

Known Issues

NoExp subdivision bloat: A single screw with subdivision modifier left on caused the Blender file to balloon from 250MB to 1.25GB.

Timer placement on VLM.Visual layer: Timers placed on the VLM.Visual layer get deleted when a new toolkit batch is imported. Always place timers on the Main Layout layer.

Flasher AOI radius bug: When a flasher's calculated area of influence radius exceeds the distance to the camera, projected coordinates end up behind the camera, resulting in zero AOI. flux5009's fix: clamp the AOI to (1,1) so it covers the entire camera view.

Techniques Developed Here

See Also

  • Jurassic Park -- parallel Data East build with shared physics reference values
  • Lethal Weapon 3 -- Data East table with similar dual-function insert challenges
  • Hook -- earlier Data East build establishing flasher discovery methods