Creature from the Black Lagoon¶
VPW premium rebuild of the 1992 Williams WPC classic, featuring VPX 10.8 cutting-edge rendering, dynamic shadows, refracting ramps, and complete Blender Toolkit implementation.
Build Notes¶
Playfield Alignment Strategy¶
When working with scanned playfields, choose between "Lite" (warp scan to match VPX objects) vs "Premium" (realign all objects to accurate scan). Sixtoe noted realigning doesn't take long generally - the real time sink is splitting merged metal fittings. Premium path justification: fixes inadvertent physics problems like "why does the ball drain from X shot."
Starting with Clark Kent's properly scaled playfield scan at 5120px resolution was critical. The original VPX table used an incorrectly scaled base, causing distortion issues. Key insight: Always start with a properly scaled, scanned playfield rather than trying to warp photos to match an incorrectly scaled base.
When a new scan doesn't match VPX alignment, get playfield measurements from real machine owner. Calle measured 51.2cm width = 20.157" vs expected 20.50" = 52.07cm.
VPX 10.8 Implementation (2022)¶
Sixtoe and Niwak did secret background rebuild for VPX 10.8 with revolutionary features:
- VPX 10.8 build 662+ required (x64 only, x86 deprecated)
- Dynamic shadows with new shadow system (see shadows on walls)
- Refracting ramps using preliminary refraction implementation
- Blender Toolkit-native 3D insert trays (fully implemented, saves tons of time)
- In-game menu for options
- Lampz/VPX support toggle
Released as v009 Christmas 2022, showcasing 10.8 capabilities but also exposed many transparency rendering challenges with self-overlapping geometry.
Requirements: Minimum 4GB VRAM, x64 build required. Wylte reported 15fps with AA/CAS on GTX 1650 (4GB VRAM), playable at lower settings.
WPC GI Dimming Fix¶
Niwak discovered and fixed broken WPC GI management in PinMAME. PinMAME was not correctly handling GI dimming needed for tables like Twilight Zone and CFTBL.
Fix implemented: https://github.com/vpinball/pinmame/pull/85
Also discovered PinMAME driver created 'virtual lights' 91-94 for chase light board outputs. Combined with GI dimming fix, allows perfect emulation: lights wired between GI outputs and chase light board. Update integrated into official VPinMame builds.
Insert Implementation¶
For CFTBL insert implementation, need TWO assets:
- 4K playfield with insert holes cut out
- 4K overlay layer with text/imagery that overlaps the plastic part of insert
For inserts with text, cut the letters in half - half stays on playfield, half that overlaps the insert plastic goes onto consolidated overlay file. Essential for tables like CFTBL and NBAF which have complex partial prints on top of inserts.
3D & Art¶
Lighting Improvements (Skitso)¶
Skitso spent weeks improving GI lighting technique to retain signature contrast and mood without making table too dark overall. Implemented newest lighting methods with improved dynamics and hotspots.
Updates included: GI lighting redone, flashers redone, inserts redone, some PF texture cleanup. Used his lighting methods that create strong contrast while maintaining visibility. Released Skitso mod 1.0 for community testing.
Ramp Material and Visibility¶
Ramps too transparent - hard to see. Solutions attempted:
- Add grey background layer at various opacities to bakemap renders (tested 5%, 8%, 20%)
- Adjust refraction tint parameter (darkening makes things more visible but hacky)
- Adjust alpha channel of bake in blender material
8% grey opacity background worked well - made ramps visible without looking weird. Niwak's note: Adjusting transparency still "annoying and long thing to get right."
Blender Import Scale Settings¶
Tomate80's blender import scale setting: 10 (done automatically in his workflow).
Troubleshooting¶
Dynamic Shadows on Flippers Issue¶
Ball shadow appears to show through flippers, making them look transparent. Actually caused by GI light bouncing off apron and back onto underside of flipper. Raytraced ball shadow algorithm doesn't know which side of flipper the light is on, so it blindly cuts out parts of the lightmap in shadow's path.
Solutions considered: 1. Cut off mesh on back side of flippers before exporting 2. Modify apron to not reflect light on non-visible back side 3. Accept as minor artifact
Team chose to accept as minor artifact rather than rebake/rework.
Ramp Height and Stuck Ball Issues¶
Two consecutive stuck ball issues with ramps required fixes:
- Ball stuck on middle ramp - adjusted ramp profile, made high point the middle (not before) to prevent catching
- Ball stuck on right ramp - found two endpoints at different heights causing catch
Additional fix: Manually flattened all playfield level vertices to Z=0 (some were ±0.001), manually triangulated vertex edges so ball doesn't sit on top while cradled.
Playfield Mesh and Ball Physics¶
Redid playfield mesh with three specific fixes:
- Merged by distance (too many polys, possibly export issue)
- Manually set all playfield level vertices to exactly Z=0 (some had tiny offsets like ±0.001)
- Manually triangulated and set vertex edges so ball doesn't sit on top of edges while cradled
Result: Fixed stuck ball on right flipper issue. Small vertex offsets can cause unexpected physics behavior.
Game Knowledge¶
Snack Bar Post Configuration¶
Real CFTBL has tapered rubber sleeve on post next to snack bar scoop - makes shot much harder than VPX default. Replaced standard sleeve with larger tapered sleeve matching restoration photo reference.
Photo evidence: https://discord.com/channels/720894335817875497/750009317536694393/1375096660933038080
Niwak confirmed from machine he plays: "this tapered rubber is really there" and shot difficulty "moves from very hard to nearly impossible depending on each machine."
Bumper Lights Configuration¶
CFTBL bumpers don't have lights from factory - common mod to add them. Team implemented F12 option:
- Off (Factory): No bumper cap lights
- On (Mod): Bumper cap lights connected to GI U
Implementation: Added light l142d to drive bumper cap lightmaps, controlled via F12 menu variable, integrated with GIUpdates sub.
Resources¶
Clark Kent's MEGA Repository¶
Clark Kent maintains extensive MEGA repositories with scanned playfields, plastics, and decals:
- https://mega.nz/folder/z4BkCahC#UasZe4dRp6FQI_jI8Tk57g (43.45 GB, 2576 files)
- https://mega.nz/folder/gh9lAAYL#hIpOXqu8cNU_kYlD0C8kOw (27.25 GB, 1726 files)
CFTBL scanned playfield: https://www.dropbox.com/s/xra2rng28fikz5l/CFTBL%20Playfield%20Scan%205120.png
VR Backglass Lighting¶
Apophis implemented animated VR backglass lighting by mapping backglass layout and using flasher objects for each light (no B2S dependency). Discovered solenoids 33-36 control backglass flashers by viewing all solenoid output during attract sequence.
Niwak updated PinMAME to add complete PWM support for upper flipper Fliptronic outputs (solenoids 33-36). Previously worked via backward compatibility mode; with complete emulation stack: proper PWM fading and bulb emulation.
Version History¶
Key versions: - v009: Christmas 2022 release, revolutionary VPX 10.8 showcase - v023-v030: Multiple rounds of fixes (ramp heights, shadows, materials) - v1.2: Final release after all issues resolved
Release pattern: Incremental fixes with version numbers, clear changelog comments, distributed testing across team.