Skip to content

Jurassic Park (Data East 1993)

Full build lifecycle (2023-2025) led by tomate80 (Blender) and apophis79 (scripting) with sixtoe, rothbauerw, niwak, flux5009, iaakki, gedankekojote97, clarkkent9917, and primetime5k. The T-Rex mech was the single most difficult element, requiring dozens of revisions across physics, animation origins, script timing, and pivot points. Also notable for the Tony McMapface/AGX tonemapper color temperature work and the unofficial 6.00 mod ROM integration.

Build Story

Jurassic Park's build was marked by the T-Rex mech complexity -- sixtoe warned early that the T-Rex toy is "very sensitive and prone to going wrong if you mess with the settings." This proved true throughout, requiring careful pivot point alignment between Blender and VPX, separate head/jaw/collar primitives with different pivot points, and eventual conversion to the Tween animation method for smoother movement.

Table-Specific Details

Mechanisms & Hardware

T-Rex animation: The head, jaw, and plastic collar all need their default position facing "straight down table" (like setting up a target). ObjRotZ of 13 degrees is needed for proper bending animation. For lightmap animation, x/y/z and objrotx/objroty/objrotz must be copied from the parent bakemap to each lightmap primitive every frame. The Tween method eventually replaced the original frame-by-frame approach for smoother movement.

T-Rex UseVPMModSol=2 issue: The T-Rex mech exhibited erratic behavior (bobbing up and down, not releasing the ball) with UseVPMModSol=2. The fix involved adjusting speed and tolerances in the motor simulation code rather than disabling ModSol entirely.

Gate pivot point trick: When a gate has a bracket that sticks out (preventing balls from resting in a nook), place the pivot point at the leading edge rather than the physical mounting point. This makes the gate's collision area extend properly without trapping balls.

Flipper coils: JP uses different coils for upper and lower flippers. Lower: 25-1800 (13.8 ohms). Upper right: 23-900 (3.8 ohms -- higher resistance but more turns means high torque / lower power).

Inlane lamps are GI: JP inlane lamps are connected to GI wiring (yellow and white-yellow wires), not individually controlled inserts. Confirmed against wiring diagrams and real machine photos.

Art & Visuals

High-res playfield scan: clarkkent9917 produced a corrected 600dpi scan (553MB) with sub-1mm tolerance, comparing a single-pass CRUSE scan against a stitched version for accuracy verification.

Amber resin effect: For the JP amber (mosquito in resin), placing a black plane with the mosquito shape inside the resin block geometry and letting the refraction material do the work produces better results than a normal map approach. The "JP" letters should be modeled rather than relying on a normal map.

Tonemapper color temperature: With Tony McMapface (and later AGX), the physically correct 2700K bulb temperature works correctly for GI. Filmic required overriding to 3000-3200K to avoid excessive yellow. niwak confirmed 2700K is the target when the pipeline is set up correctly.

Blueprint renders for layout verification: sixtoe recommended creating toolkit blueprint renders -- top-down views showing wall positions. Best practice: make two blueprints (upper layer and lower layer) because ramps hide walls and objects underneath.

Physics & Gameplay

Data East physics reference: apophis79 shared Last Action Hero reference values (developed in parallel with JP at Data East): slope 6 to 6.5, flipper strength 2700, playfield friction 0.23. JP started at slope 6.5 and friction 0.25.

nFozzy pslope naming conflict: The original JP script defined pslope to control the T-Rex ball floating animation. nFozzy also defines pslope, causing a naming conflict that killed the script. Required renaming or reorganizing variable usage.

KickBall variable release: When using a kickball function with a ball variable, the variable must be released after kicking. Unreleased variables cause ball floating and stuck animations during ball search or unexpected solenoid firing. Check if there is a ball assigned to the variable rather than checking switch status.

Known Issues

Unofficial 6.00 ROM: The unofficial ROM (jupk_600) from pinballcode.com adds random mode starts and more balanced scoring. Parent ROM jupk_513 must also be present. Hold the plunger button while starting to skip T-Rex diagnostics. Players upgrading should delete nvram and start fresh.

VPinMAME difficulty out-of-range: Some players reported no balls launching -- caused by VPinMAME's difficulty level being outside the 0-100 range (showing values like 300 or 500). Fixed by updating VPinMAME to 3.6 or manually setting difficulty via F12 menu.

Techniques Developed Here

See Also

  • Last Action Hero -- parallel Data East build with shared physics reference values
  • Lethal Weapon 3 -- another Data East table from the same era
  • Hook -- Data East flasher solenoid mapping techniques