Skip to content

Twilight Zone

Physics tuning, VR rendering challenges, and VLM toolkit technical details for The Twilight Zone (Bally 1993).

Build Notes

VPX Version Requirements

Table requires VPX 10.7.2 latest prerelease. Version naming was confusing during development - "10.7.1-207" is actually 10.7.2. Active development period required specific builds shared through Google Drive.

Contributors: niwak, hauntfreaks, wylte

VR Backside Pruning for Performance

VR considerations for optimization:

  1. Requires VPVR that supports pruning
  2. Toggle "prune back parts" in toolkit - invisible in desktop but affects VR performance
  3. Handle texture edges for aliasing

Wire ramps missing backsides become visible from side angles in VR. Pruning back parts is a simple toolkit toggle for performance gains since those surfaces are invisible in desktop view. Impact on performance needs evaluation but requires stabilized VPX version.

Contributors: niwak, iaakki

Toolkit POV Baking in VR

POV baking from player perspective produces natural lighting in VR. Short VR testing showed good results despite minor missing parts (wire ramp backsides). Lighting quality was natural enough that minor geometry gaps weren't focal points.

Contributors: iaakki, rajojoey

Scripting

Mini Flipper Physics Tuning

Ball speed clocked at 32 mph (within 25-40 range) from mini flipper at 30fps video capture. Mini flipper strength currently about 45. Recommendations:

  • Reduce mini flipper strength to 1900-2000, or even 1800 (plays fine)
  • Reducing strength won't increase timing window for piano shot but will move it up the flipper
  • Upper right flipper problematic - reducing strength without angle correction makes camera and spiral shots even harder to hit

Contributors: manners7344, nFozzy

Target Physics Materials

Sleeve posts near ramps have overwritten physics materials (problem identified). Current target settings:

  • Current: 0.65 elasticity / 0.35 falloff - that's excessive falloff
  • Recommended: 0.5 elasticity / 0 falloff for targets (mined from Indiana Jones COR spreadsheet)

Pop bumpers and metal wall that rocket shoots into are "kinda dead" but more complicated to fix. Slings may also need adjustment. Game speed criticisms stem from objects absorbing all momentum, not flipper output speed.

Contributors: manners7344, rothbauerw

Slot Machine Kickout Challenge

Hardest tuning challenge is slot machine kickout. Requires finishing AC/DC work first to get velocity and angle reference from real machine. Kickout behavior is complex and requires dedicated tuning time with real machine data.

Contributor: manners7344

Clock Hand Animation Bug

Clock has animation assignment bug: hour and minute hands are swapped. Hour hand moves like minute hand should and vice versa. Simple fix - swap the animation assignments.

Contributor: lumigado

3D & Art

Cycles vs Octane for Glossy Reflection Baking

Cycles approach:

  • Defines view vector as normal vector
  • Does normal texture baking (rendering from face texture)
  • Cannot bake lighting in non-visible areas from POV
  • For traditional glossy reflection bake, use dedicated shader material node setup

Octane approach:

  • Allows 'hacky' view vector from camera, not face
  • Hack needed for baking glossy reflection
  • It's hacky because can lead to invalid view vector (why it's not activated in Blender mainline - exists in codebase without consensus)

Cycles cannot bake lighting in non-visible areas from POV - this is why some developers use Octane. Actual technique involves rendering from face texture, not from arbitrary camera angles.

Contributors: niwak, iaakki

Troubleshooting

VR Black Screen Issue with GL Shaders

VR Rendering Issue

TZ works in 2D (VPinballX-10.7.1-211) but shows black/super dark playfield in VR (VPinballX_GL-10.7.1-123).

Root cause: glshaders changes between versions. Testing showed every shader version worked until 110. Version 121 broke VR rendering (table went dark). Many changes in BasicShader.glfx and Material.fxh between versions.

Workaround: Use shader version 110 until VR rendering fixed.

Old 10.7 glshader directory from March allows seeing playfield but lighting is incorrect. Creator cannot test VR personally, making debugging challenging.

Contributors: rajojoey, niwak, uncle_paulie95

Resources

  • COR (Coefficient of Restitution) spreadsheet referenced for physics tuning
  • Indiana Jones table used as reference for target physics materials