Skip to content

Space Station (Williams 1987)

System 11 toolkit build with novel two-layer insert rendering technique and dual-color GI relay switching. Notable for red insert hotspot research and ball color tinting methodology. Built by tomate80, sixtoe, iaakki, and bhitney.

Table-Specific Details

Mechanisms & Hardware

  • Dual GI circuits (white and green) controlled by a relay that switches between them. During multiball, green GI activates for dramatic color transition. Bake separate GI lightmap sets and toggle via solenoid callback. AC select relay sound only for actual relay solenoid (not for MOSFET-driven flashers which are silent).
  • Slingshots angled at ~45 degrees (unusual), causing balls to bounce much higher than normal.
  • Top saucer rejects easily on hard shots due to a spring-loaded metal plate behind it.
  • Ball search ejects docked/locked balls since dock switches are only in entry paths.
  • Game does not disable flippers between balls/players (common System 11 behavior).
  • Single drop target in front of right ramp frequently causes airballs hitting the glass.
  • Plunger switch (Sw43) must be connected or ball search triggers prematurely.

Art & Visuals

  • Two-layer toolkit insert technique: (1) Bottom layer (underPF collection) is opaque with insert color baked in, (2) Top layer (layer0 collection) is non-opaque glass-like surface for reflections and depth. Top layer uses depth bias -1000 and a layer separator linked behind it. Use vlm.bake.active material rather than layer0 to avoid white artifacts.
  • Red inserts need non-zero green/blue channels for hotspot visibility. Use AgX tonemapper. In Blender materials, never set channels to exactly 0 or 1 -- even for red inserts, green and blue should be at least 0.1.
  • Colored transparent ramps: bake with clear material in Blender, apply color via VPX refraction color property. Legacy transparency blending only works for greyscale -- colored surfaces must use refraction probes.
  • Blender 4.5.5 exposure parameter for point lights: increases brightness without expanding area of influence, allowing localized lighting control.

Physics & Gameplay

  • Slingshot timer interval must be set BEFORE enabling the timer. Setting interval after TimerEnabled = 1 causes first tick at default interval (100ms) instead of intended (10ms).
  • Ball color tinting for GI: use distance-based color weight to fade tint near flippers, plunger lane, and on ramps where GI does not reach. Define separate cColor and cColor_Ball values (ball tint less saturated than GI color).

Known Issues

  • PinMAME S11 switched solenoids had a regression (late 2025) where they turned on but never off with PWM -- DOF safety hazard. Fixed in commit 62e6b34. VPM 3.6 release and 3.7-46 pre-release are confirmed safe.
  • Negative TiltSwitch values (like -7) cause the table to freeze on tilt with "music off" on DMD. Use the positive switch number from the switch matrix.

Techniques Developed Here

See Also