Como construir un arcade que da toques cuando recibe daño tu personaje en Street Fighter

Introducción

[GRAFICO MOSTRANDO UN JUGADOR 1 enviando un hadouken usando a ryu a jugador 2 y con efecto eletrico]

Sentiras literalmente el “Hadouken” de Ryu y esto es de las cosas mas divertidas para jugar en una noche de cervezas con amigos y a un más con un contrincante con nivel y valiente, por que durante las pruebas/beta con varios jugadores descubri que no cualquier ser humano acepta el reto de jugar con dolor, la idea dio inicio a partir de que tenia ganas de testear un #Arduino utilizando #Javascript y al mismo tiempo la nostalgia de jugar mi primer juego de peleas Street Fighter 2 (The World Champion) en mi nuevo arcade casero que habia construido recientemente.

Este dispositivo se clasifica como Haptico (Haptic):

Háptico = tecnología que hace que puedas “sentir” físicamente lo que ocurre en una experiencia digital.

Productos hápticos comerciales similares en el mercado y caros

Nosotros vamos a fabricar uno casero(DIY) y nos va a costar $689 MXN ($40 USD) pero actualmente existen varios dispositivos Hápticos, sin embargo son caros y la mayoria orientados a dispositivos de realidad aumentada (VR) entre los mas populares son estos:

Woojer Vest 4 (~$7,300 MXN) — USD$479
OWO Skin (~$10,300 MXN) — USD$569
TactSuit Pro (~$10,200 MXN) — USD$565
X-Force Haptics Kit (~$4,700 MXN) — USD$369.95
Teslasuit (~$235,000 MXN 🤯🔥) — USD$12,999 🤯🔥

Pero ninguno esta diseñado realmente para jugar Street fighter 2, es posible configurar algunos usando el sonido pero es poco exacto y actualmente a la fecha de este tutorial no hay ninguno especificamente para street fighter 2.

Objetivos del Arcade Háptico con Street Fighter 2

Recepción de golpes

[GRAFICO ANIMADO]

Si el jugador 1 causa daño al jugador 2 este reciba una descarga electrica y viceversa.

Castigo por perder

[GRAFICO ANIMADO]

En caso de que pierda el jugador 1 o 2, este recibira 5 descargas continuas por el tiempo que tarda el clasico grito del personaje al morir sera como recibir un Fatality de toques.

Diagrama de construcción del proyecto

[GRAFICO mostrando Arcade (PC), HARDWARE y SOFTWARE]

Necesitamos 3 elementos un Arcade (PC), HARDWARE HAPTICO y SOFTWARE:

  1. Arcade o simplemente tu laptop/pc con Windows con el emulador RetroArch el cual nos permitira acceder a la memoria del juego de Street fighter y leer los parametros de daño/muerte.
  2. Hardware: Fabricar nuestro Hardware haptico que emitira las descargas electricas al jugador 1 o jugador 2.
  3. Software: Configurar e instalar Stuncore el cual se encargara de enviar la señal a nuestro hardware de que el jugador 1 o jugador 2 debera recibir daño o castigo por perder.

Fabricando el hardware

[GRAFICO mostrando parte HARDWARE]

Usaremos un #Arduino UNO R3 con un servo motor que lo usaremos como un relay el cual se encargara de direccionar la señal de toques de kla caja de toques al jugador 1 o jugador 2 y el programa Stuncore sera el que enviara la información del emulador RetroArch y enviara la señal a nuestro servo motor para darle toques al jugador 1 o jugador 2.

¿Necesito tener conocimientos de programación y electronica?

No, para replicar este proyecto sigue los pasos que a continuación describo e intentare explicar que hace cada pieza de este proyecto, es básicamente un LEGO, solo debes unir las piezas, si eres menor de edad por favor pide ayuda a un adulto no lo armes sin la supervisión de un adulto.

Materiales para construir el hardware háptico

Los materiales que usaremos para construir son los siguientes:

NombrePrecio MXNPrecio USDImagenDonde comprar
Caja de toques armada
PCAJA-001
$299 MXN$17.67 USDKit De Caja De Toques Para Armar | K-322Mercado Libre
Tienda Steren
Arduino UNO REV 3 $109 MXN$5.50 USDArduino UNO REV 3Mercado Libre
Cables Dupont Jumpers 20cm$10 MXN$1 USDMercado Libre
Micro Servomotor Mg90s$57 MXN$3.36 USDMicro Servomotor Mg90sMercado Libre
Caja De Plástico Proyectos Electrónicos $84 MXN$3.35 USDCaja De Plástico Proyectos Electrónicos Mercado Libre
Colgadera Tipo Caimán Para Cuadros Y Marcos 6 piezas$40 MXN$2.36 USDMercado Libre
Ferreteria local
2 resortes de bateria$0 MXN$0 USDUn control viejo
Mercado Libre
4 ligas para el cabello$20 MXN$1 USDTienda Local
Mercado Libre
10 metros de cable bocina calibre 22 AWG$50 MXN$2.36 USDFerreteria local
Mercado Libre
Cinta de aislar,cintillos, pijas y silicon$20 MXN$1 USDFerreteria Local
Total$689 MXN$40 USD aprox

Conectando nuestra caja de toques al servo motor

Primer paso, deberemos conectar la caja de toques a nuestro servo motor, el servo motor sera el encargado de tomar la desición de darle los toques al jugador 1 o jugador 2 que reciba daño en el juego.

Caja de toques armada PCAJA-001 marca Steren

Kit De Caja De Toques Para Armar | K-322

Tocas las barras y recibes el toque… ¡y descubres qué tan rápido puedes brincar! ⚡🤣

La caja de toques de la marca steren modelo “PCAJA-001” que use transmite pulsos eléctricos controlados que producen una sensación de descarga al tocar los electrodos, en México es algo muy comun de ver en fiestas, bares o la calle para divertir a la gente y la razon por al cual preferi usar este aparato de la marca Steren en vez de construirlo es para darme paz mental por temor a equivocarme y crear algo mortal que termine en resultados fatales y es por eso preferi usar este producto comercial que se podria decir que en teoria es seguro 🤔 para ser usado en humanos por que el fabricante expresa en la caja lo siguiente “Es confiable y muy segura, sin embargo no debe utilizarse con personas que tengan marcapasos, problemas de presión arterial o mujeres embarazadas.” asi es que si tienes dudas, mejor consulta con tu doctor simi👨🏻‍⚕️ antes de probarlo.

Servo motor MG90S

Micro Servomotor Mg90s

El servo motor es un pequeño motor que puede girar hasta la posición que tú le indiques, como si fuera un brazo mecánico controlado por computadora. 🤖⚙️.

Empecemos con la fabricación, en nuestra Caja De Plástico de Proyectos Electrónicos fijaremos el servo motor en una de las orillas de nuestra caja de plastico, le puse un cintillo haciendo unos agujeros en la caja para sujetarlo.

A continuación en el brazo de servo uniremos en cada lado un resorte de bateria usaremos los orificios del brazo de servo para una mejor fijación.

Despues usaremos 4 de las colgaderas tipo Caimán y los vamos a doblar en forma de L para poder unir con una pija a nuestra caja como indica en el diagrama:

[DIAGRAMA DE COMO DEBERAN QUEDAR LOS CAIMES]

Fijamos el caiman a la caja de plastico con el tornillo

Doblamos en L el caiman para que quede a la altura como indica el diagrama

Hacemos el mismo proceso con los caimanes restantes que en total deberemos fijar los 4 caimanes a la caja en la posición que indique en el diagrama.

Ahora vamos a realizar el cableado de nuestra caja de toques al servo motor, empezamos desarmando los 2 electrodos para tener los 2 cables con el conductor de cobre expuesto.

Ahora los conectaremos con nudo en cada resorte de bateria de cada lado en el brazo del servo motor.

Pulseras para las manos del jugador 1 y jugador 2

Fabricaremos ahora las pulseras el cual sera el enlaze para que el jugador 1 y jugador 2 recibiran los toques de su personaje con la caja de toques.

Empezaremos retirando el recubrimientro de un 1 metro de cable de bocina de bocina calibre 22 AWG.

Despues usando una liga de cabello fijaremos usando el alambre del cable de bocina que acabamos de quitarle el recubrimiento y lo enrollaremos para que quede justo como en al imagen.

Usaremos un metro de cable de bocina y haremos la conexión a la liga de cabello debe quedar como en la imagen.

Deberemos fabricar 4 pulseras para usar un par por cada jugador como muestra en la imagen con un metro de cable de bocina, puedes aplicar un poco de cinta de aislar para evitar que desarme.

Conectaremos las 4 pulseras que fabricamos en los 4 caimanes en el siguiente orden, despues los 2 cables de la caja de toques los fijaremos en cada resorte de bateria que tenemos en el brazo del servo motor, el objetivo es hacer la conexión con la pulsera que ira conectado al jugador 1 o jugador 2 cuando gire el servo motor.

Montaremos la placa arduino a la caja de plastico

Fijaremos la placa arduino a nuestra Caja De Plástico Proyectos Electrónicos si esta diseñada para placas arduino estas ya incluyen tornillos y orificios para fijarla, pero en mi caso use una caja plastica que no es para arduinos, asi es que tuve que hacerle unos agujeros y luego la fije con cinchos de plastico.

Conectando el servo motor a la placa arduino

Nuestro servo motor tiene un conector con 3 cables (Negro, naranja y rojo) este deberemos conectarlo como indica el siguiente diagrama en el pin 9 debe ser cable amarillo y el rojo y negro en donde nuestra placa dice 5V y GND.

Normalmente el cable termina en un conector hembra de 3 pines, por lo que para conectarlo al Arduino Uno R3 necesitas pines macho que entren en ese conector. Yo utilice unos cables Cables Dupont o Jumpers de macho a macho.

Asi es como quedo la conexión con los cables dupont o jumpers:

Aplicando silicon en todo el cableado

Para fijar los cables dupont o jumpers y asi evitar que se desconecten aplicar silicon en todas las conexiones con los cables tambien hacer lo mismo en los caimanes, el servo motor, en todo donde creas que podria moverse algun cable o alguna pieza.

Conectar el dispositivo haptico al PC o Arcade

Con esto hemos logrado crear nuestro hardware haptico y ahora solo vamos a conectar nuestro USB del cable arduino directamente a el PC o ARCADE, en el puerto USB 3.0 y continuaremos en el siguiente paso que es el software el cual se va a encargar de mover el servo motor y direccionar los toques al jugador 1 o jugador 2.

Instalar y configurar el Software(Arduino IDE, Emulador y Stuncore)

Previamente hemos creado nuestro hardware haptico, ahora necesitamos configurar e instalar nuestro software que enviara la señal a nuestro servo motor por medio del arduino para que tome la desición de a quien electrocutar si al jugador 1 o jugador 2.

Cargar firmata en nuestro Arduino

Paso 1: Conectar el Arduino al puerto USB:

Conecta la placa Arduino Uno R3 a un puerto USB de tu computadora Windows utilizando el cable USB tipo A-B.

Cómo verificar: Comprueba que el LED marcado como ON (o PWR) en la placa se encienda y permanezca fijo.

Paso 2: Configurar la placa y el puerto en Arduino IDE

Instala Arduino IDE y abre la aplicación Arduino IDE en Windows. Dirígete al menú superior Herramientas (Tools):

  • En Placa (Board), selecciona Arduino Uno.
  • En Puerto (Port), selecciona el puerto COM asignado a la placa (por ejemplo, COM3 o COM4).

Cómo verificar: Revisa la esquina inferior derecha de la ventana del IDE; debe mostrar la leyenda Arduino Uno en COMx en mi caso es COM3.

Paso 3: Abrir el sketch StandardFirmata

En el menú superior, ve a Archivo (File) > Ejemplos (Examples) > Firmata > StandardFirmata. Se abrirá una nueva ventana con el código fuente del firmware.

Cómo verificar: Confirma que el nombre en la pestaña del nuevo sketch sea StandardFirmata, si no aparece deberas instalarlo buscando en el icono de “MENU LIBRARY” busca “FIRMATA” y haz click en instalar., ahora debera aparecer como indica la instruccion anterior.

Paso 4: Subir el firmware a la placa

Haz clic en el botón Subir (Upload) (el icono con una flecha apuntando a la derecha en la barra superior del IDE).

Cómo verificar: Los LEDs RX y TX de la placa parpadearán de forma rápida durante unos segundos y en la barra de estado inferior del IDE aparecerá el mensaje Subida completada (Done uploading).

Instalar el emulador RetroArch

Ahora vamos a instalar el “EMULADOR” que usaremos para este proyecto con una ROM especifica.

Paso 1: Descargar el instalador oficial

  1. Ve al sitio web oficial de RetroArch.
  2. Ubica la sección de Windows.
  3. Haz clic en la opción Installer (64bit) para descargar el paquete de instalación ejecutable (.exe).

Paso 2: Ejecutar el asistente de instalación

  1. Abre el archivo descargado (RetroArch-x86_64-setup.exe).
  2. Si aparece una ventana emergente de Windows SmartScreen o del Control de cuentas de usuario, haz clic en Sí o Ejecutar de todos modos.
  3. Haz clic en Next (Siguiente).
  4. Acepta los términos de la licencia de uso.
  5. Selecciona la ruta donde deseas instalar la aplicación (por defecto: C:\RetroArch-Win64) y presiona Next.

Paso 3: Completar el proceso

  1. Opcionalmente, marca la casilla para instalar librerías adicionales (como el paquete DirectX si te lo solicita el instalador).
  2. Haz clic en Install y espera a que termine de copiar los archivos.
  3. Presiona Finish para cerrar el asistente de instalación.

Configurar el emulador RetroArch

Paso 1: Acceder a los Ajustes de Red

  1. Ejecuta RetroArch.
  2. En el menú de navegación lateral (izquierda), selecciona Ajustes (icono de engranajes).
  3. Busca la opción Red y entra en ella.

Paso 2: Habilitar los comandos de red (network_cmd_enable)

  1. Dentro del menú Red, desplázate hasta encontrar la opción Comandos de red.
  2. Presiona Entrar en el teclado o el botón de confirmación de tu mando para cambiar el valor a Activado (ON).

Paso 3: Establecer el puerto (network_cmd_port)

  1. Justo debajo de la opción anterior, selecciona Puerto de comandos de red.
  2. Escribe el número de puerto: 55355.
  3. Presiona Entrar para confirmar el valor.

Paso 4: Guardar los cambios

  1. Regresa al menú lateral izquierdo y selecciona Menú principal.
  2. Entra en la opción Archivo de configuración.
  3. Selecciona Guardar configuración actual.
  4. Para asegurar que los cambios queden correctamente registrados, haz clic en Salir de RetroArch al finalizar.

Cargar el juego de Street fighter 2

Paso 1: Descargar el núcleo (Core): RetroArch Menu.

  1. Abre RetroArch y entra al Menú principal.
  2. Ve a Cargar núcleo > Descargar un núcleo.
  3. Busca en la lista la sección Arcade y selecciona Arcade (FinalBurn Neo).

Verificación: Al terminar la descarga, ve a Cargar núcleo y confirma que Arcade (FinalBurn Neo) aparece listado.

Paso 2: Preparar el archivo de la ROM:Formato de archivo.

Asegúrate de tener el archivo comprimido del juego debe ser espeficicamente con el nombre sf2ce.zip el titulo es Street Fighter II’ – Champion Edition (street fighter 2′ 920513 World), este archivo te toca buscarlo en la red 🙂

Name: Street Fighter II’ – Champion Edition (street fighter 2′ 920513 World)
Publisher: Capcom
CRC32: 60FF7935
SHA1: 5CC0D010DF0557BBA181D74ECCDBC82968B6FAEC
MD5: AA8FF96DFOEFEF0048162D279343F37E

Paso 3: Cargar y ejecutar el juego

  1. En el menú principal de RetroArch, selecciona Cargar contenido.
  2. Navega por las carpetas hasta encontrar tu archivo .zip de Street Fighter II.
  3. Selecciona el archivo y elige la opción Cargar archivo (o selecciona el núcleo FinalBurn Neo si te solicita asociarlo).

Verificación: La pantalla cambiará y verás la secuencia de introducción/demo de Street Fighter II.

Instalando la aplicación de Stuncore

La ultima pieza de software que tendremos que instalar, el programa detecta cuando estás jugando Street Fighter II en RetroArch y convierte determinados eventos del juego en señales para el Arduino

⬇️ Descargar Stuncore

Una vez instalado, ahora solo debemos ejecutar Stuncore al mismo tiempo que el emulador, en cuanto un personaje del juego genere daño al jugador contrario, el servo motor movera el brazo del servo y realizara la conexion de toques al jugador 1 o jugador 2.

¡Listo, a jugar... Fight ⚡!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *