Game of Thrones (VPW Original, Stern Style)¶
A comprehensive VPW original table built from scratch by skillman604, apophis79, tomate80, niwak, and others, recreating Stern's 2015 Game of Thrones without ROM emulation. Notable for advancing FlexDMD integration patterns, Lampz setup for non-ROM tables with RGB inserts, DOF safety standards, VBScript boolean gotchas, and Stern Node Board LED architecture documentation.
Build Story¶
One of the most complex original (non-ROM) tables in VPW, requiring extensive rule research since Stern's scoring rules are undocumented and arbitrary. Even disassembling Spike 1 machine code (possible because Stern left symbol tables in) was not enough to determine all scoring formulas, as awards are based on too many dynamic components.
Table-Specific Details¶
Mechanisms & Hardware¶
- Stern Node Board Architecture: Stern Spike-era tables use Node boards -- separate LED microprocessor controllers under the playfield with individual PWM for each R, G, B channel. Replicating this in VPX requires custom Lampz callbacks since the hardware provides arbitrary control over fade rates, colors, and effects per-insert.
- Sword mechanism and dragon wings: Moving parts exported as separate objects from Blender with rectified coordinate axes for independent script animation.
Art & Visuals¶
- VPX additive primitive settings for inserts documented by niwak: OFF primitive uses static rendering; ON primitive uses mid-gray material color (127,127,127) because VPX environment lighting multiplies color by 2 when lighting is disabled.
- Playfield insert edge quality fixed using alpha cut threshold adjustment and border overlay flashers.
Rules & Scoring¶
- Playfield multiplier max 5x (capped at 3x until swords collected)
- Lane multiplier 5x (6x during Hand of the King), also capped at 3x until swords
- Bonus multiplier capped at 20x
- Upper PF scoring is Premium/LE exclusive and a major scoring opportunity
- Iron Throne mode: 7 core castles, then "victory lap" random 3-shot castles until drain to single ball
- Score display font alignment drifts at billion-level digit boundaries without specific initialization code. Using the real game's fonts eliminates repositioning needs.
Scripting Patterns¶
- Lampz setup for non-ROM tables: Control lights (invisible, shrunk, white, kept at correct x/y for sequencers) drive visible insert primitives via
MassAssign. RGB color changes set on the additive primitive's.colorproperty, not the material. - FlexDMD setup: DMD images from ROM dumps (128x32x4-bit grayscale rasters) converted to BMP, assembled into animated GIFs via ImageMagick, loaded from
.FlexDMDdirectory. FlexDMD can crash withOutOfMemoryExceptionon 32-bit VPX; use 64-bit. - FlexDMD infinite loop prevention: Mystery mode and match scene both had infinite loop bugs from randomized search without bounds. Always add failsafes to randomized search loops.
- VBScript boolean gotcha: If a variable is
1(integer) instead ofTrue(boolean -1), thenNot variablereturns-2instead of0. Usecabinetmode = 0instead ofNot cabinetmode.
Known Issues¶
- DOF fire hazard: A GI-On DOF command left solenoids continuously energized, causing real hardware damage (burnt fuse/solenoid). The bug was GI code that sent
DOFOninstead ofDOFPulse. Only solenoid-related DOF outputs should useDOFPulse. - FlexDMD not appearing in desktop mode: check
FlexDMDUI.exefor green checkmarks, checkDmdDevice.ini[virtualdmd]section, verify correct install folder. - FlexDMD in VR: any flasher with "Use DMD script" checked projects DMD content; multiple instances cannot display simultaneously.
Techniques Developed Here¶
- DOF safety standards --
DOFPulsefor solenoids,DOFOnonly for flippers/lights/RGB - Lampz for non-ROM original tables with RGB primitive inserts
- Tilt bob implementation for original tables -- MechanicalTilt keycode, 2-warning Stern behavior, 1000ms debounce
- nFozzy bumper reference settings: Force 9.5-10.5, Hit Threshold 1.6-2, Scatter Angle 2
- VPReg.stg persistent settings documentation
- DOTK v0.09 as the recommended DOF development tool (not v0.10)
See Also¶
- Hardware & Cabinet -- DOF safety, tilt handling
- Software Setup -- FlexDMD, DOF configuration
- VBScript Patterns -- Lampz, boolean gotchas, FlexDMD
- Game Rules & Mechanics -- scoring, multi-player state