Arxiu de la categoria: Arcade

Virtual Pinball basat en Superman (Atari, 1979)

Finalment ja he acabat el virtual pinball de Superman que anirà cap al País Basc. Aquesta vegada he millorat diversos aspectes en el procés de fabricació: perfils d’acer inoxidable, fixació de la TV, moneder de Industrias Lorenzo, disseny dels vinils, paletització de la màquina. I també he incorporat el simulador VPX a més del VP9. Però què voleu que us digui, no he notat especialment les millores que suposadament incorpora el VPX.

També he agafat unes quantes idees per si he de fer una nova màquina, que crec que podria fer més ràpidament que aquesta última, que se m’ha allargat massa. Ja està doncs, només falta enviar-la.

Referències:

Festa Arcade a ARAG

Ara fa dies que no escrivia en el bloc, i és que aquest trimestre ha estat molt frenètic i cansat amb tot el canvi de pis. Per si no era poc, el dia abans del trasllat tenia emparaulat portar unes màquines per la festa social de l’asseguradora ARAG.

S’ho van passar d’allò més bé amb tres màquines bartop i un pinball que els vaig portar amb la furgoneta. Després, a la nit, a recollir-ho tot, quan els més marxosos encara estaven a la discoteca.

Mini Virtual Pinball basat en Jack’s Open

He estat fent dos pinballs en paral·lel, amb les mateixes dimensions, i amb plunger analògic. El primer basat en el tema d’Avengers de Marvel; i el segon basat en Jacks Open, tema que ja havia fet. Al contrari de la primera vegada, on vaig fer servir pintura i màscares per pintar amb spray, aquesta vegada se m’ha complicat molt aquesta tècnica i finalment he encarregat els vinils, molt millor.

Tirador de molla i Tilt per a Virtual Pinball (video)

En un anterior article ja vam explicar la construcció del tirador de molla analògic. Ara he volgut acabar-ho d’explicar i fer un petit video.

A continuació es detalla les connexions dels botons, el potenciòmetro (A0) i l’aceleròmetre (SDA, SCL) a l’Arduino Pro Mini:

    Arduino Pro Micro 
    (plunger, acceleròmetre, i 6 botons)

\t\t\t*\t*
\t\t\t*\t* GND
\t\t\t*\t*
\t\t\t*\t* VCC
\t\t    SDA\t*\t*
 \t\t    SCL\t*\t*
\t  4: Left. BUT0\t*\t*
         5: Right. BUT1\t*\t* A0 (Pot)
          6: Exit. BUT2\t*\t*
         7: Start. BUT3\t*\t*
          8: Coin. BUT4\t*\t*
         9: Enter. BUT5\t*\t*

Finalment, s’ha de carregar el firmware a l’Arduino, que incorpora la lllibrería Joystick. L’aceleròmetre, que detecta la força lateral exercida sobre el moble, a partir d’un llindar de força simula el disparo d’un botó joystick. Totes les accions dels botons del joystick HDI s’associen a pressions del teclat gràcies al software JoyToKey, que corre en background. L’associació de tecles és la típica de Visual Pinball (l’emulador). Per exemple, COIN està associat a la tecla 5, i la funció Tilt/nudge dispara lrs teclrs Z/X.

Tenia por que un potenciòmetre lliscant es deteriorés amb el temps, i hagués preferit utilitzar algun sensor no mecànic. He de dir, però, que de moment, el funcionament és molt estable.

He construït dues màquines en paral·lel, una basada en el tema del Jacks Open, i l’altre basada en el tema de Avengers. En una de les màquines el funcionament no va molt fi, i he de veure encara quina és la causa: l’ordinador, la RAM, la tarja de video o el plunger.

Mini virtual pinball basat en Los Vengadores de Marvel

Finalment he acabat el pinball dels Avengers. He estat fent dos pinballs en paral·lel, amb les mateixes dimensions, i amb plunger analògic.

He trigat bastant de temps de repassar les 200 taules per tal d’adaptar-les a plunger i tilt analògics. Vam publicar aquest article explicant la solució final de la construcció del tirador de molla, basat en Arduino.

Plunger analògic per a virtual pinball

Estic fent un parell de pinballs, i aquesta vegada sí que vull incloure un plunger analògic. Això és bastanta feina, doncs significa construir un tirador de molla fiable, i configurar/repassar les 200 taules amb les que treballo. A més del tirador analògic també inclouré la funció de TILT, és a dir, quan doni un cop lateral al moble vull que la trajectòria de la bola canvïi, i així s’evita que la bola caigui en el drain.

Faré servir un Arduino Pro Micro, que em farà de joystick/gamepad a través del port USB. Per tal de què el sistema operatiu el reconegui com a HID (Human Interface Device), el firmware de l’Arduino ha d’incloure la llibreria joystick. L’arduino té entrades digitals/analògiques i sortides digitals per tal de connectar els sensors i els botons necessaris. De fet, amb l’ús de l’arduino ja no caldrà utilitzar la interfície I-PAC que es fa servir en aquest tipus de projectes.

En la foto es pot veure el segon prototip de plunger analògic, que ja és funcional. Com a sensor faré servir finalment un potenciòmetre linial lliscant. De moment la molla que faig servir és una mica forta. N’estic buscant una que sigui més fluixa, però que m’asseguri el retorn del potenciòmetre a la seva posició inicial. Ja sé que utilitzar un potenciòmetre (element mecànic) no és la millor solució, però de moment m’està funcionant sense problemes. Altres opcions a considerar com a sensors són un rotary encoder (que també és mecànic), i dos solucions que no són mecàniques (llarga vida) però que són més difícils i cares i que he vist per Internet: utilitzar un CCD linear sensor array (TAOS TSL 1410R); i utilitzar un sensor de distància LVDT (és car, però un se’l pot construir).

Com a conclusió, donaré una oportunitat al potenciòmetre linial lliscant, i el seu valor es llegirà en una entrada analògica de l’Arduino.

Per a la funció tilt necessito un acceleròmetre. Faré servir el MPU-6050 GY-521, que és un acceleròmetre de tres eixos i giroscopi (només necessito llegir l’acceleració en un eix). Fa servir el bus I2C per connectar-se a l’Arduino (entrades digitals). A més, la resta de botons (en principi 4 botons frontals i els dos botons laterals dels flippers) també utilitzaran entrades digitals de l’Arduino.

El que porta més feina és repassar les 200 taules i modificar-les per tal de què el plunger analògic funcioni correctament. Hi ha diverses maneres d’implementar el tirador, unes taules més fàcils que d’altres. Com sempre, moltes gràciess a la comunitat de Visual Pinball i a la gent que ha importat totes les taules per tal de què tothom les pugui disfrutar.

Ara ja tinc la feina quasi acabada, però fins que no tingui acabat el moble i munti el plunger en la seva posició final no podré fer les proves definitives ni la versió final del firmware. Ara ja falta poquet. Quan hagi acabat el projecte faré un video.

Si a algú li interessa la meva solució final, que em contacti i en parlem.

Referències:

Close Encounters pinball: aprofundint en el gameplay

CLOSE ENCOUNTERS OF THE THIRD KIND
—————————————————————-

INSTRUCTIONS
3 BALLS PER PLAYER

HITTING A-B-C ROLLOVERS INCREASES INDICATED ROTO TARGET VALUE.
COMPLETING A-B-C ROLLOVERS LIGHTS “EXTRA BALL” AND “SPECIAL FEATURES”.

STAR ROTO TARGET VALUE IS 500 POINTS. HITTING STAR ROTO TARGET SCORES INDICATED VALUE AND INCREASES BONUS MULTIPLIER.

BLACK DROP TARGETS SCORE 500 POINTS. COMPLETING DROP TARGETS INCREASES BONUS MULTIPLIER, ADDS 5 BONUSES, LIGHTS “EXTRABALL” AND “SPECIAL” FEATURES, SCORES 5000 POINTS AND RESETS TARGETS.

BONUS IS SCORED AND FEATURES RESET AFTER EACH BALL.

A TILT DOES NOT DISQUALIFY A PLAYER.

MATCHING LAST TWO NUMBERS IN SCORE TO NUMBER THAT APPEAR ON BACKGLASS AFTER GAME IS OVER SCORES ONE REPLAY.

424SS B-18583-1

M’agrada més construir les màquines que jugar-hi. De fet tinc poca paciència per jugar. Ja que he fet una nova màquina dedicada al pinball de Encuentros en la Tercera Fase (Close Encounters of the Third Kind, Gottlieb 1978), dedicaré uns minuts a analitzar-la i entendre bé les regles del joc. Les Instructions Card dels pinball sempre són molt resumides (veure foto).

Aquesta és una màquina amb electrònica d’estat sòlid (SS), la qual cosa significa que totes les regles del joc estan implementades en un xip que porta carregat el software/instruccions de la taula. Aquest xip és una memòria on està emmagatzemat tot el codi, és a dir, una ROM. La gràcia del Visual Pinball i d’altres emuladors de pinball és que són capaços de llegir la informació de la ROM (fitxer que tenim guardat en la carpeta roms/, i fer funcionar la màquina per software. Si se sap manipular la rom (els bytes) es pot modificar algun aspecte de la taula, com per exemple modificar el High Score per defecte, com hem fet en alguna taula. De fet, el mòdul que s’encarrega de l’emulació és el VPinMAME, projecte que comparteixen diferents emuladors com el Visual Pinball o el Future Pinball.

HITTING A-B-C ROLLOVERS INCREASES INDICATED ROTO TARGET VALUE. Els rollover (A, B, C) són els tres passadissos que hi ha dalt de tot. Quan la bola passa pel passadís es tanca un interruptor. Com a conseqüència, el ROTO (rotatory) dóna voltes. El ROTO té targets que s’han d’intentar tocar.
COMPLETING A-B-C ROLLOVERS LIGHTS “EXTRA BALL” AND “SPECIAL FEATURES”. Si completem els tres rollovers (sempre amb la mateixa bola) s’activa (s’il·lumina When Lit) la possibilitat de fer Extra Ball i Special Features (però encara no tenim Extra Ball, senzillament tenim la possibilitat d’aconseguir-ho. Com s’aconsegueix? Si ens fixem en el playfield, podem veure Star scores extra ball. Per tant, quan en el target esquerra del ROTO tenim una estrella, si fem target sobre aquesta estrella, aconseguirem la Extra Ball. De la mateixa manera, Special Features ho aconseguirem quan tenim Star en el target de la dreta (i fem diana).

STAR ROTO TARGET VALUE IS 500 POINTS. HITTING STAR ROTO TARGET SCORES INDICATED VALUE AND INCREASES BONUS MULTIPLIER. Quan fem diana sobre una estrella tenim 500 punts. Fer diana sobre un ROTO target incrementa els punts indicats, i s’activa el multiplicador 10x (s’il·lumina), que vol dir que la propera podem aconseguir 3000, 4000 o 5000 punts.

BONUS IS SCORED AND FEATURES RESET AFTER EACH BALL. Tenim diferents targets que ens poden donar bonus. Aquests targets poden estar desactivats, o activats quan la làmpara associada està il·luminada. Quan perdem la bola s’incrementa el Bonus acumulat, i es tornen a resetejar totes les característiques. Aproximadament, el bonus és proporcional al temps que hagi durat la bola.

A TILT DOES NOT DISQUALIFY A PLAYER. En aquesta taula fer Tilt no està penalitzat. El Tilt es detecta quan movem la taula per tal de desviar la trajectòria i que no caigui en el forat. En moltes taules fer Tilt és sinònim de fer trampes, i això significa normalment perdre la bola i desactivar temporalment els flippers.

MATCHING LAST TWO NUMBERS IN SCORE TO NUMBER THAT APPEAR ON BACKGLASS AFTER GAME IS OVER SCORES ONE REPLAY. Quan s’acaba la partida, encara tenim una oportunitat. Si els dos últims dígits del nostre marcador coincideixen amb el High Score (?), aleshores sembla ser que se’ns regala una partida.

A grans trets, aquestes són les regles d’aquesta màquina. La majoria dels jugadors (com jo mateix) prou feines en tenim de què la bola no caigui en el forat. Però si es vol fer una bona puntuació, s’han de conèixer aquestes regles i tenir una estratègia. Hi ha gent que es dedica a col·leccionar i registrar High Scores dels pinballs. Per exemple, com es pot veure en aquest enllaç, per al Close Encounters hi ha registrada una puntuació de 691.000, amb 5 boles. La possibilitat de jugar amb 3 ó 5 boles depèn d’una opció en el software, i en les màquines reals això es configura amb un interruptor DIP que està documentat en el full d’instruccions que té l’operador (en el saló recreatiu o en el bar).

Com sempre, el més divertit d’aquestes taules és la possibilitat de jugar amb varis jugadors (fins a 4 jugadors, que es van tornant).

En les referències he ficat un video de l’escalada al Devil’s Tower, que em sembla espectacular. Pensava que l’escalada deuria estar prohibida, però no, es pot escalar si es demana el permís, i no es pot deixar material durant l’escalada.

I recorda, com en el playfield s’indica: We are not alone, i en qualsevol moment podem rebre una visita…

Referències:

Encuentros en la Tercera Fase, tema del Pocket pinball

He volgut fer el tema del pinball el més similar possible a l’orginal de Gottlieb, sense obsessionar-me. Per fer-ho he pintat una base de groc en el moble, i amb la CNC unes quantes plantilles per sobreposar els colors blau i blanc. El resultat m’ha agradat bastant, encara que tinc marge de millora. Però crec que el propòsit estigui força aconseguit.

Per tal de què la màquina sigui realment un Close Encounters, vull suprimir la pantalla blava de presentació del Windows, i que quan arrenqui el PinballX obri directament aquesta taula.