Cómo funciona la plataforma de juegos en la nube para clientes b2b y b2c. Soluciones para una excelente imagen y luchar con la última milla

Los juegos en la nube se llaman una de las principales tecnologías que debes seguir en este momento. Durante 6 años, este mercado debería crecer 10 veces, de $ 45 millones en 2018 a $ 450 millones en 2024. Los gigantes de la tecnología ya se han apresurado a hacerse un hueco: Google y Nvidia han lanzado versiones beta de sus servicios de juegos en la nube, Microsoft, EA, Ubisoft, Amazon y Verizon están a punto de entrar en escena.

Para los jugadores, esto significa que muy pronto podrán dejar de gastar dinero para actualizar el hierro y ejecutar juegos potentes en computadoras débiles. ¿Es beneficioso para el resto del ecosistema? Explicamos por qué los juegos en la nube aumentarán sus ganancias y cómo creamos una tecnología que facilita la entrada en un mercado prometedor.



Editores, desarrolladores, fabricantes de televisores y operadores de telecomunicaciones: ¿por qué todos necesitan juegos en la nube?


Los editores y desarrolladores de juegos están interesados ​​en entregar su producto al mayor número de jugadores lo más rápido posible. Ahora, según nuestros datos, el 70% de los compradores potenciales no llegan al juego, no esperan a que el cliente descargue y el archivo de instalación pesa decenas de gigabytes. Al mismo tiempo, el 60% de los usuarios, a juzgar por sus tarjetas de video , en principio, no pueden ejecutar juegos potentes (nivel AAA) en sus computadoras con una calidad aceptable. Los juegos en la nube pueden resolver este problema: no solo no reducirá las ganancias de los editores y desarrolladores, sino que los ayudará a construir una audiencia que pague.

Los fabricantes de televisores y decodificadores ahora están buscando juegos en la nube. En la era de los hogares inteligentes y los asistentes de voz, tienen que competir cada vez más por la atención del usuario, y la funcionalidad del juego es la principal forma de atraer esta atención. Con los juegos en la nube integrados, su cliente podrá ejecutar juegos modernos directamente en el televisor, pagando el servicio al fabricante.



Otro participante potencialmente activo en el ecosistema son los operadores de telecomunicaciones. Su forma de aumentar los ingresos es proporcionar servicios adicionales. El juego es solo uno de estos servicios que los operadores ya están implementando activamente. Rostelecom lanzó la tarifa "Gaming", Akado está vendiendo el acceso a nuestro servicio Playkey. No se trata solo de operadores de Internet de banda ancha. Los operadores móviles debido a la distribución activa de 5G también podrán hacer de los juegos en la nube su fuente adicional de ingresos.

A pesar de las brillantes perspectivas, ingresar al mercado no es tan simple. Todos los servicios existentes, incluidos los productos de gigantes tecnológicos, aún no han podido superar por completo el problema de la "última milla". Esto significa que debido a la imperfección de la red directamente en la casa o apartamento, el usuario no tiene suficiente velocidad de Internet para que los juegos en la nube funcionen correctamente.


Eche un vistazo a cómo se desvanece la señal WiFi, que se propaga desde el enrutador a través del apartamento

Los jugadores que han estado presentes durante mucho tiempo en el mercado y tienen recursos poderosos se están moviendo gradualmente para resolver este problema. Pero lanzar tus juegos en la nube desde cero en 2019 significa gastar mucho dinero, tiempo y, posiblemente, no crear una solución efectiva. Para ayudar a todos los participantes del ecosistema a crecer en un mercado en rápido crecimiento, hemos desarrollado una tecnología que le permite lanzar rápidamente y sin altos costos su servicio de juegos en la nube.

Cómo creamos una tecnología que lanzará fácilmente nuestro servicio de juegos en la nube


Playkey comenzó a desarrollar su tecnología de juegos en la nube en 2012. En 2014, tuvo lugar un lanzamiento comercial, y en 2016, 2.5 millones de jugadores habían usado el servicio al menos una vez. A lo largo del desarrollo, vimos interés no solo de los jugadores, sino también de los fabricantes de decodificadores y operadores de telecomunicaciones. Con NetByNet y Er-Telecom, incluso lanzamos varios proyectos piloto. En 2018, decidimos que nuestro producto podría tener un futuro B2B.

Desarrollar para cada empresa su propia opción para integrar juegos en la nube, como lo hicimos en proyectos piloto, es problemático. Cada implementación de este tipo tomó de tres meses a seis meses. Por qué Todos tienen diferentes equipos y sistemas operativos: alguien necesita juegos en la nube para una consola Android, y alguien necesita un iFrame en la interfaz web de su cuenta personal para transmitirlo a las computadoras. Además, todos tienen un diseño diferente, facturación (¡un mundo maravilloso separado!) Y otras características. Se hizo evidente que era necesario aumentar diez veces el equipo de desarrollo o crear la solución B2B-box más versátil.

En marzo de 2019, lanzamos RemoteClick. Este es un software que las empresas pueden instalar en sus servidores y obtener un servicio de juegos en la nube que funcione. ¿Cómo se verá para el usuario? Verá un botón en su sitio familiar que le permite lanzar el juego en la nube. Cuando se presiona, el juego comenzará en el servidor de la compañía, y el usuario verá la transmisión y podrá jugar de forma remota. Así es como podría verse en los populares servicios de distribución de juegos digitales.





Lucha activa por la calidad. Y pasivo también.


Cómo RemoteClick trata con numerosas barreras técnicas, ahora lo diremos. Los juegos en la nube de la primera ola (por ejemplo, OnLive) arruinaron la mala calidad de Internet entre los usuarios. Luego, en 2010, la velocidad promedio de conexión a Internet en los EE. UU. Fue de solo 4.7 Mbit / s. Para 2017, ha crecido a 18.7 Mbps, y pronto 5G aparecerá en todas partes y comenzará una nueva era. Sin embargo, a pesar de que, en general, la infraestructura está lista para los juegos en la nube, el problema ya mencionado de "última milla" persiste.

Un lado, que llamamos objetivo: el usuario realmente tiene problemas con la red. Por ejemplo, el operador no resalta la velocidad máxima declarada. O use WiFi de 2.4 GHz, microondas ruidoso y mouse inalámbrico.

El otro lado, que llamamos subjetivo: ¡el usuario ni siquiera sospecha que tiene problemas con la red (no sabe que no sabe)! En el mejor de los casos, está seguro de que, dado que el operador le vende una tarifa de 100 Mbps, tiene 100 Mbps de Internet. En el peor de los casos, no tiene idea de qué es un enrutador, e Internet se divide en azul y color. El caso real de casdeva.


Internet azul y color.

Pero ambas partes del problema de la "última milla" tienen solución. En RemoteClick, utilizamos mecanismos activos y pasivos para esto. A continuación se muestra una descripción detallada de cómo lidian con los obstáculos.

Mecanismos activos


1. Codificación efectiva y tolerante al ruido de los datos transmitidos, también conocida como redundancia (FEC - Corrección de error directo)

Cuando se transmiten datos de video de un servidor a un cliente, se utiliza la codificación de corrección de errores. Con él, restauramos los datos originales cuando se pierden parcialmente debido a problemas de red. ¿Qué hace que nuestra solución sea efectiva?

  1. Velocidad. La codificación y decodificación es muy rápida. Incluso en computadoras "débiles", la operación no requiere más de 1 ms para 0.5 MB de datos. Por lo tanto, la codificación y decodificación casi no agrega demora al jugar a través de la nube. La importancia es difícil de sobreestimar.
  2. Máximo potencial de recuperación de datos. A saber, la proporción de la cantidad excesiva de datos y el potencial para el volumen de recuperación. En nuestro caso, la relación = 1. Suponga que desea transferir 1 MB de video. Si agregamos 300 Kb de datos adicionales durante la codificación (esto se llama redundancia), en el proceso de decodificación para recuperar 1 megabyte original, solo necesitamos 1 MB del total de 1.3 MB que envió el servidor. En otras palabras, podemos perder 300 Kb y aún restaurar los datos originales. Como puede ver, 300/300 = 1. Esta es la máxima eficiencia posible.
  3. Flexibilidad en la configuración de datos adicionales durante la codificación. Podemos configurar un nivel separado de redundancia para cada cuadro de video que necesita transmitirse a través de la red. Por ejemplo, al notar problemas de red, podemos aumentar o disminuir el nivel de redundancia.


Jugamos a través de Playkey en Doom en Core i3, 4 GB de RAM, MSI GeForce GTX 750.

2. Envío de datos

Una forma alternativa de lidiar con las pérdidas es solicitar datos nuevamente. Por ejemplo, si el servidor y el usuario están en Moscú, la demora de transmisión no excederá los 5 ms. Con este valor, la aplicación cliente tendrá tiempo para solicitar y recibir del servidor la parte perdida de los datos que el usuario no notará. Nuestro sistema mismo decide cuándo aplicar la redundancia y cuándo hacerlo.

3. Configuración de transferencia de datos individual

Para elegir la mejor manera de lidiar con las pérdidas, nuestro algoritmo analiza la conexión de red del usuario y configura un sistema de transferencia de datos individualmente para cada caso.

El mira:

  • tipo de conexión (Ethernet, WiFi, 3G, etc.);
  • el rango de frecuencia utilizado de WiFi es 2.4 GHz o 5 GHz;
  • Intensidad de señal WiFi.

Si clasifica las conexiones por pérdida y retraso, entonces el cable es el más confiable de todos, por supuesto. Las pérdidas son poco frecuentes en Ethernet, y los retrasos de "última milla" son extremadamente improbables. Luego viene WiFi 5 GHz y solo entonces WiFi 2.4 GHz. Las conexiones móviles son generalmente basura, estamos esperando 5G.



Cuando se utiliza WiFi, el sistema configura automáticamente el adaptador del usuario, colocándolo en el modo más adecuado para su uso en la nube (por ejemplo, desactivando el ahorro de energía).

4. Configuración de codificación personalizada

La transmisión de video existe gracias a los códecs, programas para comprimir y restaurar datos de video. En forma no comprimida, un segundo de video pasa fácilmente por cien megabytes, y el códec reduce este valor en un orden de magnitud. Estamos armados con los códecs H264 y H265.

H264 es el más popular. El trabajo de hardware con él ha sido respaldado por todos los principales fabricantes de tarjetas de video durante más de una década. H265 es un joven sucesor atrevido. El hardware comenzó a apoyarlo hace unos cinco años. La codificación y decodificación en H265 requiere más recursos, pero la calidad del marco comprimido es mucho mayor que en H264. Y sin aumentar el volumen!



¿Qué códec elegir y qué parámetros de codificación establecer para un usuario en particular, según su hardware? Una tarea no trivial que se resuelve con nosotros automáticamente. El sistema inteligente analiza las capacidades del equipo, establece los parámetros óptimos del codificador y selecciona el decodificador en el lado del cliente.

5. Compensación por pérdida

No querían admitirlo, pero incluso nosotros no somos perfectos. Algunos datos perdidos en las entrañas de la red no se pueden restaurar y no podremos enviarlos de vuelta. Pero en este caso hay una salida.

Por ejemplo, ajuste de velocidad de bits. Nuestro algoritmo monitorea constantemente la cantidad de datos enviados del servidor al cliente. Captura cada escasez e incluso predice posibles pérdidas futuras. Su tarea es notar a tiempo, e idealmente, predecir cuándo las pérdidas alcanzarán un valor crítico y comenzar a crear una interferencia notable para el usuario en la pantalla. Y para corregir en este momento la cantidad de datos que se transfieren (bitrate).



También utilizamos la invalidación de cuadros sin ensamblar y el mecanismo de cuadros de referencia en la transmisión de video. Ambas herramientas reducen la cantidad de artefactos notables. Es decir, incluso con violaciones graves en la transmisión de datos, la imagen en la pantalla sigue siendo aceptable y el juego es jugable.

6. Envío distribuido

El envío de datos distribuidos en el tiempo también mejora la calidad de la transmisión. Cómo distribuirlo depende de indicadores específicos en la red, por ejemplo, la presencia de pérdidas, ping y otros factores. Nuestro algoritmo los analiza y selecciona la mejor opción. A veces, una distribución en el intervalo de unos pocos milisegundos reduce las pérdidas varias veces.

7. Reducción del retraso

Una de las características clave cuando se juega a través de la nube es la latencia. Cuanto más pequeño es, más cómodo es jugar. El retraso se puede dividir condicionalmente en dos partes:
  • red o retraso en la transferencia de datos;

  • retraso del sistema (eliminación del control en el lado del cliente, captura de imágenes en el servidor, codificación de imágenes, los mecanismos anteriores para adaptar los datos al envío, recopilación de datos en el cliente, decodificación de imágenes y su representación).

La conexión en red depende de la infraestructura y tratarla es problemática. Si el ratón fue mordido por ratones, bailar con una pandereta no ayudará. Pero el retraso del sistema se puede reducir a veces y la calidad de los juegos en la nube para el jugador cambiará drásticamente. Además de la codificación de corrección de errores y las configuraciones personalizadas ya mencionadas, utilizamos dos mecanismos más.

  1. Rápida adquisición de datos desde dispositivos de control (teclado, mouse) en el lado del cliente. Incluso en computadoras débiles, 1-2 ms es suficiente para esto.
  2. Representación de un cursor del sistema en el cliente. El puntero del mouse no se procesa en el servidor remoto, sino en el cliente Playkey en la computadora del usuario, es decir, sin el menor retraso. Sí, esto no afecta el control real en el juego, pero lo principal aquí es la percepción humana.


Renderizar un cursor sin demora en una Playkey usando Apex Legends como ejemplo

Usando nuestra tecnología con un retraso de red de 0 ms y operación con una transmisión de video de 60 FPS, el retraso de todo el sistema no excede los 35 ms.

Engranajes pasivos


En nuestra experiencia, muchos usuarios tienen una mala idea de cómo se conectan sus dispositivos a Internet. En una entrevista con los jugadores resultó que algunos no saben qué es un enrutador. ¡Y esto es normal! No es necesario conocer el diseño de un motor de combustión interna para conducir un automóvil. No requiera que el usuario conozca al administrador del sistema para que pueda jugar.

Sin embargo, aún es importante transmitir algunos puntos técnicos para que el jugador pueda eliminar las barreras de su propio lado. Y lo ayudamos.

1. Indicación de soporte WiFi 5 GHz

Escribimos anteriormente que vemos el estándar de Wi-Fi: 5 GHz o 2.4 GHz. Y también sabemos si el adaptador de red del dispositivo del usuario admite la capacidad de trabajar a 5 GHz. Y si es así, recomendamos usar este rango. Todavía no podemos cambiar la frecuencia de forma independiente, ya que no vemos las características del enrutador.

2. Indicación de intensidad de señal WiFi

Para algunos usuarios, la señal WiFi puede ser débil, incluso si Internet funciona bien y parece estar a una velocidad aceptable. El problema se revelará precisamente con los juegos en la nube, que expone la red a pruebas reales.

La intensidad de la señal se ve afectada por obstáculos, como paredes, y la interferencia de otros dispositivos. Las mismas microondas emiten mucho. Como resultado, hay pérdidas que son invisibles cuando se trabaja en Internet, pero que son críticas para jugar a través de la nube. En tales casos, advertimos al usuario sobre la interferencia, ofrecemos acercarnos al enrutador y apagar los dispositivos "ruidosos".

3. Indicación de los consumidores de tráfico.

Incluso si todo está bien con la red, otras aplicaciones pueden consumir demasiado tráfico. Por ejemplo, si se lanza un video en Youtube en paralelo con el juego en la nube, o se descargan torrents. Nuestra aplicación calcula ladrones y advierte al jugador sobre ellos.


Miedos del pasado: desacreditando los mitos de los juegos en la nube


Los juegos en la nube como una forma fundamentalmente nueva de consumir contenido del juego han estado tratando de ingresar al mercado durante casi diez años. Y como es el caso con cualquier innovación, su historia es una serie de pequeñas victorias y derrotas de alto perfil. No es sorprendente que a lo largo de los años, los juegos en la nube hayan adquirido mitos y prejuicios. En los albores del desarrollo de la tecnología, estaban justificados, pero hoy están completamente sin fundamento.

Mito 1. La imagen en la nube es peor que en el original, como si se reprodujera en YouTube


Hoy, en una solución de nube técnicamente avanzada, las imágenes del original y las nubes son casi idénticas: no hay diferencias a simple vista. La configuración individual del codificador para el equipo del jugador y un conjunto de mecanismos para combatir las pérdidas cierran esta pregunta. En una red de alta calidad, no hay desenfoque de marco ni artefactos gráficos. Incluso tenemos en cuenta el permiso. No tiene sentido transmitir la imagen a 1080p si el reproductor usa 720p.

A continuación hay dos videos de Apex Legends de nuestro canal. En un caso, esta es la grabación del juego cuando se juega en una PC, en el otro, a través de Playkey.

Apex Legends en PC

Apex Legends en Playkey


Mito 2. Calidad inestable


El estado de la red es realmente intermitente, pero este problema está resuelto. Cambiamos dinámicamente la configuración del codificador a la calidad de red del usuario. Un nivel constantemente aceptable de FPS es compatible con métodos especiales de captura de imágenes.

Como funciona El juego tiene un motor 3D con el que construir un mundo 3D. Pero al usuario se le muestra una imagen plana. Para que él pueda verlo, se crea una imagen de memoria para cada fotograma, una especie de fotografía de cómo se ve este mundo 3D desde cierto punto. Esta imagen en forma codificada se almacena en el búfer de memoria de video. Lo capturamos de la memoria de video y lo pasamos al codificador, que ya lo descifra. Y así con cada cuadro, uno tras otro.

Nuestra tecnología le permite capturar y decodificar una imagen en una secuencia, lo que aumenta el FPS. Y si estos procesos se llevan a cabo en paralelo (una solución bastante popular en el mercado de juegos en la nube), el codificador recurrirá constantemente para capturar, recoger nuevos cuadros con un retraso y, en consecuencia, transmitirlos con un retraso.


El video en la parte superior de la pantalla se obtuvo utilizando la tecnología de captura y decodificación en una sola transmisión.

Mito 3. Debido a los retrasos en la gestión seré "cáncer" en el modo multijugador


El retraso de control es normalmente de unos pocos milisegundos. Y generalmente es invisible para el usuario final. Pero a veces hay una pequeña discrepancia entre el movimiento del mouse y el movimiento del cursor. No afecta nada, pero crea una impresión negativa. El dibujo del cursor descrito anteriormente directamente en el dispositivo del usuario elimina este inconveniente.De lo contrario, el retraso total del sistema de 30-35 ms es tan pequeño que ni el jugador ni sus oponentes notan nada en el partido. El resultado de la batalla se decide solo por las habilidades. Prueba a continuación.


Streamer se dobla a través de Playkey

Que sigue


Los juegos en la nube ya son una realidad. Playkey, PlayStation Now, Shadow son servicios que funcionan con su audiencia y mercado. Y como muchos mercados jóvenes, los juegos en la nube crecerán rápidamente en los próximos años.

Uno de los escenarios que nos parece más probable es la aparición de sus propios servicios para editores de juegos y operadores de telecomunicaciones. Alguien desarrollará el suyo, alguien usará soluciones en caja ya preparadas, como RemoteClick. Cuantos más jugadores haya en el mercado, más rápida será la forma basada en la nube de consumir contenido del juego.

Source: https://habr.com/ru/post/449280/


All Articles