Visual Pinball
Visual Pinball ("VP") is a freeware and source available video game engine for pinball tables and similar games such as pachinko machines. It includes a table editor as well as the simulator itself, and runs on Microsoft Windows. It can be used with Visual PinMAME, an emulator for ROM images from real pinball machines.
Developer(s) | Initially Randy Davis, continued by various Open Source contributors |
---|---|
Initial release | December 19, 2000 |
Stable release | 10.7.3
/ 23 December 2022 |
Repository | github |
Operating system | Microsoft Windows |
Type | Pinball |
License | Freeware for non-commercial use with source code available (the original MAME license) |
Website | vpforums |
A huge variety of user-created VP 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 or completely original themes. VP'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.
VP can be used with common desktop PCs and monitors, but also supports "virtual pinball" cabinets, with various monitors and TVs used to display the playfield and backbox, similar to a real pinball machine. 3D televisions are supported; and recent versions support touch controls for playing on tablet computers and smartphones.
In February 2010, VP's source code was released under a license allowing free non-commercial use.[1]
Design
Every Visual Pinball table includes two main parts: the "physical" playfield design, and the script that determines table gameplay, establishing the "wiring" of the emulation (through Visual PinMAME) to the table components such as lamps, switches and flippers. The editor uses Microsoft VBScript for user programming. VP itself is written in C++ with the Active Template Library for making ActiveX controls.[2] VP is based on DirectX, so it can run on any Windows version from Windows 98 on; however, most recent VP versions require at least Windows XP due to modern Microsoft compilers abandoning older versions of the OS.
History
Visual Pinball was released to the public on December 19, 2000 by programmer Randy Davis.
In 2005, David R. Foley purchased 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 VP rights from Davis to use and distribute the engine with its Pinball Wizard PC Controller. They released version 9 of the engine back to the community, with many updates developed between 2005–2008. Version 9 includes major improvements, but incomplete backward compatibility, so some older tables still need VP version 8 to run properly.
In 2010, the source code of Visual Pinball 9.0.7 was released under a license allowing free non-commercial use, similar to the original MAME license.[1] Davis and NanoTech are no longer involved in development as of (at least) version 9.0.8. Since then, development has been done by various open-source contributors.
Visual Pinball X ("VPX") was released on December 24, 2015, again breaking backward compatibility with version 9; previously created tables can be loaded with it, but not played without changes. VPX brings significant improvements to graphics and the program's physics engine. Current efforts include the VPVR branch [5] which adds support for dynamic virtual camera movement, including Virtual reality headsets.
Visual PinMAME
Developer(s) | Initially Steve Ellenoff, Tom Haukap, Martin Adrian, Gerrit Volkenborn, continued by various Open Source contributors |
---|---|
Initial release | April 1, 1999 |
Stable release | 3.5
/ 23 October 2022 |
Repository | github |
Operating system | Microsoft Windows, PinMAME also Linux |
Type | Pinball |
License | Freeware for non-commercial use with source code available (the original MAME license) |
Website | vpforums |
The simulation of most modern pinball machines (especially those made after 1992, using large portions of DMD animations and digital sound samples) requires the Visual PinMAME program (sometimes referred to as VPinMAME or VPM) to emulate physical machines as closely as possible. VPM increases Visual Pinball's system requirements and, like other emulators, uses image files of actual ROMs from physical pinball machines, executing them as simulations of the embedded CPUs, sound chips and displays from the original machines.
VPM is a program (a COM class) designed to work in combination with Visual Pinball (or nowadays, any other program that can use the COM class, e.g. Unit3D Pinball [6]) to allow 3D renderings of actual pinball table designs. It 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. VPM displays the LEDs or DMD of the machines in a separate window, and emulates integrated sound chips. To work properly with a rendered table, it requires that specific table's ROM images.
VPM was written by a programming team including Steve Ellenoff, Tom Haukap, Martin Adrian and Gerrit Volkenborn, and was released March 30, 2001 with version 0.99 beta. The underlying PinMAME core—which drives all emulation components, and is responsible for emulating LED displays, the DMD and playback of the emulated sound and music—was already started in April, 1999.[7] VPM is named after the original MAME program for emulating arcade games and is based on some parts of the MAME core .7X. The VPM project started as WPCMAMECOM (and its underlying core as WPCMAME, based on the WPC and MAME acronyms). VPM 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 open-source contributors.
See also
References
- Visual Pinball at GitHub
- Visual Pinball: Build Your Own Pinball Machine from DigitalPostProduction.com
- UltraCade Licenses Visual Pinball from RetroBlast.com
- Global VR to Purchase UltraCade Technologies from a web archive
- "Visual Pinball VR". 22 December 2022.
- "Unit3D Pinball - the new pinball experience". unit3dpinball.net. Archived from the original on 9 August 2016. Retrieved 12 January 2022.
- "PinMAME". GitHub. 9 January 2022.
- "PinMAME". www.pinmame.com. Archived from the original on 5 May 2017. Retrieved 12 January 2022.
- "PinMAME". GitHub. 9 January 2022.