TRON¶
One of the most extensively documented VPW projects, tracking TRON from an initial nFozzy physics "lite release" through a full rebuild with Bord's playfield scan, VPX 1.0 release, and early VPE planning. The project benefited from multiple real machine owners (G5K, CalleVesterdahl) providing reference photos, measurements, and gameplay comparison. TRON's combination of a passionate fanbase, rare LE variant, and complex mechanisms (spinning disc, moving recognizer, drop poles) made it a flagship development effort.
Build Guide¶
nFozzy Physics Implementation¶
Initial physics update workflow (fluffhead35, sixtoe, iaakki): fluffhead35 added the nFozzy framework, targetbouncer logic, second rubberizer function, coil rampup, and Fleep sounds. Sixtoe handled table-side work converting rubbers to walls and primitives on layer 9, filling holes, realigning objects. This is the standard division of labor for lite releases.
Rubber Primitive/Wall Conversion¶
Standard process (sixtoe): make original rubbers non-collidable, create physics objects (walls/primitives) on layer 9. For TRON, rubber work was copied from Iron Man (same Stern era). Nearly everything collidable moved to layer 9, with visible objects remaining on layer 1. Non-visible metal walls made solid to block off areas where the ball could jump.
Filling Dead Space¶
If there's invisible dead space behind a wall, fill it in solid (sixtoe). Make single walls cover large areas. Can make walls as high as needed without obstructing ramps. For visible walls, model properly; for invisible barriers, just fill the space. Example: entire top and left side of TRON as one wall.
Insert Primitive Setup¶
Sixtoe laid insert primitives, iaakki implemented the Lampz system for lighting. All lights/flashers moved to NF Lampz. GI redone. Insert primitives use specific textures from flupper's library (checking TFTC/Radical/example table). Some inserts need special handling (TRON letter inserts, Skitso-style inserts for special graphics).
Slingshot Plastic Redesign¶
TRON sling plastics were the wrong shape at the top (sixtoe, tomate). After finding the correct shape, sixtoe rebuilt them. UV map had to be edited by hand point by point in Blender. For beveled edges: select upper edges, Ctrl+B, but first merge vertices (M) to remove duplicates and transform to quads. Tomate's alternate method: apply bevel modifier to entire plastic, separate lower face for texture, then remove lower bevel.
Playfield Artwork Cutouts¶
PF cutout workflow (astronasty): cut insert holes larger than the black edge (2-3 pixels) to avoid jaggies. Use layer masks for non-destructive editing. Cut text/graphics to a separate "insert text" layer, cut actual holes in main PF. Save in PSP after Photoshop to fix edge issues and reduce file size.
Recognizer Insert Construction¶
The large recognizer insert consists of 3 rectangular red inserts (body + 2 legs) with orange artwork printed on the playfield (sixtoe, phreezie, g5k). LE version has wood cutouts for the three inserts. Pro version is sticker/decal lit from below. Small recognizer (below big one) is just a playfield cutout under artwork.
Geometry Alignment¶
Overlay of old VPX geometry vs the Bord scan showed massive skew (bord, sixtoe, iaakki). The old version, based on a photo stitch, had severe perspective distortion. The new scan enabled proper real-world measurements. Gem shot, left ramp, and center area were all significantly different in corrected geometry. Plan: create an aligned VPX base model as reference for VPE.
Spinner Implementation¶
Spinners generated by cvpmTurntable from trigger (sixtoe, rothbauerw). Spin speed is adjustable, friction less clear. Rothbauerw (Whirlwind) never needed to adjust friction -- got desired behavior with spin speed alone. Ball becomes "pretty lethal" after tuning.
Flipper Strength Tuning¶
Top flipper shot to Quorra requires passing a standup target and sleeve (iaakki, astronasty). Flipper strength affects achievable angle -- faster actuation = higher hit = better angle to clear obstacles. Testing showed lower flip strength works better. Eventually reduced from 3200 to 2900. Shot must start from lower portion of flip.
Flynn Scoop Kicker¶
Scoop was firing the ball too hard, bouncing up and hitting Zuse target when the flipper was held (astronasty, sixtoe). Also difficult to control generally. Kicker strength needs tuning to match real machine behavior. The Flynn's Arcade kicker was separately tuned -- changed from 198 to 200 strength (apophis79, iaakki) to prevent easy catching off the right flipper.
Ramp End Bounce¶
TRON ramp ends should make the ball bounce back up, especially the left ramp (astronasty, sixtoe). Real machine video shows the ball bouncing quarter-way back up. Added rubber stoppers to ramp ends. Adjusted elasticity and position to match reference. Material properties matter as much as stopper placement.
Metal Playfield Plates¶
Metal plates at ramp entrances were invisible/misaligned (tomate, astronasty). Right ramp beginning was raised from the playfield. Fixed metal plate positioning and visibility. Right ramp had a wood cutout visible on the real machine that needed representation. Adjusted ramp shape to match blueprint.
Bumper Cap Lights¶
TRON bumpers have small LEDs in center of caps visible in IPDB photos (hauntfreaks, lumigado). Initially appeared as "black holes" in VPX -- lights existed but weren't rendering due to incorrect positioning and scale. HauntFreaks fixed positioning.
Playfield Yellow Lane Addition¶
Added yellow top lanes to the playfield to match the real machine (astronasty). Old version had all black. The new Bord scan made this much easier to do accurately.
GI Lighting Organization¶
Split lighting into clearer sections for easier adjustment (sixtoe). Hooked acrylics to GI so they fade with lighting. Made solid prims disable light from below. Tweaked GI on left inlane to better match right side and reduce sling plastic blowout.
Flipper Color Options¶
White flippers set as default to match real machines (astronasty, g5k). Can be switched in script. Aftermarket LE kits existed allowing custom colors but stock is the practical default.
VR Wall Collision Bug¶
Certain walls (wall007, wall008) caused ball stuck in VR but not desktop (sixtoe, uncle_paulie95, callev). VPX treats them as collidable in VR only. Fix: change bottom height from 48 to 50. No proper solution until VPE.
3D Backglass for VR¶
Joel (leojreimroc) created a 3D backglass for the TRON VR room using layered elements with depth (leojreimroc, rawd). VR room includes animated buttons, plunger, intro music/sounds. 3D effect very effective in VR. Replaced old Pincab_Backglass primitive with flasher-based system.
VR Cabinet Updates¶
V1.1.3 additions (retro27, apophis79): VR auto-select, cabinet rework, flasher aprons options, price/info cards, custom speaker decal, topper options. VR auto-select requires changing variable name and default value plus adding VRRoom check in table init. Animated flipper buttons initially conflicted with staged flipper code.
Drop Target Bank Control¶
TRON T-bank (3-target recognizer bank) controlled by solenoid #6 -- a motor trigger pulse, not hold (iaakki). Position detected by switches #52 (down) and #53 (up). Motor runs until position switch triggers. Code sets switch #53 state to zero multiple times during movement. "Hairy" mechs can get state confused, especially if ROM events come weird.
Disc Spin Mechanics¶
TRON disc is a frictioned surface metal spinning disc (sixtoe, phreezie). The game has: rotating disc, moving recognizer (LE), VUK, and 2 drop poles. Disc sits level with playfield. Significant mechanism for gameplay.
Instruction Cards¶
Updated/upgraded instruction cards available, including Spanish and German language versions (carny_priest).
Spotlight Implementation¶
The spotlight journey went through multiple iterations (wylte, iaakki, hauntfreaks). Initially implemented with dynamic ball shadows and visible light cones, but after video reference of the real machine, visible cones were removed. Real TRON spotlights are very subtle, aimed high, providing ambient light rather than hard spots. No visible light beams or strong shadows -- just gentle center-playfield illumination.
Reference Photo Collection¶
G5K offered photos from his real machine (Pro with many mods). CalleVesterdahl provided extensive reference: overhead shots, flipper positions, target placement, sling details, disc position, recognizer inserts. Many TRONs are heavily modded, making "stock" reference harder to find.
Scripting¶
Fast Flips on SAM¶
Fast flips issue on TRON was caused by duplicate fast flips code in the table script overriding the latest VPX scripts implementation (iaakki). Fix: comment out the old functions at end of script to use core VPX fast flips. Required InitVpmFFlipsSAM in table_init and ROM trn_174h. Response dropped from 5-15ms to <2ms.
Bypassing ROM for Instant Flips¶
Alternative method (apophis79): send flipper command to ROM but don't wait for response -- fire solenoid callback directly from script instead. Used in Defender. Still sends command to ROM for proper game state but eliminates the round-trip delay.
Targetbouncer¶
Implemented as option 2 with adjustable multiplier (iaakki). Default 0.9, tested up to 1.3. Later refined to only affect hard hits when ball bounces toward flippers (improvement by fluffhead).
Lampz Integration¶
Converted entire TRON table to NF Lampz (iaakki). Provides better fading and control than the default system. Note: lamp fading wasn't terminated properly per lamp initially, affecting performance. GI lights need to be contoured around insert holes to prevent bleed.
Staged Flippers¶
Added as last script option in v1.1.3 (primetime5k). Requires double-leaf switches and second binding for each flipper. SW-1A-192 light-duty gold contacts recommended (not tungsten). TRON was "PITA to get working" -- needed specific solenoid research from the manual. Upper left flipper activates on "A" keypress when option enabled.
PWM Support¶
Added PWM support to v1.14 after PinMame fix (niwak). Table uses PWM for feedback effects, especially very fast flashing during mode progress. PWM provides more accurate lighting behavior for modern Stern tables.
LUT Changer¶
TRON is a good candidate for a LUT changer since it has no magna save / second buttons (sixtoe). Allows users to change color grading dynamically.
Flipper Physics Options¶
FlipperCoilRampupMode with values 1 and 2 (iaakki, fluffhead). Mode 2 didn't feel good, mode 1 set as default. Also adjustable SOSRampup for tap passes. Physics tuning is iterative.
Cabinet Mode¶
Improved cabinet mode settings for proper display scaling and visibility (iaakki). Desktop vs cabinet require different POV, light levels, and sometimes different options.
3D & Art¶
Playfield Scan¶
Bord acquired a Pro playfield for scanning, creating a 24-scan stitch at 150dpi (~6k resolution) with all plastics scanned at 11x17 (bord). Provided a Blender file with playfield mesh, plywood cutouts, and all plastic meshes positioned in X/Y. Scan quality vastly superior to existing stitched photos. LE playfields essentially don't exist (rare/expensive).
Playfield Print Quality¶
TRON's playfield was printed at ~100dpi during Stern's "dark days" (bord, sixtoe). Art uses movie promotional material that exists in higher resolution online, but the team decided to stay authentic to the real machine rather than recreate from source material. LOTR through Iron Man era all have similar quality issues.
Disc Insert Textures¶
TRON disc inserts are blue lights with disc artwork overlay (sixtoe, astronasty). Found original art from official TRON wallpaper. Created cutout sticker that sits on a clear flat blue insert -- cutout bits are lit by the lamp through the playfield. Made inner circle transparent. Each disc rotated to correct position at full-res then scaled down.
Ramp Textures and Materials¶
Updated plastic ramp primitives with new textures (tomate, callev, sixtoe). DisableLighting (DL) setting controls how "metallic" ramps appear. User adjustable: higher DL = more metallic, lower = more plastic-looking.
Slingshot Plastic Color Correction¶
New sling plastic renders were washed out (sixtoe, astronasty). Needed color balance for vibrancy to match inlane plastic colors. Astronasty did color correction plus sharpening filter. Important that plastics match each other tonally even if individual pieces are new.
Playfield Art Authenticity¶
Debate over fan-art redraw vs authentic scan (terryred, astronasty, sixtoe). SLAM's TRON PF redraw looked better but wasn't authentic. Team consensus: stay authentic to the scan. Tempting to update using promotional material but would lose authenticity. Better to have pixel-perfect real machine than enhanced fan version.
VPE¶
Playfield Preparation¶
VPE playfield requires 4 mask types (phreezie, astronasty, ebislit):
- Wood mask for playfield mesh
- Ink mask for material
- Decal mask for transparent decal material
- Normal map mask for holes not in mesh
Phreezie did masks in Illustrator (vector, resolution-independent, exportable to Blender). Normal map adds significant depth even with a static VPX camera.
Mesh Requirements¶
VPE prefers watertight meshes (closed wherever possible) vs one-sided hulls (phreezie, bord). Modern engines handle triangles better, and watertight helps lighting. Triangle count is not a concern -- prioritize proper lighting over poly count.
Physics Development Workflow¶
VPE physics workflow: create a working VPX base model (geometry only, no art polish) as direct reference since few have real machine access (phreezie, sixtoe, iaakki). Bugs expected in VPE physics -- part of improving the workflow. Team willing to start TRON as VPE project after functional asset browser is implemented.
Playfield Cutout Workflow¶
Team did insert cutouts in Photoshop for VPX (astronasty, ebislit, phreezie). When project shifted to VPE, Phreezie redid in Illustrator with a different approach (vector masks for wood, ink, decal, normal). Different requirements between platforms.
Troubleshooting¶
Multiball Shadow Crash¶
Dynamic ball shadows crashed during multiball with null error at line 2709 -- an UpdateMaterial call (sixtoe, astronasty, apophis79). Spotlight shadow materials were numbered wrong. Two balls in the spotlight area simultaneously triggered the error. Fix: corrected material numbering in shadow code.
Insert Transparency Jaggies¶
Jaggies around inserts on 4K displays (iaakki, astronasty, apophis79). PF holes need to be 2-3 pixels larger than the black edge. Alpha mask transparency causing edge artifacts. Fix: expand holes, save through PSP (not Photoshop) to fix edge blending.
Arcade Flasher Brightness (v1.14)¶
After the v1.14 PWM update, Flynn's Arcade kicker flasher became nearly invisible when it should flash (chokeee, bhitney). Light positioned correctly but flash effect lost. Works properly in v1.13. Needs code fix for flasher intensity/timing with PWM.
Overbright Screen (VPM 906)¶
Famous overbright screen issue ("you're now on the grid") with VPM 906 and VPX RC2 (jarr3, passion4pins, apophis79). Fixed in VPM 908.
Ramp Lights Not Working¶
Ramp lights not working for one user across multiple table versions (davedoesdabs). Persisted over a year. Troubleshooting steps:
- Update VPinMame
- Extract scripts folder from fresh VPX
- Delete config/nvram/registry
- Re-download ROM
- Disable external DMD/Serum
- Avoid color ROMs (Stern color ROMs are hacks and can break things)
Start Button Not Working¶
Table adds credits but #1 key won't start game (judremy). ROM shows checksum error. Fixes to try: use key 4 for credits instead of 5, upgrade to latest VPinMame, rename nvram, delete registry hive, delete cache. Eventually resolved after VPX update.
Digital Nudge Sensitivity¶
Early TRON versions had overly strong digital nudge and insensitive tilt (pinstratsdan, sixtoe). Noted in competition play. Physics and tilt sensitivity should be tuned to match real machine behavior.
VR Room Floor Misalignment¶
White and black stripes in VR room don't line up (geradg). Visual polish issue, not gameplay-affecting.
Insert/Playfield Bleed¶
Some bleed visible between inserts and playfield (geradg). Less visible than on other tables (Spider-Man had much worse). Lighting or mask edge issue.
Playfield Scan File Format¶
TRON table has a PSD image disguised as PNG (g5kscratchedmorelight.png) (somatika). File is actually "Adobe Photoshop Image, 512x512, RGBA." Should be actual PNG for compatibility and size.
Game Knowledge¶
Shot Difficulty¶
The Gem (Quorra) shot is extremely difficult on the real machine (iaakki, sixtoe, g5k). A PAPA instructor said he's never seen anyone complete portal mode properly because no one can hit Gem reliably. The shot is a ~50-110mm wide ramp entrance past targets. This is intentional challenge, not a VPX error. Shot made possible in VPX by adjusting sleeve heights and flip strength.
Real Machine Playability¶
Real TRON plays harder than the VPW version (astronasty, sixtoe, thalamus). Quorra shot notably harder. Left outlane much deadlier. Scoop kickout very strong and hard to control. Getting to Sea of Simulation on every game "isn't right" -- harder is more accurate.
Portal Mode¶
Portal mode's main failure point is the gem shot (sixtoe, ebislit). Sea of Simulation is also challenging. Proper difficulty balance means these modes are special achievements, not routine.
Machine Variants¶
TRON has 4 editions: Pro, LE, 3rd Edition, 4th Edition -- all slightly different. Pro has regular inserts; LE has silver surrounds and cutout recognizer with inserts underneath. LE also has fiber optic ramps. Gen 1 Pro has non-moving recognizer and orange DMD. LE currently commands $15k-$25k with only 400 units produced.
Hardware Reference¶
LED vs Incandescent¶
LEDs use 20% power, less heat, longer life, but can look wrong (callev, terryred, borgdog, sixtoe). Key: use warm white (not cool/cold white) for vintage look. TRON benefits from LEDs given its modern theme. GI refresh rate and dimming are hardest to get right with LEDs. Gold contacts recommended over tungsten switches.
Neon Ramp Mod¶
Aftermarket neon ramp mod (no longer available) uses a complex control board with fiber optic ramps (callev, terryred, lumigado). Only LE has optic ramps stock. Side neon is just blue LEDs in plastic tube, 220V powered, independent of the machine.
Flynn's Arcade OLED Mod¶
New Flynn's Arcade mod with OLED screen, joystick, and full controls (callev). Displays video content. Significantly upgraded from stock arcade toy.
Recognizer Movement Mod¶
Recognizer movement is LE-only, not standard Pro (g5k, callev, sixtoe). kimballspinballs.com created an aftermarket mod. Movement adds visual interest but isn't stock Pro behavior.
Drain/Plunger Lane Lighting¶
Simple mod: battery-powered LED strips in drain and plunger lane (callev). Provides helpful visibility without electrical modifications. Works across multiple machines.
Resources¶
Sound Recording¶
TRON was available for real machine sound recording (fleep, callev). No modern Stern table mech sounds existed yet at the time. Static 50/60Hz hum can be filtered out. Process: record with game sound disabled, send samples to Fleep for quality check.
Best Practices¶
Sound Source Routing¶
VR intro sounds should route to backglass speakers, not table exciters (rawd, thalamus). Fix: set VR intro sounds to "Toggle BG Out" in sound manager. Non-table sounds (music, callouts) should always route to backglass. SSF users are vocal about this because exciters muffle music/callouts.
Version Control¶
TRON's version chaos demonstrates the need for explicit handoffs (multiple contributors). Binary VPX files make merging impossible -- must be sequential. Best practice: call out when checking out the table, upload immediately when done, wait for confirmation before starting.
Changelog Documentation¶
Format: '0.XX - Author - Description of changes. Detailed changelogs are critical when 30 versions are created in 2 weeks. Helps track what changed when things break.
Release Timing¶
TRON was supposed to be a "lite release" (2 weeks max, quick gameplay update). Became a much larger project after nFozzy was added (astronasty, sixtoe). Pattern: everything expands after a physics update. Team needs to balance perfectionism vs shipping.
When to Rebuild vs Patch¶
Multiple instances of "whole table being redone soon, don't want to spend time on it" (sixtoe, iaakki, tomate). Decision to pause work when better assets are coming prevents wasted effort on a doomed foundation.
Testing Feedback Loop¶
Build, post for testing, collect feedback from real machine owners, adjust (astronasty, g5k, callev, pinstratsdan). G5K's feedback was critical for visual quality, CalleVesterdahl for measurements, PinStratsDan for gameplay feel. Iterative refinement based on multiple perspectives.
Collaboration Across Time Zones¶
Team spread across time zones (sixtoe, iaakki, astronasty). Explicit handoffs critical: "OK, all yours now" / "I'm uploading" / "anyone messing with this today?" Requires patience waiting for the right person to wake up.