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:

He realizado las primeras pruebas de la parte pneumática del whack-a-mole. A veces comprar en Aliexpress es realmente complicado. Quería unos pistones pneumáticos de una sola acción con retorno de muelle, y he recibido unos pistones de doble acción. El título del producto y las fotos del producto no concordaban. Creo que al final estos pistones de doble acción me irán bien, aunque al final necesitaré el doble de solenoides (2 solenoides por pistón, tal com se ve en el video).

El compresor que utilizo es el más simple que he encontrado. Me ha costado 10e de segunda mano, y es bastante ruidoso, pero haré una buena amortiguación del sonido. Un compresor de más potencia y con calderín sería ideal, pero el precio se incrementaría mucho.

Así pues, el material que se necesita para hacer esta prueba es: compresor, pistón pneumático, dos solenoides (válvulas pneumáticas), 2 rácores para los pistonse, 4 rácores para los solenoides, una T, y tubo de 6mm. El siguiente paso será la parte electrónica: un arduino y los relés para controlar todos los solenoides.

Enlaces:

La nueva recreativa que haremos es un whack-a-mole (aunque tengo otros proyectos por acabar…). Es un proyecto de neumática, y tenía ganas de hacer uno, aunque trabajar con aire comprimido, pistones y solenoides es sensiblemente más caro que trabajar sólo con electrónica.

I qué es un whack-a-mole? Es un juego arcade, que viene de los Estados Unidos pero aquí también se puede ver en ferias, donde unos topos salen de los agujeros de la mesa, y se tienen que golpear con un mazo para que se vuelvan a esconder. Cuanto más topos, más puntos. El juego se complica porque salen varios topos al mismo tiempo y la velocidad se va incrementando.

De aquí viene la expresión inglesa This is like playing whack-a-mole. Precisamente to whack significa golpear, y mole es un topo. Y la expresión describe la situación donde te surgen de golpe muchas tareas a las que atender, y a medida que las vas haciendo te surgen más, y no das abasto. Igual que en el juego, donde has de ir dando mazazos a los topos y te vuelves loco. En España se tradujo por guacamole, que suena igual pero que no tiene nada que ver con el sentido original de la palabra. Por ejemplo el juego de guacamole de la marca MB (ver video de la publicidad).

Así pues, he empezado a reunir el material: pistones, válvulas neumáticas, compresor barato, rácores, tubos, arduino, y una tira de NeoPixels para hacer el display, que quizás esto será la parte más interesante pues quiero hacer dos displays de tres dígitos bien gordos y chulos.

Este ha de ser un proyecto diferente y divertido. Lo que es una incógnita es si el presupuesto final compensará es esfuerzo.

Enllaços:

Estoy avanzando en el proyecto del Pinball B2S, aunque ahora tengo faena porque estoy haciendo un par de máquinas. Estoy a punto de pintar de blanco el mueble, y antes de pintar he de hacer algún agujero más. Pero antes de hacer los agujeros que me faltan, he de disponer todos los componentes en su posición final.

Así que he cogido el ordenador sobre el que he estado haciendo las pruebas, y lo he desmantelado todo. Es lástima porque es un ordenador que conseguí hace un par de meses a un buen precio y que tiene una caja muy insonorizada y una fuente de alimentación muy buena. Como se ve en la foto, a parte del ventilador de la fuente de alimentación, tiene tres ventiladores más y un disipador de la CPU muy grande. Es una buena máquina con una placa ASUS P5Q-E y un Intel Core 2 Quad Q9550 a 2.83GHz. Tiene 4GB de RAM, en alguna mesa de pinball que he jugado creo que sería mejor tener 8GB de RAM, pero de momento lo dejaré así. Cogí este ordenador porque llevaba la gráfica NVidia GeForce 240, que aunque no es muy potente ya lo había probado en otra màquina con muy buen resultado.

Así pues he desmontado la placa, la fuente, la gráfica, el disco duro, un conector USB, todos los cables, … i lo he dispuesto todo sobre la base del pinball. Al principio quería hacer un cajón en la parte trasera de manera que se pudiese acceder a todos los componentes del ordenador sin tener que desmontar la pantalla. Pero com se ve, en la parte trasera tengo la fuente d alimentación y tres ventiladores. Espero no tener que acceder nunca al ordenador, pero si se diese el caso, se tendrá que sacar el vidrio y la pantalla del playfield, tampoco será tanto trabajo.

En la foto no están todos los componentes. Falta un IPAC, todos los botones y cables, y toda la electrónica de la TV. Pero no es problema, veo que tengo suficiente sitio, y además se puede podner algún componente en los laterales.

Tenía ganas de hacer el plunger analógico, pero de momento prefiero acabar la máquina y más adelante ya miraré de meterlo. Ahora veo que la altura del mueble podría haber sido 2 o 3 cm menos alto, pero da igual, lo que importa es que las proporciones entre la pantalla del backglass, el mueble principal, y las patas, sea la correcta. De hecho, me quedará un pinball pequeñito: es un mini virtual pinball. Tenía ganas de hacer uno de pequeño antes de meterme en un pinball de dimensiones reales. Como no se podrá jugar de pie, supongo que lo mejor será jugar sentado en una silla. Ya veremos.

El proyecte en la wiki:

Finalmente ya he finalizado el curso de Inteligencia Artificial. Estas últimas horas he hecho el examen final, tipo test. Cuando tenga un poco de tiempo me gustaría repasar algún concepto y volverme a mirar el proyecto del Sudoku y los algoritmos que allá hemos utilizado. Y de cara este verano releer el libro Computational Beauty of Nature, donde había algún capítulo sobre redes neuronales.

Me ha interesado sobretodo la parte del Machine Learning, y de cara el curs que viene me gustaría hacer algún curso en este campo. Ya veremos.

Manos a la obra! Ya tengo las 200 mesas configuradas, tengo las dos pantallas, el ordenador, botones, IPAC. He de pensar qué monedero le meto, y me gustaría poner un plunger analógico. Pero el caso es que ya puedo empezar a construir el mueble.

De hecho, este es un mini virtual pinball. Es mini porque las pantallas que utilizo son de 24inch para el playfield, y de 17 inch para el backglass. Como es la primera máquina que construyo de este tipo, la pienso como una prueba. La idea es meterle unas patas, pero no tengo claro todavía cómo hacerlo. Se pueden comprar patas de pinball por Internet, pero quiero contener al máximo el presupuesto de este proyecto. Otra posibilidad sería no poner patas, y que la máquina repose sobre la mesa.

La primera vez que construyes una máquina es un aprendizaje sobre la marcha de las cosas con que nos podemos encontrar. Se han de tomar muchas decisiones: medidas, posicionamiento de los componentes, materiales,… Es un proceso de toma de decisiones. Por tanto, nos lo hemos de tomar como un prototipo, y en el trayecto adquirimos un know-how que nos servirá para futuras máquinas (esperamos que haya más).

Para los vinilos de esta máquina todavía no he tomado ninguna decisión, seguramente se basará en la mesa Jacs to Open. Seguramente no serán vinilos, sino que la pintaré con plantillas, una técnica que no he probado. Otras posibilidades de diseño que me han gustado mientras probaba las mesas: Free Fall, Fast Draw, Harlem Globetrotters, Jumping Jack, King Rock, Star Trek.

He aparcado un tiempo el proyecto de la máquina de dardos por dos motivos. El primero que estoy haciendo un curso de edx.org de Inteligencia Artificial. Y después porque tengo ganas de acabar un virtual pinball de dos pantallas.

Ya tengo configuradas 200 mesas de pinball en modo B2S (Backglass to Screen). Esto significa que tenemos dos pantallas: el playfield (la pantalla principal); y la pantalla que hace de backglass, donde hay el score y otros efectos visuales. He tenido que transformar todas las mesas FS (FullScreen) que tenía a B2S, siempre que haya sido posible. Y he buscado otras mesas chulas hasta llegar a las 200.

La foto que he escogido para ilustrar el post es la mesa Centigrade 37, una mesa Gottlieb de 1980 muy chula que he descubierto.

Por otra parte estoy construyendo el mueble (lo ensearé en los próximos posts), y me queda decidir qué mesa esogeré para las artes. También he de resolver otros aspectos técnicos como el plunger analógico.

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