Visual Pinball

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Visual Pinball
Visual Pinball X logo.png
Downscaled from 4K Screenshot VPX10.6 TOTAN.jpg
Visual Pinball X (10.6, 2019) rendition of Williams' Tales of the Arabian Nights (1996)
Developer(s)Initially Randy Davis, continued by various Open Source contributors
Initial releaseDecember 19, 2000; 21 years ago (2000-12-19)
Stable release
10.7 / 24 December 2021; 7 months ago (2021-12-24)
Operating systemMicrosoft Windows
LicenseFreeware for non-commercial use with source code available (the original MAME license)

Visual Pinball is a freeware and source available video game engine for pinball tables and similar games such as pachinko machines. The software is composed of an editor and the simulator part itself. It runs on Microsoft Windows. The program is also able to operate with Visual PinMAME, an emulator for ROM images from real pinball machines.

A huge variety of user-created Visual Pinball tables are available on the internet. Players can choose between faithful recreations of existing pinball machines with or without ROM emulation and original pinball simulations based on licensed themes or completely self-designed tables. Visual Pinball's scripting capabilities can also be used to create pinball-like games (such as pitch-and-bat baseball, pinball bingo, bowling, cue sports, and pachinko).

Visual Pinball can be used to play the simulations on a common desktop PC and monitor, but also allows for cabinet support, including different monitors and TVs (to display the playfield and backbox similar to a real pinball machine, including the option to use 3D televisions), giving the illusion of playing real pinball. Newer versions also added touch controls, making it possible to play on tablet computers and smartphones.

In February 2010, the source code of Visual Pinball was released under a license that allows free use for non-commercial purposes.[1]


Every Visual Pinball table includes two main parts: the "physical" playfield design and the script which controls the table gameplay directly, or establishes the wiring of the emulation (through Visual PinMAME) to the simulated table components, such as lamps, switches and the flippers. The editor uses Microsoft VBScript for user programming. The program itself is written in C++ with the Active Template Library for making ActiveX controls.[2] Visual Pinball is based on DirectX and thus can run on Windows 98 (or newer), although its newest incarnations require at least Windows XP due to modern Microsoft compilers abandoning older OS versions.


Visual Pinball was first released to the public on December 19, 2000, by programmer Randy Davis.

In 2005, David R. Foley purchased the rights from Davis for modification of the suite for a full-sized pinball cabinet based on the Visual Pinball software.[3] Chicago Gaming purchased rights for licensed tables from Williams Electronics. The Visual PinMAME team and the Visual Pinball development community also joined in the effort to produce improvements to the suite product and a few tables. This project, known as UltraPin, was acquired by Global VR following the acquisition of certain assets UltraCade,[4] and was discontinued in 2008.

In 2008, NanoTech Entertainment acquired the rights from Davis for the use & distribution of the engine for inclusion with its Pinball Wizard PC Controller. NanoTech also released version 9 of the engine back to the community, featuring many updates that had been developed between 2005 and 2008. Version 9 of Visual Pinball includes some major improvements, but no full backward compatibility, therefore some older tables still need version 8 to run properly.

In 2010, the source code of Visual Pinball 9.0.7 was released under a license that allows free use for non-commercial purposes like the original MAME license.[1] Davis and NanoTech are no longer involved in development since (at least) version 9.0.8. Since then development is solely driven by various open-source contributors.

Visual Pinball X (referred to as VPX) was released on December 24, 2015, again breaking backward compatibility with version 9 (as tables can only be loaded, but not played directly without changes). However, it carried significant graphical improvements, as well as improvements to the program's physics engine. Current efforts include the VPVR branch [5] which adds support for dynamic virtual camera movement, including Virtual reality headset support.

Visual PinMAME[edit]

Visual PinMAME
Screenshot VPM 3.2 Monster Bash.png
Visual PinMAME rendition of Williams' Monster Bash (1998) DMD
Developer(s)Initially Steve Ellenoff, Tom Haukap, Martin Adrian, Gerrit Volkenborn, continued by various Open Source contributors
Initial releaseApril 1, 1999; 23 years ago (1999-04-01)
Stable release
3.4 / 24 December 2021; 7 months ago (2021-12-24)
Operating systemMicrosoft Windows, PinMAME also Linux
LicenseFreeware for non-commercial use with source code available (the original MAME license)

The simulation of most modern pinball machines (especially those made after 1992, using large portions of DMD animations and digital sound samples) require the Visual PinMAME (sometimes referred to as VPinMAME or VPM) program in order to behave as close to the physical machine as possible. VPinMAME adds to Visual Pinball's system requirements and, like other emulators, uses image files of the actual ROMs from the physical pinball machines, executing them as simulations of the embedded CPUs, sound chips, and displays from the real life machines.

Visual PinMAME is a program (a COM class) that was designed to work in combination with Visual Pinball (or nowadays any other program that can make use of the COM class, e.g. Unit3D Pinball [6]) to allow for 3D renderings of actual pinball table designs. Specifically, Visual PinMAME is responsible for emulating CPUs and the connected ROMs used in modern pinball tables, as opposed to tables with solid-state electronics/electro-mechanical mechanisms that contain no ROMs or advanced ICs in their hardware design. Visual PinMAME displays the LEDs or DMD of the machines in a separate window and also delivers emulation of the integrated sound chips. In order for Visual PinMAME to work properly with a rendered pinball table, it requires that specific table's ROM images.

Visual PinMAME was written by a team of programmers including Steve Ellenoff, Tom Haukap, Martin Adrian, and Gerrit Volkenborn, and had its first public release March 30, 2001 with version 0.99 beta. The underlying PinMAME core, that drives all emulation components and is also responsible for the rendering and output of LEDs, the DMD and playback of the emulated sound and music, was already started in April, 1999.[7] The program is named after the original MAME program for emulating arcade games and is based on some parts of the MAME core .7X. In the beginning the project started as WPCMAMECOM (and its underlying core as WPCMAME, based on the WPC and MAME acronyms). Visual PinMAME is written in the C++ programming language, whereas PinMAME is still based on C.

On August 1, 2008, the full source code of PinMAME 2.0 was made available to the public.[8][9] Since then, development continues with the help of various open source contributors.

See also[edit]


  1. ^ a b Visual Pinball at GitHub
  2. ^ Visual Pinball: Build Your Own Pinball Machine from
  3. ^ UltraCade Licenses Visual Pinball from
  4. ^ Global VR to Purchase UltraCade Technologies from a web archive
  5. ^ "Visual Pinball VR".
  6. ^ "Archived copy". Archived from the original on 9 August 2016. Retrieved 12 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  7. ^ "PinMAME". GitHub. 9 January 2022.
  8. ^ "Archived copy". Archived from the original on 5 May 2017. Retrieved 12 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  9. ^ "PinMAME". GitHub. 9 January 2022.

External links[edit]