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

Me gusta más construir las máquinas que jugarlas. De hecho tengo poca paciencia para jugar. Ya que he hecho una nueva máquina dedicada al pinball de Encuentros en la Tercera Fase (Close Encounters of the Third Kind, Gottlieb 1978), dedicaré unos minutos a analizarla y entender bien las reglas del juego. Las Instructions Card dels pinball siempre son muy escuetas (ver foto).

Esta es una máquina con electrónica de estado sólido (SS), lo que significa que todas las reglas del juego están implementadas en un chip que lleva cargado el software/instrucciones de la mesa. Este chip es una memoria donde está almacenado todo el código, es decir, una ROM. La gracia del Visual Pinball y otros emuladores de pinball es que son capaces de leer la información de la ROM (fichero que tenemos guardado en la carpeta roms/, y hacer funcionar la máquina por software. Si se sabe manipular la rom (los bytes) se puede modificar algún aspecto de la mesa, como por ejemplo modificar el High Score por defecto, como hemos hecho en alguna mesa. De hecho, el módulo que se encarga de la emulación es el VPinMAME, proyecto que comparten diferentes emuladores como el Visual Pinball o el Future Pinball.

HITTING A-B-C ROLLOVERS INCREASES INDICATED ROTO TARGET VALUE. Los rollover (A, B, C) son los tres pasillos que hay arriba de todo. Cuando la bola pasa por el pasillo se cierra un interruptor. Como consecuencia, el ROTO-target (rotatory) da vueltas. El ROTO tiene targets que se han de intentar tocar.

COMPLETING A-B-C ROLLOVERS LIGHTS “EXTRA BALL” AND “SPECIAL FEATURES”. Si completamos los tres rollovers (siempr con la misma bola) se activa (se ilumina When Lit) la posibilidad de hacer Extra Ball y Special Features (pero todavía no tenemos Extra Ball, sencillamente tenemos la posibilidad de conseguirlo. ¿Cómo se consigue? Si nos fijamos en el playfield, podemos ver Star scores extra ball. Por tanto, cuando en el target izquierdo del ROTO tenemos una estrella, si hacemos target sobre esta estrella, conseguiremos la Extra Ball. De la misma manera, Special Features lo onseguiremos cuan tenemos Star en el target de la derecha (y hacemos diana).

STAR ROTO TARGET VALUE IS 500 POINTS. HITTING STAR ROTO TARGET SCORES INDICATED VALUE AND INCREASES BONUS MULTIPLIER. Cuando hacemos diana sobre una estrella tenemos 500 puntos. Hacer diana sobre un ROTO target incrementa los puntos indicados, y se activa el multiplicador 10x (se ilumina), que significa que en la próxima podemos conseguir 3000, 4000 o 5000 puntos.

BONUS IS SCORED AND FEATURES RESET AFTER EACH BALL. Tenemos diferentes targets que nos pueden dar bonus. Estos targets pueden estar desactivados, o activados cuando la lámpara asociada está iluminada. Cuan perdemos la bola se incrementa el Bonus acumulado, y se vuleven a resetear todas las características. Aproximadamente, el bonus es proporcional al tiempo que haya durado la bola.

A TILT DOES NOT DISQUALIFY A PLAYER. En esta mesa hacer Tilt no está penalitzado. El Tilt se detecta cuando movemos la mesa con el objetivo de desviar la trayectoria y que no caiga en el sumidero. En muchas mesas hacer Tilt es sinónimo de hacer trampas, y esto significa normalmente perder la bola y desactivar temporalmente los flippers.

MATCHING LAST TWO NUMBERS IN SCORE TO NUMBER THAT APPEAR ON BACKGLASS AFTER GAME IS OVER SCORES ONE REPLAY. Cuando se acaba la partida, aún nos queda una oportunidad. Si los dos últimos dígitos de nuestro marcador coinciden con el High Score (?), entonces parece ser que se nos regala una partida.

A grandes rasgos, estas son las reglas de esta máquina. La mayoría de los jugadores (como yo mismo) nos conformamos en hacer durar la bola el máximo de tiempo. Pero si se quiere hacer una buena puntuación, se han de conocer estas reglas y tener una estrategia. Hay gente que se dedica a coleccionar y registrar High Scores de los pinballs. Por ejemplo, como se puede ver en este enlace, para el Close Encounters hay registrada una puntuación de 691.000, con 5 bolas. La posibilidad de jugar con 3 ó 5 bolas depende de una opción en el software, y en las máquinas reales esto se configura con un interruptor DIP que está documentado en la hoja de instrucciones que tiene el operador (en el salón recreativo o en el bar).

Como siempre, lo más divertido de estas mesas es la posibilidad de jugar con varios jugadores (hasta 4 jugadors, que se van turnando).

En las referencias hemos puesto un video de la escalada a la Devil’s Tower, que me parece espectacular. Pensaba que la escalada estaría prohibida, pero no, se puede escalar si se pide el permiso, y no se puede dejar material durante la escalada.

Y recuerda, como se indica en el playfield: We are not alone, y en cualquier momento podemos recibir una visita…

Referencias:

He querido hacer el tema del pinball lo más similar posible al orginal de Gottlieb, sin obsesionarme. Para hacerlo he pintado una base de amarillo en el moble, y con la CNC unas cuantas plantillas para sobreponer los colores azul y blanco. El resultado me ha gustado bastante, aunque hay margen de mejora. Pero crec que el objetivo está bastante conseguido.

Para que la máquina sea realmente un Close Encounters, quiero suprimir la pantalla azul de presentación del Windows, y que cuando arranque el PinballX abra directamente esta mesa.

Después de construir el Jacks Open Mini Pinball, me quedaron ganas de construir la versión más mínima posible de un pinball. Básicamente un model de mueble que pueda transportar fácilmente y meterlo dentro del coche. Este model lo llamaré Pocket Pinball, y ya he decidido que estará basado en el tema de Encuentros en la Tercera Fase (Close Encounters of the Third Kink), la película del Steven Spielberg que recuerdo haber visto cuando tenía 7 ó 8 años. O sea que esta pequeña gran máquina la llamaré Close Encounters Pocket Pinball

La primera decisión fue elegir el ordenador, que tenía que ser un barebone. Conseguí por 75 euros un Barebone AOpen, PCB Zotac GF9300/E5700. 2,5GHz + 2GB DDR2 + 160 GB bSATA + DVD. Ya sé que este ordenador no es muy potente, pero quería ver si era capaz de mover las mesas del Visual Pinball, que es el emulador que utilizo. La conclusión es que mueve bien las mesas antiguas en general, y se queda corto con las mesas que tienen DMD. Esto se nota sobretodo en el movimiento del flipper, que no es fluido y se puede llegar a encallar.

La salida de video de la placa ITX tiene salidas HDMI, DVI y VGA, pero sólo se pueden utilizar dos a la vez. Los 2 monitors que he elegido para la máquina son:

  • Pantalla principal (playfield): ACER AL1603W monitor TFT 15,5. (VGA) 1366×768. Formato 16:9
  • pantalla secundaria (backglass). Es la pantalla reciclada de un IPad 10. Modelo 32V3H-H6A. HDMI. 1280×720 (nativo)· Encontré el controlador en eBay (25 euros). Fue difícil extraer la pantalla del IPad, pero al final lo conseguí sin romper la pantalla :-)

Las medidas de la máquina son 50 cm de largo x 35cm ancho x ? cm de alto (comprobar), y realmente ha sido difícil meter todos los components dentro: placa base, fuente de alimentación, disco duro, amplificador audio, altavoces, transformador TV, controladora TV, módulo IPAC, botones y cableado vario.

Para acabar la máquina me basaré en las artes originales de la máquina de Gottlieb(https://www.pinrescue.com/games/images/closeencounters/DSCF1958.JPG). Se tendrá que hacer las plantillas para hacer las máscares de colores amarilla, blanca y azul. Aunque esta máquina se puede poner directamente sobre la mesa, creo que es una buena idea ponerle unas patas para mantener la idea y proporciones de la máquina original.

Referencias:

El noviembre pasado le regalé a Maria una cajita de luz para iluminar la habitación [1]. Estoy contento del resultado, pero se puede mejorar tanto en la parte de construcción de la cajita, como en la parte de la electrónica (un timer 555 que hace apagar la luz después de 20 minutos).

Aquí va el script cncboxparam para automatizar la creación de cajitas (con un texto en la cara frontal). Genera un fichero que se puede enviar directamente a una máquina de corte láser. La idea que me persigue desde hace tiempo es hacer este tipo de cajitas minimizando los costes y el tiempo. Sería una prueba de concepto de diseo industrial y fabricación digital, ver hasta qué punto con pocos recursos se puede automatizar hasta hacer rendible un pequeo proceso industrial. El curso que viene me gustaría adquirir una máquina de corte láser, pero ya me hago la idea de que ser una de las máquinas xines más pequeñas.

La parte de la electróncia también la tendría que mejorar de cara al curso que viene. La idea es diseñar una nueva placa PCB y utilizar sólo componentes SMD, pero esto ya es otro tema.

El script está programado en C++ y compila sin ninguna librería especial. Para generar el texto se ha de tener instalada la utilidad truetype-tracer-dxf. Las pruebas las he hecho con LibreCAD, que es el programa de CAD que utilizo habitualmente.

Enlaces:

El fanorona es un juego de mesa típico de Madagascar. Lo he estado probando en la versión para móvil, y he hecho un pequeño prototipo con la CNC, tanto las fichas como el tablero.

Ya está funcionando el proyecto de IoT basado en NodeCMU y el sensor de temperatura/humedad/presión BME280, y visualización de los datos en thingspeak.com. También he empezado a hacer el curso de IoT en el Institut Rambla Prim, que imparte Jordi Binefa.

Enlaces:

Abalone Bord Game and hexagonal gridAbalone Es un juego de mesa diseñado por Michel Lalet y Laurent Lévi en 1987. Es un tablero con agujeros donde colocamos 14 canicas por jugador, y se trata de hacer fuerta seis canicas del contrincante. De hecho nunca he jugado a este juego, pero de momento construiremos un tablero.

El problema consiste básicamente en hacer una red en formato de colmena de abejas, que de hecho son hexágonos y triángulos equiláteros. Para dibujar los puntos sobre un programa de CAD (yo utilizo LibreCAD), enseguida necesitamos el cos(60) y el sin(60). Partiendo de una parrilla ortogonal no es fácil hacer esta parrilla. Lo mejor es crear un script y generar los puntos de forma automática.

Partimos de un fichero vacío de LibreCAD, creamos la capa puntos, y meto tres puntos de prueba. Abrimos con un editor de texto (los ficheros de CAD tienen un formato de texto plano) y localizamos los puntos de referencia. Ahora ya sabemos el formato que han de tener los puntos que queremos generar programáticamente.

Mostramos el trozo de código más representativo que genera la geometría de mi parrilla, script bee_grid.cpp:

...
for (j=0; j std::cout << "fila " << j-par << std::endl;

float posx;
if ((n-abs(j-par))%2 == 0) { //parell
posx=(n-abs(j-par))/2-.5;
} else { //senar
posx = (n-abs(j-par))/2;
}
for (i=0; i std::cout << (i-posx)*2*dcos << " - " << posy_inicial-j*dsin << std::endl;
}
}
...

El script genera un fichero de texto con las líneas que podemos inserir en nuestro fichero original, y el resultado lo podemos ver en la foto. Es una parrilla de puntos para el juego del Abalone. La otra foto, la del juego del Abalone, no es mía (la he encontrado por Internet), pero este es mi objetivo: construir un tablero de Abalone. Para hacerlo ya tengo el fichero de CAD, después tendré que generar el G-Code, y finalmente fresar todos los puntos sobre una madera. Ya enseñaré el resultado cuando lo tenga acabado.

Enlaces:

update 21/06/2018: Este es el resultado final. He aprovechado una madera de cocina, que estaba muy marcada, pero el resultado final me gusta.

Jacks Open Mini Pinball

Jacks Open Mini Pinball

Finalmente ya hemos finalizado el Mini Virtual Pinball que he estado construyendo y configurando los últimos meses (junto a otros proyectos que he tenido que ir empujando en paralelo). El pinball está basado en el el Jacks Open de Gottlieb del año 1977.

El trabajo de pintura es muy mejorable, aunque la idea de utilizar máscares y spray me ha gustado, y si perfecciono la técnica, se pueden hacer cosas muy chulas.

He metido 200 mesas de diferentes fabricantes y diferentes épocas. A mi particularmente me gustan las mesas sencillas y electromecánicas de los años 60 y 70, y no la sofisticación plena de luces y sonidos de las mesas de estado sólido.

Para la siguiente máquina que vaya a construir hay bastantes cosas a mejorar. Estaría bien que las patas se puedan sacar, y que el backglass se pueda plegar hacia adelante. En esta ocasión no lo he hecho por falta de tiempo, y ahora me encuentro con un mueble que no puedo meterlo dentro del coche. También quiero añadir un plunger/tirador analógico, e implementar el tilt/nudge analógico con un acelerómetre y arduino.

Ya tengo un nuevo pinball a la vista. Como este no lo puedo transportar en coche, me gustaría hacer una versión mínima de pinball a dos pantallas (B2S), con una placa de ordenador Mini-ITX de las pequeñas (formato barebone). Es lo que se llama un pocket pinball. Empezaré a recopilar el material, ya explicaré como siempre los avances.
barebone
Presento dos videos de esta máquina. El primero es un video de presentación; y el segundo es un video del proceso de construcción. En los videos he puesto las canciones de un grupo de música que están triunfando mucho entre los chavales: los Buhos, música cañera en catalán.

Para hacer la primera máquina B2S (2 pantallas: el playfield y el backglass) he escogido el tema del pinball Jacks Open de Gottlieb (1977). El original es un pinball electro-mecánico, y probándolo con el Visual Pinball me ha gustado especialmente. De hecho, me gustan mucho todos los pinballs de esta época, que no tienen muchas florituras.

Me he decantado por el diseño del Jacks Open porque no es un diseño demasiado difícil y quiero probar, más que imprimir vinilos, hacer un trabajo de pintura y pintar con spray las máscaras para hacer la transferencia del disenño. Como se puede apreciar, sólo se utilizan los colores rojo y negro (a parte del blanco del fondo). He reproducido los diferentes motivos del dibujo en el Inkscape, y he utilizat una cortadora de vinilos (la Silhouette Cameo) que tenían sin utilizar en el MOB de Barcelona. Es la primera vez que utilizaba esta máquina, y con más tiempo y paciencia habría conseguido un mejor resultado. Para ser la primera vez que hago un trabajo de pintura con máscara estoy contento, però hay bastantes cosas a mejorar, y de hecho tendré que repasar con pincel algunos detalles y acabados.

Ya he avanzado bastante con la máquina, y espero poder acabarla y disfrutarla ahora en el mes de junio. Finalmente el plunger analógico, y el accelerómetro para detectar el tilt, tendrán que esperar. El backglass y las patas son fijas, y esto quiere decir que difícilmente podré meter esta máquina en el coche. Son aspectos que tendré que mejorar de cara a una segunda máquina.

Enlaces:

En la escritura en catalán se utiliza frecuentmente la ela geminada con la grafía l.l (por ejemplo, Brussel.les), en vez de utilizar el punto volado: Brussel&middledot;les.

Vamos a actualizar un blog de WordPress (www.joanillo.org) substituyendo en la base de datos, con SQL, todas las eles geminades con la grafía del punto volado. Proceso:

1. los posts que están publicados

select ID,post_title,post_status from ins_posts where post_status=’publish’;

2. los posts que están publicados, mostramos también el contenido:

select ID,post_title,post_status, post_content from ins_posts where post_status=’publish’;

3. I ahora mostramos los posts que tienen ele geminada:

select ID,post_title,post_status, post_content from ins_posts where post_status=’publish’ and post_content like ‘%l.l%’;

4. Y ahora que ya vemos cuáles son los posts afectados, podemos modificar su contenido substituyendo las eles geminadas mal formatadas con el punto volado:

Ante todo hacemos una prueba de cómo quedaría la substitución:

select ID,post_title,post_status, replace(post_content,’l.l’,'l·l’) from ins_posts where post_status=’publish’ and post_content like ‘%l.l%’;

5. Y ahora ya podemos hacer la substitución (update):

update ins_posts set post_content=replace(post_content,’l.l’,'l·l’) where post_status=’publish’ and post_content like ‘%l.l%’;
Query OK, 49 rows affected (0,07 sec)
Rows matched: 49 Changed: 49 Warnings: 0

NOTA: También funciona, y quizás es mejor:

update ins_posts set post_content=replace(post_content,’l.l’,'& middledot ;’) where post_status=’publish’ and post_content like ‘%l.l%’;

Este es un pequeño ejemplo de cómo podemos hacer cambios directamente en la base de datos, si conocemos las tablas y la relación que hay entre ellas.

Enlaces:

Page 2 of 17«12345»...Last »