Proyecto ARTcade

Una de las cosas más enriquecedoras del trabajo por proyectos es, además de que sean interdisciplinares, que sean interetapas. De ese modo, no solo se crean sinergias entre los contenidos de diferentes disciplinas educativas, sino que también se estrechan los lazos de colaboración entre alumnado de diversas etapas y edades.

Al hacer las cosas de este modo, el proyecto se estructura en varias fases y, en cada una de ellas, participa el alumnado de una etapa diferente. Cada fase termina con un producto terminado que se pasa al siguiente grupo de alumnos, que interviene para obtener un nuevo producto que, de nuevo, pasará a l siguiente grupo de alumnos. Cada grupo aporta al producto un desarrollo de acuerdo al perfil académico (o profesional, en el caso de Formación Profesional) que estén cursando. De este modo el proceso se puede alargar, pero el producto final tiene un grado de elaboración mucho más complejo e interesante.

En la entrada de hoy, voy a compartir un proyecto en el que he colaborado recientemente en el que han trabajado de manera interdisciplinar e interetapa alumnado de la ESO, Bachillerato y Formación Profesional. Se trata de la elaboración de una máquina recreativa estilo «Arcade» 100% artesana.

Pero, empecemos por el principio, ¿qué es esto de una máquina arcade?

Las (míticas) máquinas recreativas

El término «arcade» tiene su origen en la palabra inglesa, que se refiere a una galería o pasaje cubierto con arcos, a menudo lleno de tiendas y lugares de entretenimiento. Como un centro comercial. A lo largo del tiempo, estas galerías se convirtieron en lugares populares donde la gente podía encontrar todo tipo de actividades de ocio y entretenimiento, incluyendo las primeras máquinas recreativas.

En el contexto de los videojuegos, «arcade» comenzó a asociarse con estas máquinas de videojuegos a las que se podía jugar introduciendo monedas. Debido a esta asociación, el término «arcade» empezó a utilizarse para referirse a las máquinas de videojuegos en sí mismas, y eventualmente, a los lugares dedicados exclusivamente a estas máquinas.

Aunque esta última acepción no se adoptaría en España, siendo más habitual el uso del término «Salón recreativo» para referirse a esos negocios que proliferaron a principios de los 90 y en los que se podrían encontrar muchos de estos «arcades», al nada despreciable precio de 25 pesetas por partida (unos 20 céntimos al cambio). Estos locales fueron lugares de iniciación al mundo de los videojuegos antes de que las consolas domésticas y los ordenadores personales les robasen el protagonismo en lo que al consumo de videojuegos se refiere.

A nivel técnico, estas máquinas recreativas solían estar formadas por una pantalla de tubo, mando de palanca y botonera (para dos, cuatro, o incluso más jugadores) y una placa base que incluía un juego precargado en una memoria de solo lectura (ROM). Todo ello iba encastrado dentro de una cabina decorada con la temática del videojuego. Algunas de esas cabinas eran verdaderas obras de arte.

Pero no me quiero enrollar mucho más con esto. Si te interesa el mundillo de los arcades vintage originales, no puedes dejar de visitar el Museo Arcade Vintage de IBI.

El Museo Arcade de Ibi te permite viajar al pasado

Emulando un mundo

No, la cosa no va de reconstruir una máquina arcade vintage auténtica, como hacen en Ibi (eso sería genial también), sino que el enfoque es algo diferente.

En los últimos años se ha puesto muy de moda la construcción de recreaciones de estas máquinas que, utilizando componentes económicos (Raspberry Pi) o reciclados, y distribuciones preparadas para la emulación, pueden hacer las delicias de los nostálgicos a un precio asequible. De hecho, hay quien se dedica a esto profesionalmente.

En este caso, no se construye la placa del juego original, sino una placa genérica que ejecuta un sistema operativo con unos programas capaces de emular la circuitería de las máquinas arcade. Esos programas se llaman emuladores y los podemos encontrar para, prácticamente, cualquier máquina clásica.

Estos emuladores permiten reproducir (emular) los juegos de etas máquinas en ordenadores modernos de una manera bastante fidedigna.

Además, existen en la actualidad distribuciones GNU/Linux que ya llevan preinstalados todos los emuladores imaginables y que, además, incorporan una interfaz gráfica amigable para navegar con un joystick a través de todos los sistemas.

Es en este contexto donde arranca nuestro proyecto, pues lo que se pretende es construir una máquina recreativa completamente funcional de forma artesanal con el alumnado.

ART de ARTesano

El primer paso, por tanto, era construir el mueble en el que se iban a ubicar los elementos. En este caso, participa el Departamento de Tecnología que, con el alumnado de 4ªESO, trabaja en el corte y encolado de las diferentes piezas.

En este caso, cabe diferenciar entre os tipos más habituales de muebles:

  • Cabina Clásica (Upright Cabinet): Estas son las máquinas arcade más tradicionales y reconocibles. Suelen tener una altura de alrededor de 1.70 a 2 metros y una base de aproximadamente 60-80 cm de ancho y 60-80 cm de profundidad.
  • Mini Arcade: Son versiones más pequeñas y compactas de las cabinas clásicas. Su altura puede variar, pero típicamente son menos de un metro de alto.
  • Bartop Arcade: Diseñadas para colocarse sobre una mesa o una barra. También existe la versión de pared, menos profunda.

Para la primera versión, se optó por el bartop, al ser más ligero y compacto (el espacio que ocupan las cosas suele ser crítico en los centros educativos).

Por tanto, en esta fase lo que se necesitaba era lo siguiente:

  • Planos de un bartop (obtenidos de internet)
  • Planchas de madera (se hizo con madera conglomerada que se tenía)
  • Un monitor LED viejo (el único requisito era que se encendiese solo al recibir electricidad, para no tener que dar acceso al botón)
  • Unos altavoces (se tenían en el almacén de tecnología)
  • Y se adquirieron dos juegos de palanca y botones de arcade.

Con esto, el alumnado se puso manos a la obra y en un par de semanas, ya tenía terminada su parte: un mueble de bartop de madera conglomerada con pantalla, altavoces y mandos.

Construyendo el mueble alderredor de la pantalla

Pese a que existen diseños descargables de internet para máquinas de corte láser, la preparación y ensamblado de las piezas se hizo de manera artesanal, cortando, midiendo, clavando y encolando. De ese modo, se han puesto en valor las diferentes destrezas necesarias para construir un mueble con una finalidad específica, de acuerdo a unos requisitos marcados por las piezas que en él se han de encajar.

Ya tenemos el primer producto intermedio terminado. Pasemos a la siguiente fase.

Producto intermedio #1
Detalle de la botonera

ART de ARTístico

Además de los propios juegos, una de las cosas que más admiración genera en el mundillo retro son los diseños de las cabina. Y ese era el siguiente paso. En este caso, el proyecto pasa a manos del profesorado del Departamento de Artes del centro, y a la asignatura optativa de Dibujo Artístico de 1º de Bachillerato.

En este caso, pese a estar la opción del diseño vectorial y posterior impresión digital de vinilos, que es el método más habitual en la personalización de réplicas de recreativas, y que entraba en el currículum de la asignatura, se optó por el dibujo libre, pues se pensó que sería una experiencia mucho más enriquecedora si se trata de trasladar de forma manual a una superficie determinada un diseño previo.

Una vez involucrados en el proyecto, se le propone al alumnado que elabore diferentes diseños para decorar los dos lados del bartop. Se les pide un diseño que tenga que ver con la temática (videjuegos antiguos) i en el que aparezca el nombre del centro. El resultado es abrumador, por cantidad y calidad pero, lamentablemente, solo se pueden hacer dos, por lo que el alumnado vota sus candidatos y son los que pasan a la fase de producción.

Así que todo el grupo se pone manos a la obra para trasladar los diseños seleccionados a los laterales del mueble.

Un lienzo excepcional
Pixel art

El resultado, es una obra de arte en formato de sobremesa.

Y con este nuevo producto intermedio finalizado, pasamos a la siguiente fase.

Producto intermedio #2

ART como en libeRTAd

Bueno vale, es un poco rebuscado, pero creo que también es interesante subrayar el componente de software libre que sustenta el proyecto. Os cuento:

Cuando el proyecto llega al Departamento de Informática, es el alumnado de 2º de FP Básica de Informática el que aplica los conocimientos adquiridos a lo largo del título para darle vida a la máquina. Y siguiendo con el símil, como si de un monstruo de Frankenstein se tratase, seleccionan piezas de desguace de ordenadores antiguos y/o estropeados para construir un ordenador dentro de la cabina.

Para ello, reciclan:

  • Una placa base
  • Un procesador
  • Un módulo de memoria RAM
  • Un disco duro
  • Una fuente de alimentación

Uno de los requisitos del proyecto era que al darle el botón de encendido se pusiera todo en marcha, que no fuese necesario ir encendiendo cada parte por separado (pantalla, altavoces, ordenador), Así que, como la pantalla ya está preparada para que se encienda sola, lo que se hace es alimentar los altavoces a través de los USB de la placa base y se configura la placa base, desde el menú de la BIOS, para que se encienda automáticamente cuando la fuente de alimentación se conecte.

Detalle de las conexiones

Así que pantalla y fuente de alimentación (encendida) se enchufan a una regleta con botón en el interior de la caja. Al encender la regleta, se pone en marcha todo automáticamente.

El siguiente paso es instalar un sistema operativo y aquí es donde entra el software libre (al menos parcialmente, ya que muchos emuladores no lo son), pues se instala una distribución de GNU/Linux orientada a la emulación llamada Batocera. Esta distribución contiene lo básico para poner en marcha un sistema de emulación con todos los emuladores imaginables.

El alumnado conecta las palancas y botones a los USB y los configura para que sean utilizables desde los diferentes emuladores.

Producto intermedio #3

Con esto, ya tenemos una máquina recreativa, elaborada de forma artística y artesanal y completamente funcional gracias al software libre.

¿La probamos?

El problema con los juegos

El paso final es cargar juegos en Batocera y probarlos. El problema es que prácticamente todos los juegos de máquinas recreativas o consolas antiguas están sujetos a restricciones de propiedad intelectual y copyright, y claro, no se pueden utilizar alegremente sin el permiso de sus creadores o de las compañías que, en la actualidad, posean esos derechos.

Por suerte, en la web de MAME (Multi Arcade Machine Emulator), un conocido emulador de máquinas recreativas clásicas, nos permiten descargar algunos juegos para los que los autores sí han dado permiso para su uso de forma no comercial. ¡Menos mal!

Tras echar un vistazo al listado, comprobamos que aunque ninguno es especialmente conocido, sirven para la prueba. Se elige un llamado Roby Roto, sobre un minero que ha de rescatar a sus compañeros atrapados. Es una especie de PacMan mezclado con el Boulder Dash.

Así que, para hacer la puesta de largo, durante la jornada de puertas abiertas del centro, se prepara el juego en la máquina (Batocera tiene una opción para forzar el arranque automático de un juego determinado) y se elabora un cartel explicativo del juego, para acompañar a la máquina:

Puede que no podamos jugar a juegos clásiscos como Pac-man, Space Invadres o Pang!, pero existen una gran cantidad de juegos que todavía hoy los entusiastas siguen sacando para los diferentes sistemas clásicos, algunos de ellos ya están incluidos en la instalación de Batocera, otros más se pueden encontrar en este enlace o en este otro.

Pero, ¿y si el alumnado del centro también elaborase los juegos?

ART como en scRATch

De nuevo, el título de la sección pillado con pinzas, pero me sirve para ilustrar este último giro del proyecto que permite cerrar completamente el círculo. Porque al fin y al cabo, SCRATCH es un entorno de iniciación a la programación que está presente en el currículum de la optativa de Tecnologia y digitalización de 2º de la ESO. ¿Y que acaban haciendo el alumnado de 2º de la ESO con SCRATH? Pues, efectivamente, un juego.

Así que si consiguiésemos que esos juegos pudiesen ser ejecutados por nuestra recreativa, tendríamos un potente elemento motivador para fomentar la creatividad y el ingenio a la hora de diseñar un juego con SCRATCH por parte del alumnado. Al fin y al cabo, sus compañeros y compañeras lo van a poder jugar en una máquina recreativa.

Y aquí es donde, de nuevo en el dominio del Departamento de Informática, el proyecto llega a manos del alumnado de 1º del Grado Medio de Sistemas Microinformáticos y Redes, para hacer las configuraciones necesarias para que esto sea posible.

Lo cierto es que Batocera no tiene emulación de SCRATCH, pero con unos pocos conocimientos de GNU/Linux (como los que tiene el alumnado de SMR), se puede conseguir ejecutar los juegos elaborados por el alumnado en esta plataforma como si de un juego más se tratase, y de manera offline.

Para ello, lo primero que hay que hacer es entender un poco la estructura de directorios de Batocera. En el sistema operativo se dedica una carpeta para contener los juegos (roms) de cada máquina emulada. Por ejemplo, la rom de Robby Roto de MAME, se guardaria en la ruta /userdata/roms/mame. Al hacerlo, el sistema detectará la rom de Robby Roto y la listará en el menú de MAME para que la podamos lanzar.

Además de todas las carpetas para todos los sistemas, existe una carpeta llamada ports en la que se almacenan aquellos juegos que no sean emulados, sino que sean nativos del propio sistema GNU/Linux. Así, además de emular, Batocera permite ejecutar juegos de Linux.

El contenido de esta carpeta ports no es la rom de un juego, sino el script de arranque del mismo (un archivo con extensión .sh que contiene las instrucciones que pondríamos en un terminal Linux para ejecutar el juego). Por tanto, en el menú ports de Batocera, aparecerá una entrada por cada archivo .sh que pongamos en la carpeta /userdata/roms/ports y al seleccionarlo, se ejecutarán los contenidos de dicho fichero.

Hasta ahora seguimos sin tener un método nativo para ejecutar un juego SCRATCH. Los juegos SCRATCH, normalmente, se juegan en línea y se puede acceder a ellos desde el repositorio online de la plataforma. Además, existe una herramienta para poder editar y jugar a los juegos de forma offline, pero, lamentablemente no está disponible para Linux. Parece que estamos en un callejón sin salida.

Internet al rescate

De nuevo, Internet al rescate. Buscando un poco podemos localizar una página que permite descargar los juegos SCRATCH en formato HTML, como si fuera una página web completamente autocontenida, lo que nos permite ejecutarlos en cualquier navegador, incluso de manera offline. Se trata del TurboWarp packager:

https://packager.turbowarp.org/

Basta con poner la URL del juego o proyecto SCRATCH a descargar en el formulario y seguir los pasos.

En el paso siguiente, seleccionamos algunas opciones y personalizar el comportamiento que tendrá el juego al ejecutarlo desde el archivo descargado. Como se quiere ejecutar como si de un juego de recreativa se tratase, recomiendo marcar las siguientes opciones:

  • Empezar proyecto automáticamente en vez de mostrar una bandera verde grande
  • Sin puntero del ratón
  • Soporte para mandos/controles USB o Bluetooth

Ni que decir tiene que, puesto que el modo de juego será con palanca de mando y botones, será necesario que el alumnado diseñe juegos que usen esta interfaz, en lugar de ratón u otros controles que no no estarán disponibles en nuestra recreativa.

Seleccionamos como modo de exportación HTML y pulsamos empacar.

Con esto ya tenemos el juego en cuestión en un archivo autocontenido que podemos ejecutar en cualquier navegador, incluso de manera offline. Ahora solo nos falta que ese navegador esté disponible en Batocera y que se pueda lanzar como si se tratase de un juego más.

Instalando software de Linux en Batocera

Aunque en principio , no hay ningún navegador web instalado en Batocera (normal, no tiene mucho sentido en un entorno para emular videojuegos), hay forma de hacerlo. En concreto, se puede instalar fácilmente el Firefox. Para ello, usaremos el instalador de paquetes Flatpak que hay disponible en el navegador de archivos (se accede con F1 desde el menú principal). En la sección Applications, seleccionamos Flatpak config.

El instalador de flatpak nos permite instalar aplicaciones nativas de Linux

Flatpak es un sistema para la distribución de aplicaciones que permite la instalación y gestión de software de manera independiente a la distro de Linux usada. Los paquetes Flatpak incluyen todas las dependencias necesarias para su ejecución, lo que evita problemas y los hace independientes del resto de aplicaciones del sistema, aunque a costa de ocupar más espacio en disco.

Evidentemente en este punto de la instalación, necesitamos dos cosas:

  • Que la máquina tenga conectado un teclado y un ratón (a la hora de constuirla, es conveniente dejar un par de puertos USB accesible para estas gestiones)
  • Que la máquina esté conectada a Internet (sólo para instalar Firefox)

Desde la aplicacion Flatpak config, buscamos e instalamos Firefox.

Firefox instalado

Una vez instalado, Firefox aparecerá como un juego más en la sección Ports.

Con la ayuda de un USB copiamos el archivo descargado de Turbo Warp (archivo HTML) a la carpeta /userdata/roms/ports. para simplificar, hemos renombrado el archivo a scratch.html.

Todo preparado para lanzar nuestro juego desde el navegador integrado.

Se recomienda encarecidamente diseñar el chasis para que tenga un acceso sencillo para enchufar y desenchufar USB

Pero si hacemos la prueba de abrir el navegador y tratar de seleccionar la página html local, descubriremos que una tarea tan aparentemente sencilla, esconde una dificultad: al instalar Firefox desde Flatpak éste no tiene acceso, por motivos de seguridad, a los archivos locales.

Las aplicaciones Flatpak se ejecutan en un entorno aislado (sandbox), lo que mejora la seguridad, pero este aislamiento limita el acceso de la aplicación al sistema operativo y a otros archivos.

No pasa nada, esto tiene solución, pero hay que explorar algunas opciones un poco más avanzadas.

Para empezar, vamos a permitir al paquete Flatpak del Firefox acceder al sistema de archivos local. Para ello, entraremos al terminal desde la aplicación xterm:

Batocera, por supuesto, tiene CLI

Y escribimos lo siguiente:

flatpak override org.mozilla.firefox --filesystem=host

Con este comando, configuramos el paquete para acceder a ficheros locales, con lo que ya podríamos abrir el archivo HTML que hemos copiado.

Pinceladas finales

Los detalles son importantes. Y el hecho de que la máquina ejecute automáticamente el juego de Scratch de forma automática al encender puede conseguir un efecto más realista.

Para ello, crearemos un archivo .sh en la carpeta /userdata/roms/ports con un comando que lance el Firefox directamente con nuestro juego scratch y en modo kiosko (pantalla completa, sin barra de navegación y que, por tanto, no se pueda cambiar de página). El contenido del archivo será un lanzador como este:

#!/bin/bash
flatpak run org.mozilla.firefox /userdata/roms/ports/scratch.html --kiosk

Ahora ya podemos abrir directamente nuestro juego desde el menú Ports de la interfaz de navegación entre los emuladores de Batocera:

Recuerda que para que detecte nuevos juegos hay que seleccionar la opción desde el menú principal (GAME SETTINGS > UPDATE GAME LIST)

Pero si lanzamos el juego, detectaremos que no funciona con el joystick y los botones, sino con el teclado. Para poder usar los mandos de la recreativa, tendremos que hacer una configuración específica para el juego. Dejando el botón de selección apretado sobre el juego, aparece el menú contextual.

Esta opción es la que buscamos

La opción «EDIT PAADTOKEY PROFILE» nos permite mepear el joystick y la botonera de nuestro arcade a las teclas del teclado y botones del ratón que queramos.

Simplemente, hay que seleccionar a qué tecla o botón del ratón corresponde cada botón de nuestra máquina

También puede ser interesante mapear el movimiento del ratón a la seunda palanca, por si hay que apretar algún botón con el ratón.

Por si acaso, la palanca de la derecha moverá el ratón

Le damos a salvar y ya lo tendríamos. Batocera crea un fichero de configuración, por lo que no es necesario hacer esta configuración más veces.

Eso sí, te recomiendo que siempre que copies un juego SCRATCH lo renombres a scratch.html y sobrescribas el anterior, de ese modo no tendrás que repetir esta configuración cada vez.

Cuando ya esté todo funcionando correctamente, seleccionamos desde el menú contextual del juego (dejar presionado el botón de selección sobre el juego) y en ADVANCED GAME OPTIONS activamos la última opción:

Que es esta

Conclusiones

Al final del camino se ha construido máquina recreativa completamente funcional en un chasis único, construido artesanalmente, artísticamente decorado y técnicamente configurado por el alumnado del centro. Además, cabe la posibilidad de que los juegos disponibles también sean elaborados por el mismo alumnado, cerrando así completamente el círculo.

El proceso ha sido largo y complejo, ya que ha involucrado a alumnado de diversas etapas y a profesorado de diversos departamentos didácticos o familias profesionales. Pero ahí está la magia de los proyectos interdisciplinares y, como podéis ver, los resultados pueden ser espectaculares.

La principal dificultad ha radicado en la temporalización, ya que cuesta cuadrar la realización del proyecto con el momento adecuado de los contenidos en todos los grupos. Esto ha dado pie a que la construcción se haya dilatado durante todo un curso académico. Por tanto, la máquina se presentó «en sociedad» en la jornada de puertas abiertas del centro del curso siguiente. La investigación sobre la ejecución de SCRATCH se realizó a finales del curso siguiente.

Con todo, el alumnado ha podido desarrollar competencias técnicas y artísticas mientras participaba en esta iniciativa, de una manera emocionante y motivadora. Y ahora el centro dispone de una máquina recreativa para jugar a juegos de producción propia o de dominio público. Y es que lo retro nunca pasa de moda. Y ahora quizá lo tengamos que celebrar con una visita extraescolar al Museo del Arcade de Ibi.

Producto finalizado