Stargate (Gottlieb 1995)¶
Complete Gottlieb System 3 build from initial physics through full VLM toolkit rebuild. Rich in platform-specific knowledge, collidable mesh optimization, and detailed physics tuning methodology. Built by apophis79, sixtoe, tomate80, and mcarter78.
Build Story¶
Stargate served as the primary GTS3 platform reference for VPW, documenting significant differences from the WPC builds that dominate the project. The build went through a complete VLM toolkit rebuild with extensive physics calibration against real machine measurements.
Table-Specific Details¶
Mechanisms & Hardware¶
- GTS3 trough uses only 2 switches (outhole + ball release) rather than WPC-style individual ball position switches. The ROM counts balls by tracking enter/exit events. Do not implement WPC-style trough switch arrays.
- Gottlieb issued a service bulletin upgrading the flipper coil from A-25959 (3.85 ohm) to A-29876 (2.36 ohm). The lower-resistance coil produces noticeably more flipper power -- ask the real machine owner which coil is installed when tuning.
- Kicking target code (commonly copied from Haunted House) uses single ball references that break in multiball. Use
ActiveBallreferences instead of stored ball objects.
Art & Visuals¶
- HDRI environment texture selection: use indoor scenes, avoid bright visible point light sources, set strength low (~0.3), desaturate to prevent color tinting white plastics.
- White-baked GI lights enable scripted color flexibility: 2700K warm white for normal play, 5000K cool white for modes, or custom RGB for events. Baking with a specific color permanently embeds it in lightmaps.
- Art sideblade baking: set to "hide from others," position bake plane 1mm offset from surface, wood shell behind should be static.
- Sideblade texture resolution: minimum 4096 pixels for front-close areas. Split front/back sections if memory is a concern.
- Pure black (#000000) creates unnaturally flat appearance -- use slight grey values (#0A0A0A). The difference is subtle in screenshots but very noticeable in VR.
Physics & Gameplay¶
- Manual specifies 6-degree slope but real machines measured at 8-10 degrees depending on leg adjustment. Tuning to manual specification may produce gameplay that feels wrong.
- Physics tuning order: (1) Match ball roll speed from reference point against real machine video, (2) Tune flipper strength for shot difficulty, (3) Fine-tune ramp friction last.
- Slingshot wall heights must start at 0 -- height of 29.5 causes ball teleportation through slings.
- Collidable ramp separation: high-poly visual mesh (non-collidable) for appearance, simplified invisible mesh (collidable) for physics.
- Per-flasher brightness multipliers via VFlash collection opacity scaling: each flasher gets a 0.0-1.0 multiplier that preserves ROM fade behavior.
Known Issues¶
- Static rendering artifacts: non-static objects behind static parts show Windows desktop background. Add static blocker shell primitives behind static parts.
- Stereo WAV samples cause VPX 10.8.1 warnings -- convert all mechanical sounds to mono.
- Slingshot wall height starting at 29.5 instead of 0 causes balls to pass through or teleport.
Techniques Developed Here¶
- GTS3 trough implementation -- 2-switch pattern
- GTS3 flipper coil service bulletin reference documented
- HDRI selection guidelines established here
- Physics tuning methodology refined here
- Playfield slope user configuration via SlopeMin/SlopeMax
See Also¶
- Physics Tuning -- slope calibration, flipper strength by era
- 3D Art Pipeline -- HDRI selection, sideblade baking
- VBScript Patterns -- GTS3 trough patterns