Software:Visual Pinball

From HandWiki
Revision as of 11:54, 9 February 2024 by Scavis2 (talk | contribs) (fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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; 23 years ago (2000-12-19)
Stable release
10.7.3 / 23 December 2022; 23 months ago (2022-12-23)
Repositorygithub.com/vpinball/vpinball
Operating systemMicrosoft Windows
TypePinball
LicenseFreeware for non-commercial use with source code available (the original MAME license)
Websitevpforums.org

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.

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

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; 25 years ago (1999-04-01)
Stable release
3.5 / 23 October 2022; 2 years ago (2022-10-23)
Repositorygithub.com/vpinball/pinmame
Operating systemMicrosoft Windows, PinMAME also Linux
TypePinball
LicenseFreeware for non-commercial use with source code available (the original MAME license)
Websitevpforums.org

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

External links