Super Mario 64 en la Web

Un port de Super Mario 64 en WebGL y WebAssembly, jugable directamente en el navegador, está impresionando a los usuarios con su rendimiento fluido, compatibilidad con mandos e incluso jugabilidad en smartphones más antiguos. Los comentaristas intercambian consejos sobre asignaciones del teclado y soluciones para las peculiaridades del audio y los mandos del navegador, al tiempo que señalan que se trata de un port nativo compilado, no de una emulación tradicional de N64. Junto con la nostalgia por el juego original y su diseño, varias personas plantean preocupaciones sobre la legalidad de alojar tan abiertamente propiedad intelectual de Nintendo y sobre confiar en un binario WASM de código cerrado, dada la historia de Nintendo de retiradas agresivas.

Controles y entrada

  • Los controles del teclado no son obvios; los usuarios comparten asignaciones (X/C/espacio, flechas, WASD) y enlaces a un fork que los muestra en pantalla.
  • Algunos informan que el teclado no funciona en absoluto en ciertas compilaciones, pero los mandos suelen funcionar sin problemas, incluidos Xbox, PlayStation, 8BitDo y mandos Bluetooth en teléfonos.
  • En iPhone, los usuarios normalmente emparejan mandos en lugar de depender de teclados en pantalla.

Audio y comportamiento del navegador

  • Muchos informan que no hay sonido en Firefox, Chrome y Edge por defecto.
  • La causa se identifica como los navegadores bloqueando el audio automático/WebAudio sin interacción previa del usuario.
  • Las soluciones incluyen cambiar los permisos del sitio (Autoplay/Sound → Allow) y cargar el juego mediante un iframe activado por un clic.

Detalles de implementación y seguridad

  • Los comentaristas aclaran que esto no es emulación de N64, sino una compilación WebGL/WebAssembly del port descompilado de Super Mario 64.
  • El juego principal está en un binario .wasm; los envoltorios de código fuente están en GitHub, y se enlazan forks.
  • A algunos les incomoda ejecutar un blob WASM cerrado; otros sostienen que no es peor que el JS normal, dado el sandbox del navegador.
  • Se describe WebAssembly como algo con restricciones de capacidad aproximadamente iguales a las de JavaScript.

Rendimiento y plataformas

  • El rendimiento es muy elogiado, incluso en portátiles de gama baja y smartphones.
  • Los usuarios encuentran surrealista que una pestaña del navegador en un teléfono pueda ejecutar Mario 64 a plena velocidad.

Diseño del juego, tutoriales y consolas modernas

  • Varios comentan cuántas interrupciones/tutoriales preceden al juego real, comparando los juegos antiguos de “arranque instantáneo” con títulos modernos con largas intros y actualizaciones obligatorias.
  • Algunos ven las indicaciones iniciales como una guía necesaria para jugadores nuevos en 3D en aquella época; otros las encuentran tediosas.

Legal/IP y preocupaciones de distribución

  • Varias personas esperan que Nintendo retire el proyecto, citando su historial de aplicación agresiva de la propiedad intelectual.
  • Algunos señalan que los ports oficiales basados en descompilación suelen requerir que los usuarios aporten sus propios activos ROM, a diferencia de esta versión preempaquetada.

Nostalgia y charla sobre hardware

  • El hilo incluye mucha nostalgia por el hardware de N64, los mandos y las configuraciones retro (CRT, flash carts, RetroPie).
  • Hay debate sobre la ergonomía del mando de N64 y consejos para preservar la vida útil del joystick (por ejemplo, añadir grasa).

Trampas habituales en el desarrollo de juegos web

  • Los desarrolladores señalan problemas recurrentes: interacción obligatoria del usuario antes de AudioContext, asignaciones inconsistentes de mandos entre navegadores, y la identificación limitada de dispositivos debido al anti-fingerprinting, lo que complica un soporte robusto para mandos.