God of War en PSP, recompilado a WebAssembly y ejecutándose en el navegador

Un nuevo proyecto traduce el código máquina MIPS de un God of War de la era PSP a C++ y WebAssembly para que pueda ejecutarse en un navegador, lo que plantea preguntas sobre dónde termina la recompilación estática y dónde comienza la emulación. Los comentaristas evalúan la promesa de la ingeniería inversa asistida por IA para la preservación de videojuegos frente a preocupaciones sobre la legalidad, el control de la PI y una avalancha de ports de baja calidad tipo “slop”. El hilo también aborda cambios más amplios en la industria, incluido el impacto de la IA en las prácticas de desarrollo de software, la salud económica de los estudios de videojuegos y un posible giro hacia juegos alojados en servidor o transmitidos para resistir la ingeniería inversa.

Enfoque técnico y qué es realmente esto

  • El proyecto traduce por adelantado el código máquina MIPS de PSP a C++, luego lo compila a WebAssembly y lo ejecuta junto con una pequeña reimplementación del SO/GPU de PSP usando WebGL2.
  • Varios comentaristas sostienen que esto sigue siendo “emulación en espíritu”: las instrucciones de CPU manipulan un estado de CPU MIPS + un modelo de memoria, con emulación de alto nivel para el SO/GPU.
  • Otros señalan que se parece más a una recompilación estática / AOT + HLE que a un emulador tradicional de intérprete/JIT, y que es específico de un juego más que un emulador de propósito general.

Calidad, ports “slop” y herramientas

  • A algunos les parece impresionante el resultado, especialmente dado lo exigentes que eran juegos de PSP como God of War en los emuladores de escritorio.
  • Otros critican este tipo de proyecto como “slop”: trucos por juego, C++ generado que es esencialmente ensamblador estructurado, y probablemente errores frente a emuladores maduros como PPSSPP.
  • Preocupación más amplia: el auge de ports rápidos asistidos por IA que se ven bien en una captura de pantalla pero son inestables o injugables y se abandonan tras el entusiasmo inicial.

El papel de la IA en la emulación y la ingeniería inversa

  • Se ve a la IA como una forma de acelerar la descompilación/recompilación: trabajar a nivel de función, fuerza bruta de salida C hasta que los binarios coincidan, o usar emuladores como oráculos.
  • Algunos celebran esto como “romper la burbuja de la emulación” y permitir ports directos y una mejor preservación.
  • Otros se preocupan por la fragmentación (muchos ports a medio hacer en lugar de unos pocos proyectos compartidos de alta calidad) y por el código opaco generado por IA, difícil de mantener.

Cuestiones legales, éticas y de propiedad intelectual

  • Se repite la discusión sobre la legalidad: tener tu propio ROM volcado se argumenta como aceptable en algunas jurisdicciones; distribuir ROMs no lo es.
  • Se señala que este proyecto requiere que los usuarios aporten su propio ROM de PSP y una herramienta de descifrado; no incluye recursos.
  • Algunos prevén que los titulares de PI presionen para leyes más estrictas o incluso a los proveedores de IA para bloquear usos de ingeniería inversa; otros creen que “no pasará nada”.

Preservación de juegos vs. control e impacto en la industria

  • Un sector ve estas herramientas como algo excelente para la jugabilidad a largo plazo de juegos antiguos en plataformas futuras.
  • Otro señala que los ISOs y los emuladores ya existen; esto se parece más a “remasterizar” que a preservar.
  • El hilo deriva en preocupaciones de que la IA omnipresente + la piratería/remasterización empujen a los editores hacia juegos solo en servidor/transmitidos, reduciendo el control del consumidor, y puedan contribuir a la inestabilidad del sector y a despidos.