18/10/2017

Blog del desarrollador: Abuso del ping, ventaja al asomarse y pasos siguientes

Hemos estado atentos a los comentarios de la comunidad con respecto al abuso del ping, la latencia y la ventaja de los jugadores al asomarse. En este blog explicaremos lo que son, cómo afectan al juego y lo que haremos para solucionarlo.

Antes de entrar en detalles sobre la latencia, queremos señalar que la filosofía de diseño de Rainbow Six Siege es que la duplicación (o replicación) del jugador y la confirmación del impacto deberían favorecer a los jugadores que tengan la conexión más rápida y estable. Con ese objetivo en mente, seguiremos mejorando nuestros sistemas para proporcionar la mejor experiencia de juego a los jugadores con pings bajos y estables, al tiempo que el juego siga siendo accesible para los jugadores con ping alto.

Ping alto y ventaja al asomarse

La replicación del jugador es el proceso por el cual hacemos una copia espejo de una secuencia de movimientos y acciones del jugador en un ordenador remoto, como un servidor de juego. Imagínate la replicación como un fantasma que sigue al jugador. Este fantasma representa tu posición, tal como la ve el servidor. Por ejemplo, si tienes un ping de 200 milisegundos, tu fantasma está donde tú estabas hace 100 milisegundos (porque el ping tiene que incluir la duración del viaje completo, ida y vuelta). Cuanto más alto sea el ping de un jugador, más atrás dejará el jugador a su fantasma.

Sin embargo, cuando te asomas y sales de tu parapeto, un ping muy alto no te da más tiempo para reaccionar y disparar antes de ser visible para los otros jugadores. Esto sucede porque todos los disparos tienen que ser confirmados por el servidor, así que cualquier cantidad de tiempo añadida a tus movimientos, también se aplica a los disparos y al tiempo que tardan en llegar al servidor.

La ventaja al asomarse es el resultado del mencionado efecto del fantasma. No podemos quitar el fantasma, porque hacerlo implicaría que todos los movimientos tenían que ser confirmados por el servidor antes de que tuvieran efecto en tu equipo. Esto supondría un aumento del retraso en todas las respuestas (el retraso equivalente a tu ping), algo contrario a la nuestra filosofía de diseño de hacer que cada movimiento sea lo más reactivo posible. Sin embargo, a pesar de lo que en general se piensa, la ventaja al asomarse depende solo de la velocidad de conexión de la víctima (el jugador al que mira y al que quiere disparar el que se asoma), no de la velocidad de conexión del que se asoma.

El tiempo máximo que tiene la víctima para disparar, una vez que el que se asoma es realmente visible, es lo que llamamos “ventana de oportunidad”. La ventaja del que se asoma se basa en el hecho de que esta ventana de oportunidad siempre es más pequeña que el tiempo de reacción del que se asoma.

Ventana de oportunidad = Tiempo de reacción del que se asoma – Ping de la víctima (incluyendo el tiempo de proceso)

En el siguiente vídeo mostramos la diferencia cuando la víctima (jugador 2) tiene un tiempo de reacción más rápido (150 milisegundos) que el que se asoma (jugador 1, con 300 milisegundos de tiempo de reacción). Como verás, el mayor ping del que se asoma no tiene impacto en quién gana el tiroteo: al aumentar gradualmente su ping, no se crea una mejor oportunidad. Mientras el que se asoma disparaba, la víctima ya había acertado de lleno con un disparo a la cabeza, confirmado por el servidor, así que el disparo del que se asoma ha quedado anulado y ha muerto.

En el siguiente vídeo, mostramos cómo el ping de la víctima afecta al resultado del arbitraje en los disparos. Aunque el tiempo de reacción es el mismo (150 milisegundos para la víctima, 300 para el que se asoma), progresivamente vamos aumentando el ping de la víctima. El ping del que se asoma sigue constante e intencionadamente lo ponemos en un valor más alto: 400 milisegundos. Al aumentar el ping de la víctima, se reduce su ventana de oportunidad. Y aunque puede ganar el tiroteo cuando su ping es bajo (50-100ms), empieza a perderlo cuando es demasiado alto (200 milisegundos).

Hemos creado esta imagen para plasmar lo que has visto en los vídeos anteriores, sin gameplay. Lo que ves es una línea temporal de acciones, el orden en que el servidor acepta la entrada de información, y cómo la latencia influye en esos pasos.

Peek1

La información te muestra cómo el tiempo de reacción del que se asoma se mantiene en el servidor y luego en la simulación de la víctima, incluso si el que se asoma juega con un ping mayor.

Peek2

Lo que ves en la información de arriba es el impacto que el ping de la víctima tiene en sus posibilidades de supervivencia. La víctima necesitará disparar a su enemigo antes de que el disparo del que se asoma llegue al servidor; y eso solo lo puede hacer durante esa ventana de oportunidad. Dicha ventana no se ve afectada por el ping del que se asoma. Cuando estás oficialmente muerto en el servidor, las demás acciones del jugador quedan rechazadas. Esto está en línea con la filosofía de diseño que hemos mencionado al principio del blog, y que establece que el jugador con la conexión más estable y rápida debería ser el que cuente con ventaja.

Pasos siguientes

Empezando con los refuerzos a mitad de temporada de la Temporada 3 del Año 2, implementaremos los siguientes ajustes y cambios en el modo en que el juego maneja la latencia, el proceso y la confirmación de disparos. Nuestro plan es seguir trabajando en estos temas durante las siguientes temporadas.

Alineamiento de latencias

El alineamiento de latencias es un cambio que permite al servidor replicar con más precisión el tiempo de reacción de un tirador con una conexión inestable. Si un jugador está mandando actualizaciones de posición con un ratio inestable o incoherente, entonces el servidor ajustará el ritmo de los mensajes entrantes sobre disparos, para adecuarse a la representación de las órdenes del jugador con más precisión. Es cuestión de milisegundos, sí, pero el resultado final es una ventana de oportunidad más grande cuando te enfrentas a jugadores con latencia que fluctúa.

Física de lugares de aparición

Tenemos un nuevo sistema de física de puntos de aparición que debería solucionar los problemas que se han detectado con la aparición detrás de escudos. Este error se ha experimentado sobre todo cuando se bloquea un paso de puerta con Montagne.

Mejoras en la confirmación de impactos

Estamos reduciendo el límite superior de la latencia necesaria para iniciar pasos adicionales de validación de impactos. En otro blog publicaremos más información sobre esos pasos extra y sobre cómo pueden afectar al juego.

Mejoras en la replicación

También estamos optimizando la duplicación de las acciones. El resultado es una experiencia con mejor respuesta para todos los jugadores, y una reducción en la latencia.

Retraso en el proceso + Ping

Actualmente, el valor del ping que aparece en los menús incluye el retraso en el proceso. Esto lleva a confusiones, ya que al correr en un ratio de frames mayor se muestran menores valores de ping. Estamos quitando este retraso de proceso en el valor del ping. Aunque solo es un cambio estético sin efecto real en el juego, con ello el valor que se muestra representará de forma más fiel tu velocidad de conexión con los servidores.

Iconos de conectividad

Estamos integrando una serie de ajustes que te ayudarán a vigilar el estado de tu equipo cliente, del servidor y de tu conexión de red.

Con este cambio, el juego mostrará hasta cuatro iconos en la esquina superior derecha de tu pantalla. Estos iconos indican la calidad de tu experiencia de juego en lo relativo a tu ping, estabilidad de conexión, actualización de frame rate y estabilidad de anfitrión, de izquierda a derecha, respectivamente.

Peek1

Cuando alguna de esas variables se vea afectada por algo que degrade el rendimiento del juego, el icono aparecerá y te lo notificará. Esto nos ayuda a proporcionarte una representación más acertada del estado de tu conexión, más allá de un simple ping de jugador. Los iconos tienen dos estados: amarillo y rojo. Los límites para cada estado pueden modificarse en cualquier momento por parte del equipo de desarrollo, así que los siguientes valores son solo una aproximación de la configuración actual.

  • Icono de latencia: El icono de latencia aparecerá cuando tu ping sea alto. Un icono de latencia amarillo significa que tu ping es lo bastante alto como para que el servidor dé pasos adicionales en la confirmación de disparos (unos 100 a 140 milisegundos de ping). Estos pasos de validación extra entran en juego cuando se analizan tus disparos, para determinar si han alcanzado o no el objetivo. Tal vez notes que algunos de tus disparos no se registran: tener un ping alto también puede implicar situaciones desagradables como la de morir cuando estabas a cubierto. Un icono rojo muestra un ping malo (entre 400-500 milisegundos). Si te quedas en ese estado mucho tiempo, puede que te expulse de la partida el servidor de juego). Cuando el icono de latencia es visible, casi todos tus impactos serán rechazados por el servidor; es algo intencionado.
  • Icono de conexión: El icono de conexión aparece cuando experimentas pérdidas de paquetes de datos o inestabilidad de latencia (por ejemplo, cuando algunos de tus paquetes se enrutan por otra vía en internet). Cuando aparece ese icono puedes experimentar problemas de rubber banding (el efecto del movimiento elástico de personajes al avanzar), impactos rechazados por el servidor y latencia anormal inducida. La probabilidad de experimentar esos problemas es mucho más alta cuando el icono es rojo.
  • Icono de actualización de frame rate: El icono de la actualización de frame rate aparece cuando tu ratio de cuadros por segundo está cayendo o es inestable, y el número de paquetes de datos enviados por tu cliente de juego al servidor no es lo bastante alto. Puedes notar que el servidor rechaza impactos de disparos realizados y que hay una latencia anormal (esta latencia está inducida por el servidor de juego para evitar que otros jugadores vean a tu personaje a tirones). También puedes percibir rubber banding cuando el icono está en rojo.
  • Icono del servidor: El icono del servidor aparece cuando el servidor tiene problemas y no es capaz de mantener la estabilidad de la simulación. Todos los jugadores conectados a esa partida verán el icono aparecer al mismo tiempo, y cuando lo veas, es posible que experimentes efectos de rubber banding, latencia anormal inducida y problemas de registro de impactos. Esas situaciones son más notables cuando el icono está en rojo.

Gran parte de nuestros cambios tendrán como resultado una experiencia menos confortable para los jugadores que tengan un ping alto; somos conscientes de ello, pero tenemos que hacerlo por el bien general del juego.

Únete a nosotros para charlar sobre la información de este blog en el subreddit de Rainbow Six.

Visita todos nuestros canales

facebook icontwitter iconyoutube icontwitch icon