Logo de Shinra Technologies

Shinra Technologies vs Nintendo SCD: La guerra por la computación distribuida en juegos que nunca fue

«Presentamos la nueva evolución del videojuego«. Así rezaba en inglés en la página web de la empresa filial y subsidiaria de Square Enix desde su fundación en otoño de 2014 hasta su cierre este enero, junto a un anuncio de pérdidas valoradas en dos mil millones de yenes (algo menos de 17 millones de dólares estadounidenses) por falta de inversiones de terceros. Un trágico final para la compañía que fundó el antiguo presidente de Square Enix, Yoichi Wada, con la intención de hacer de este 2016 un año clave para los videojuegos en la nube. Shinra Technologies se llamaba, pero no se dedicaba a la extracción de la energía Mako del planeta como sí hacía la megacorporación Shinra Electric Power Company ni ha tenido que presentarse un grupo ecoterrorista para pararles los pies. Eso sí, como dato jocoso ha tenido el apoyo, entre otros, de Avalanche Studios (creadores de Just Cause y otros títulos que jamás pisaron una consola Nintendo).

Logo de Shinra en Final Fantasy VII
Logo de Shinra en Final Fantasy VII. Se parecen, ¿verdad?

Por otro lado, de Nintendo solo tenemos la patente de los Supplemental Computing Devices for Gaming Consoles (SCD en corto, que vamos a usarlo veces), que se podría traducir como Dispositivos de Cálculo Suplementario para Videconsolas, y de cuyas características (cualitativas, en patentes casi nunca se detalla nada cuantitativamente) nos hemos hecho eco en un par de noticias (1, 2). No tiene historia porque aún no ha sido puesta en marcha de forma oficial, pero se rumorea que esto es lo que puede ayudar a hacer de Nintendo NX la consola híbrida y modular que se dice que será.

Ambas tecnologías tratan de, en resumen, atajar un mismo problema de dos formas distintas: permitir la ejecución de un juego a un sistema con recursos insuficientes, a través de la computación distribuida.

 

¿Pero qué leches es eso de la computación distribuida?

Acabaríamos antes si dijéramos que son servicios en la nube (o servicios cloud), pero no es del todo cierto por culpa de los SCD de Nintendo, que pueden no estar todo el rato proveyendo el servicio en la nube (ya se detallará más adelante). Wikipedia lo sabe, pero esta definición es más breve: se trata de dos o más computadores separados físicamente pero conectados y comunicados entre sí, que utilizan sus recursos de forma colaborativa y que actúan como si fuesen un único sistema. Normalmente se utiliza para resolver problemas que son demasiado costosos para cualquier supercomputador y es muy difícil o imposible hacerlo de un modo que no sea fuerza bruta. La nube es solo una de las muchas posibles particularizaciones de este concepto.

Ejemplo de sistema de computación distribuida
Esto es ya un ejemplo de computación distribuida

La computación distribuida no es nueva: hay proyectos desde los 90 que aceptan potencia de cálculo donada para ayudar a curar el cáncer, tuberculosis, virus Zika, Ébola, SIDA, encontrar extraterrestres, o incluso buscar números primos de récord, entre otros. La donación de potencia solo se hace cuando el equipo se encuentra inactivo o en modo de bajo consumo y se deja de contribuir cuando está en uso, para no perjudicar al dueño del equipo. Aunque por supuesto, para el caso de Shinra Technologies o los SCD de Nintendo los propósitos no eran tan nobles.

 

Shinra Technologies: Nosotros ejecutamos tu partida; y tú ves y juegas en streaming

O al menos esa era la idea que expresaban en su ya cerrada página web, solo accesible a través de capturas de archive.org. Shinra afirmaba disponer de miles de procesadores tanto normales (CPU) como gráficos (GPU), a disposición tanto del usuario como del mundo virtual que se ejecutara, compartiendo automáticamente los recursos que fueran necesarios y eliminado los problemas de sincronización que presentan otros modelos. Para solucionar el hecho de que los equipos de juego de los usuarios no suelen ser óptimos y son obsolescentes, todos los cálculos tanto físicos como lógicos o gráficos se harían del lado de la filial de Square Enix, y el usuario simplemente recibiría un «vídeo» en streaming de lo que está jugando y enviaría las órdenes de control de los mandos. Los desarrolladores solo tendrían que molestarse en crear y mantener el programa alojado en Shinra, porque los programas cliente serían de reducido tamaño.

Jugar desde la nube tampoco es una idea nueva: Square Enix ya probó un precursor de Shinra Technologies para llevar Dragon Quest X a 3DS y móviles, que es la alianza con Ubitus y su GameCloud. Según qué móvil se tiene más o menos potencia, pero la 3DS es un sistema especialmente poco potente, totalmente incapaz de ejecutar el título por sí misma. No obstante, al final el despliegue del juego resultó un completo desastre en la portátil.

Pantalla de bienvenida de Shinra
Así se veía la web de Shinra cuando estaba activa

La diferencia principal entre ambos servicios en la nube radica en un modo de gestión de recursos más eficiente del que disponía Shinra Technologies (con una tecnología patentada según su web), junto a una arquitectura basada en Windows y DirectX de las que Ubitus carecía. Guste o no, DirectX era (y es) la killer application del momento para desarrollo de juegos y ha sido motivo de que muchos juegos no apunten a Wii U, aunque esté perdiendo fuerzas y otras iniciativas más neutrales como Vulkan pretendan tomar el relevo; pero debemos recordar que no se lanzó hasta después del cierre de la compañía.

Eso sí, no está de más recordar que el uso de esta tecnología no sale gratis: si de algún lugar tiene que salir la cuota que pagan los desarrolladores a Shinra Technologies es de los usuarios. Lo más probable en caso de que se hubieran terminado de desarrollar juegos para esta plataforma en la nube, es que los juegos se financiaran a través de suscripciones mensuales o microtransacciones.

 

Nintendo SCD: En tu red local, y en las nubes…

Ya lo dice el propio trasfondo de la patente: Aunque hoy día gran parte de los juegos han pasado a ejecutarse en la nube, donde la capacidad de proceso es significativamente mayor que la de los equipos disponibles en manos de los usuarios, la calidad del «cloud gaming» depende mucho del retardo de la conexión pudiendo estropear la experiencia de juego si estos retardos son altos. Lo que Nintendo pretende con los dispositivos de cálculo suplementario es proveer de más capacidad conectando físicamente (con o sin cables) el dispositivo al aparato principal de juego, eliminando o reduciendo drásticamente el retardo. La conexión puede ser en estrella (la consola conectada directamente a varios SCD) o en cadena (consola a SCD, y este SCD a otro SCD…). Para conexiones inalámbricas la cosa es algo más complicada y técnica, pero parece ser muy similar a conectarse a una red inalámbrica cualquiera. La utilidad de un SCD, como parece obvio, es reducir la carga de los componentes del propio dispositivo de juego principal, así como mejorar la experiencia de juego.

1607-29 Patente Nintendo Julio 2016 NX
Detalle del uso y contenido formal de un SCD

Lo interesante viene ahora: los recursos del SCD pueden compartirse a través de la nube con otros usuarios de consola, aunque el usuario en principio decidie qué cantidad de recursos comparte y en qué franjas horarias o circunstancias lo hace (por ejemplo compartir 100% mientras no juega y 25% mientras juega). Según lo que se comparta el SCD (por ejemplo según tiempo o recursos compartidos), el usuario puede acceder a premios como acceso a otros SCD, juegos, contenido adicional, descuentos, recompensas físicas o digitales, o insignias en redes sociales, entre otras.

En cualquier caso, se puede acceder a un menú en que se muestran todos los SCD disponibles que cumplan ciertas condiciones de retraso o de intensidad de señal (para así asegurar una calidad mínima de servicio) y hacer uso de ellos. Una vez se ha hecho la conexión el SCD se utiliza como propio, en la capacidad que tenga compartida su dueño.

Ejemplo de uso de un SCD
Queda claro que usar un SCD de otro usuario es un servicio de pago, ¿verdad?

Ahora, el aspecto preocupante: en la patente se menciona que puede haber contenidos en los juegos que no estén disponibles para aquellos que no dispongan de un SCD. En otras palabras, algunos juegos completos, partes de juegos (como niveles, personajes y otros) o incluso contenidos separados de estos mismos juegos (como otras aplicaciones, libros, vídeos, canciones u otros) te pueden obligar a hacer uso (no se dice si física o remotamente) de un SCD para poder disfrutarlos, y los ejemplos anteriores entre paréntesis están extraídos de la propia patente. La patente se justifica en que serían los recursos añadidos los que permitirían hacer uso de estas características. Aunque se trata de algo bastante controvertido, tiene sentido para algunos casos. Para otros (como el caso de un personaje bloqueado por recursos) es ridículo.

Aún así, ¿podrían ser los SCD uno de los responsables de la rumoreada modularidad de la futura consola Nintendo NX? Sabiendo que ambas patentes están pensadas para su uso en ámbitos de videojuegos, y la de Nintendo es específica para consolas (cualquier consola que haga uso de esa idea tendría que pagar), ¿qué tecnología de computación distribuida hubiera salido victoriosa en caso de que hubieran competido en videoconsolas?

Mostrar Comentarios (0)