Skip to content

Tron Legacy (Stern 2011)

Stern SAM build notable for documenting InitVpmFFlipsSAM FastFlips requirements, the ROM-bypass flipper alternative, real machine spotlight subtlety findings, and Skitso's GI overhaul methodology of stripping existing lighting to bare bones and rebuilding from scratch.

Build Story

Tron was a long-running build (2021-2022) led by sixtoe (physics/layout) and iaakki (inserts/lighting), with apophis79, astronasty, fleep1280, tomate80, bord1947, o0skitso0o, and .rawd contributing. The 24-scan playfield stitch by bord1947 revealed that Stern's original print resolution was approximately 100dpi (characteristic of their "dark days" era from LOTR through Iron Man).

Table-Specific Details

Mechanisms & Hardware

  • SAM FastFlips: Requires InitVpmFFlipsSAM in table_init -- UseSolenoids=2 alone does NOT work on SAM ROMs. Also requires the correct ROM (trn_174h). Duplicate fast flip code later in the script was overriding the correct implementation. See FastFlips guide.
  • ROM-bypass FastFlips alternative: When ROM-based fast flips fail, bypass the ROM entirely for flipper actuation. Fire the flipper directly from script on key press while still sending the command to the ROM. Must verify no other game actions are linked to flipper buttons.
  • Stern PRO vs LE lamp matrix differences: PRO and LE have completely different lamp matrices. "Shoot Again" is Light #3 on PRO but L26 on LE. Start button is #1 on PRO but #65 on LE. Always reference the correct manual section for your ROM/edition.

Art & Visuals

  • Spotlight subtlety: Real machine spotlights are far more subtle than VPX implementations -- confirmed via multiple gameplay videos: no visible light cones, no visible shadow casting, just very faint ambient illumination. For VPX, use soft ambient flashers rather than visible light cones. Visible spotlight effects should be an option, not default. See spotlight subtlety.
  • GI overhaul methodology (Skitso): Strip all existing GI lighting to bare bones, then rebuild from scratch with consistent light colors, intensity levels, and falloff values. Layered modifications from multiple contributors result in conflicting settings and ghost mods. See GI overhaul methodology.
  • Insert text PNG gray edge artifacts: Photoshop-saved PNGs produce gray edge artifacts in VPX. Re-save through GIMP or Paint Shop Pro to fix. Also halves file size. This is a Photoshop transparency encoding issue.
  • Blender plastic bevel: VPX-exported meshes have duplicate vertices preventing bevel from working. Fix: merge vertices by distance first in Blender edit mode. See ramp geometry cleanup.
  • Playfield scan: 24 individual flatbed scans stitched manually (no auto-stitch) at approximately 6K/150dpi. Plastics on 11x17 scanner without stitching.

Physics & Gameplay

  • Fill dead space with solid walls: Under plastics and behind metal guides, fill the space entirely with a single large wall rather than tracing individual boundaries. Prevents ball trapping far more effectively than individual collidable primitives.
  • Complex collidable primitives performance: Major performance cost is from complex collidable primitives (ramps, toys), not simple walls. Prefer VPX wall objects over making primitive meshes collidable. See collidable geometry.
  • Transparent elements consuming 50% frame time: VPX F11 stats showing high transparent element cost indicates too many overlapping transparent objects. See transparent elements performance.

Known Issues

  • VPX walls collidable in VR but not desktop: Non-collidable walls can become collidable in VR mode -- a VPX bug. Workaround: convert to primitive, adjust wall heights, or disable via script in VR.
  • Flipper nudge missing after Fleep integration: CheckLiveCatch calls must be present in flipper collide subs and key event handlers must be properly wired.

Techniques Developed Here

See Also