Кіріспе
Visual Pinball ("VP") – флипбол үстелдері мен пачинко автоматтары сияқты ойындарға арналған тегін және бастапқы коды ашық бейне ойын қозғалтқышы. Ол үстел редакторымен қатар ойынды модельдеушінің өзін қамтиды және Microsoft Windows жүйесінде жұмыс істейді. Оны нақты флипбол автоматтарының ROM суреттері үшін эмулятор – Visual PinMAME-пен пайдалануға болады. Интернетте пайдаланушылар жасаған VP үстелдерінің көптеген түрлері қолжетімді. Ойыншылар ROM эмуляциясымен немесе одан без, нақты флипбол автоматтарының дәл көшірмелері мен лицензияланған немесе толыққанды түпнұсқа тақырыптарға негізделген түпнұсқа флипбол ойындары арасында таңдау жасай алады. VP-нің сценарийлеу мүмкіндіктері флип-бейсбол, флип-бинго, боулинг, бильярд және пачинко сияқты флипболға ұқсас ойындар жасау үшін де қолданылуы мүмкін. VP жалпы үстел компьютерлері мен мониторлармен қолданыла алады, сонымен қатар нақты флипбол автоматтарына ұқсас ойын алаңы мен артқы панельді көрсету үшін әртүрлі мониторлар мен теледидарлармен жабдықталған "виртуалды флипбол" шкафтарын қолдайды. 3D теледидарлар қолданылады; соңғы нұсқалары планшеттік компьютерлер мен смартфондарда ойнау үшін сенсорлық басқаруды қолдайды. 2010 жылдың ақпан айында VP-нің бастапқы коды коммерциялық емес пайдалануға рұқсат беретін лицензия бойынша жарияланды.
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.
Дизайн
Әрбір Visual Pinball үстелі екі негізгі бөліктен тұрады: "физикалық" ойын алаңының дизайны және үстел ойынының қағидаларын анықтайтын скрипт, эмуляцияның (Visual PinMAME арқылы) үстел компоненттеріне – шамдар, сенсорлар және лақтырғыштар сияқты – қосылысын ("электр тізбегін") орнату. Редактор пайдаланушы бағдарламалау үшін Microsoft VBScript-ті пайдаланады. VP өзі ActiveX басқару элементтерін жасау үшін Active Template Library-мен C++ тілінде жазылған. VP DirectX-ке негізделген, сондықтан ол Windows 98-ден бастап кез келген Windows нұсқасында жұмыс істей алады, бірақ ең соңғы VP нұсқалары Windows XP-ден жоғары нұсқаны талап етеді, себебі қазіргі Microsoft компиляторлары ескі операциялық жүйелерді қолдамайды.
Тарих
Visual Pinball бағдарламашы Рэнди Дэвис 2000 жылдың 19 желтоқсанында көпшілікке ұсынды. 2005 жылы Дэвид Р. Фоули Visual Pinball бағдарламалық жасақтамасына негізделген толық өлшемді пинбол шкафы үшін жиынтықты өзгерту құқығын Дэвистен сатып алды. Chicago Gaming Williams Electronics компаниясынан лицензиялық үстелдерге құқықтарды сатып алды. Visual PinMAME командасы және Visual Pinball әзірлеушілер қауымдастығы да жиынтық өнімді жақсартуға және бірнеше үстел жасауға қатысты. Бұл жоба UltraPin деп аталды, ол UltraCade-тің белгілі бір активтерін Global VR сатып алғаннан кейін сатып алынды және 2008 жылы тоқтатылды. 2008 жылы NanoTech Entertainment компаниясы Дэвистен Pinball Wizard PC контроллерімен қозғалтқышты пайдалану және тарату құқығын алды. Олар 2005–2008 жылдар аралығында жасалған көптеген жаңартулармен бірге қозғалтқыштың 9-шы нұсқасын қауымдастыққа қайта шығарды. 9-шы нұсқа маңызды жақсартуларды қамтиды, бірақ толық кері үйлесімділік жоқ, сондықтан кейбір ескі үстелдер дұрыс жұмыс істеуі үшін VP 8 нұсқасы қажет. 2010 жылы Visual Pinball 9.0.7-нің бастапқы коды бастапқы MAME лицензиясына ұқсас, коммерциялық емес пайдалануға рұқсат беретін лицензия бойынша жарияланды. Бұл Visual Pinball 10.8.0 нұсқасына, виртуалды шындық гарнитураларын қоса алғанда, динамикалық виртуалды камера қозғалысын қолдауды және OpenGL-ді балама графикалық API опциясы ретінде қосуды қамтиды. Соңғысының нәтижесінде Visual Pinball 10.8.1 Windows-тан басқа операциялық жүйелерді, соның ішінде macOS, iOS, tvOS, Linux (Batocera дистрибуциясы және Raspberry Pi платформасы қоса алғанда) және Android қолдайды. Бұл нұсқалар әзірге үстелдерді жасауға арналған пайдаланушы интерфейсінің көп бөлігін алып тастайды және қолданыстағы үстелдерді симуляциялауға/ойнауға бағытталған.
Көзбен шолу PINMAME
Қазіргі заманғы финбол автоматтарының симуляциясы (әсіресе 1992 жылдан кейін жасалған, үлкен мөлшерде DMD анимациясы мен цифрлық дыбыс үлгілерін пайдаланатындары) үшін Visual PinMAME бағдарламасы (кейде VPinMAME немесе VPM деп аталады) қажет, ол физикалық автоматтарының мүмкіндігінше дәл эмуляциясын қамтамасыз етеді. VPM Visual Pinball жүйелік талаптарын арттырады және басқа эмуляторлар сияқты, физикалық финбол автоматтарынан алынған нақты ROM-дардың бейне файлдарын пайдаланады, оларды бастапқы автоматтарының кіріктірілген процессорларының, дыбыс чиптерінің және дисплейлерінің симуляциясы ретінде іске қосады. VPM – бұл программа (COM класы), ол Visual Pinball (немесе қазіргі уақытта COM класын қолдана алатын кез келген басқа бағдарлама, мысалы Unit3D Pinball)пен бірге жұмыс істеуге арналған, нақты финбол үстелдерінің 3D рендерингін жасауға мүмкіндік береді. Ол қазіргі заманғы финбол үстелдерінде қолданылатын процессорларды және қосылған ROM-дарды эмуляциялауға жауапты, ал электромеханикалық механизмдері бар, ROM-дары немесе жетілдірілген интегралды схемалары жоқ үстелдерден өзгеше. VPM автоматтарының LED немесе DMD дисплейін жеке терезеде көрсетеді және интеграцияланған дыбыс чиптерін эмуляциялайды. Рендерингтелген үстелмен дұрыс жұмыс істеу үшін, оған осы үстелге арналған ROM бейнелері қажет. VPM Стив Эленов, Том Хаукап, Мартин Адриан және Геррит Волкенборн кіретін бағдарламалау тобымен жазылған және 2001 жылдың 30 наурызында 0.99 бета нұсқасымен шығарылды. Барлық эмуляция компоненттерін басқаратын және LED дисплейлерін, DMD-ні эмуляциялауға, сондай-ақ эмуляцияланған дыбыс пен музыканы ойнатуға жауапты PinMAME ядросы 1999 жылдың сәуірінде бастау алды. VPM аркадалық ойындарды эмуляциялауға арналған бастапқы MAME бағдарламасының атымен аталады және MAME .7X ядросының кейбір бөліктеріне негізделген. VPM жобасы WPCMAMECOM (және оның негізгі ядросы WPCMAME, WPC және MAME аббревиатураларына негізделген) ретінде басталды. VPM C++ бағдарламалау тілінде жазылған, ал PinMAME әлі де C тіліне негізделген. 2008 жылдың 1 тамызында PinMAME 2.0 толық бастапқы коды жұртшылыққа қолжетімді болды. Содан бері, ашық кодты үлескерлердің көмегімен даму жалғасуда. 2017 жылы PinMAME ядросын Windows-қа арналған COM-нан басқа API арқылы басқа бағдарламалармен өзара әрекеттесуге бағытталған жұмыс басталды (бастапқыда PinMAMEdll деп аталды). Кезеңдер бойы бұл платформадан тәуелсіз кітапханаға (libPinMAME) айналды, ол 2021 жылдың қаңтарында алғаш рет шығарылды және macOS, iOS, tvOS, Linux және Android-те, сондай-ақ 32 биттік және 64 биттік нұсқаларында қолданылуы мүмкін.
On August 1, 2008, the full source code of PinMAME 2.0 was made available to the public. Since then, development continues with the help of open source contributors. In 2017, the effort of making the PinMAME core interact with other programs through other APIs than the Windows exclusive COM was started (initially called PinMAMEdll). Over the years, this was further extended to result in a platform independent library (libPinMAME) initially released in January 2021, that can be employed also on macOS, iOS, tvOS, Linux and Android, and in 32 bit and 64 bit flavors.