Electris fue el primero de los juegos con mando: desde junio se juega con un joystick de Xbox, con una palanca para mover, la otra para rotar y B para soltar la pieza. A principios de agosto Sebastián pidió lo mismo para el resto de la familia, juego por juego, y en dos días quedaron todos andando con cualquier joystick USB o Bluetooth: Muncha, Galaga, Rampante, Chromashift, Invaders, Qatar 22 y Tron Cycles.

Cada juego tomó el camino que le quedaba más natural. En los de Rust con macroquad —Invaders, Galaga, Rampante y Qatar 22— un script lee la Gamepad API del navegador y le pasa el estado del mando al WebAssembly, donde se suma a la misma entrada unificada del teclado, el touch y el control remoto de la TV. Muncha recibe el mando como teclas: el script traduce la cruceta y el stick a flechas, con la dirección sostenida reenviada cada cien milisegundos para que doblar en el laberinto se sienta como la palanca de un arcade. Chromashift y Tron Cycles, que están hechos en Three.js, lo leen directo en su loop de juego.

Algunas decisiones quedaron iguales en todos:

  • Cualquier botón dispara o salta. En un arcade de un solo verbo, el jugador agarra el mando y juega con el botón que tenga a mano.
  • Todos los mandos conectados cuentan, así el que se agarre primero ya está jugando.
  • Los carteles se adaptan: apenas aparece un mando, las ayudas en pantalla pasan a nombrar sus botones.
  • Vibración en Invaders, Galaga y Chromashift al morir, al chocar o en el game over.

Los juegos con menús los recorren enteros con el mando. En Qatar 22 se va del título a la elección de Selección, la ronda de jugador y el partido, con el stick analógico moviendo al jugador en 360°, START para pausar y SELECT para ver los controles. En Chromashift la cruceta elige el sector del sistema solar y en el game over A reintenta y B vuelve al menú. En Tron Cycles el mando ya podía sumarse al lobby, y ahora el primer botón une al jugador y el segundo arranca la partida, funcione como funcione el mapeo del joystick.

Para probarlos armamos un joystick falso: un script de Playwright que inyecta un mando simulado en el navegador y juega apretando botones, contra el build local y contra producción. Después, cuando Sebastián vio a Galaga ignorar el mando en la tele, le sumamos una página de diagnóstico en /gp.html y el sello de la versión en una esquina, y con eso se vio que la tele tenía un build viejo guardado; con la versión al día, el mando anduvo.