¿Cómo mantienen los juegos MOBA como League of Legends una latencia tan baja mientras sincronizan el estado del juego entre tantos jugadores?

En términos generales, hay tres tipos diferentes de servidores de juegos:

  1. Servidores dedicados
  2. Servidores de escucha
  3. De igual a igual

League of Legends, como casi todos los juegos en línea competitivos, se ejecuta en un servidor dedicado , lo que significa que poseen o arriendan puntos de origen en toda su área de servicio, y esos puntos de origen envían y reciben datos del juego (paquetes) hacia y desde los jugadores.

League of Legends ha implementado una solución bastante increíble para arreglar los tiempos de respuesta en el juego de sus jugadores (medidos en ping ).

A diferencia de la ruta tradicional de arrendamiento de servidores de juegos de una compañía que posee servidores con capacidad adicional, Riot Games (desarrolladores de League of Legends) ha optado por construir su propia infraestructura de Internet, y debido a esta decisión, puede optimizar el uso de sus servidores para los fines exactos de su juego distintivo.

Según un artículo de Quartz Media de octubre de 2016 [1], que resume este movimiento de Riot, este proceso implica minimizar el tamaño de paquete requerido desde y hacia sus servidores, de modo que los paquetes de gran tamaño no se descarten, ya que el problema de los paquetes descartados siempre conduce al juego entrecortado. Riot también optimizó las rutas que las computadoras de los jugadores usarían para hacer ping a sus servidores. Quartz tuvo la amabilidad de hacer un buen mapa de los servidores de Riot para ayudarnos a visualizar:

Si está interesado en el lado comercial: otras compañías se han acercado a Riot y desean alquilar sus servidores para sus propios fines, lo que, si tuviera que adivinar, ayudaría seriamente a Riot a recuperar los costos de la inversión inicial, si es que Decidí aprovechar la oportunidad.

Notas al pie

[1] Riot Games creó su propia red troncal de Internet para que los jugadores de League of Legends puedan fragmentarse sin retraso

¿Tantos? Solo hay 10 jugadores en un juego (+ espectadores). No es tan difícil, o al menos: no más difícil que en cualquier otro juego multijugador. La escala es difícil: miles de juegos al mismo tiempo. Pero entonces, cada juego no necesita muchos recursos. Mira el uso de la CPU durante el juego, no es demasiado alto.

¿Cómo escalarlo?

Más servidores! Si un servidor se vuelve demasiado lento, comienza uno nuevo. Una vez que logre tener 2 servidores (equilibrio de carga), es bastante fácil agregar los siguientes.

¿Solo hay 10 jugadores en un juego? Eso es bastante bajo, muchos juegos admiten miles al mismo tiempo en el mismo servidor, o más … así que solo 10 a la vez por servidor no es una gran hazaña.