Actualización 2 de consistencia en la jugabilidad de VALORANT
¡Hola de nuevo! Somos el equipo de tecnología de jugabilidad de VALORANT y estamos aquí para presentarles la segunda parte de los resultados de nuestra investigación y las acciones para la consistencia de la jugabilidad.
Si necesitan un repaso general de lo que hemos escuchado, vean nuestro artículo anterior del mes pasado. Ahí cubrimos los temas generales de lo que hemos escuchado de los jugadores y damos una perspectiva general de los aspectos en los que estábamos indagando (latencia, corrección y rendimiento de los jugadores con ping alto).
Debido a que la publicación anterior contempla la mayor parte del “qué” y el “por qué”, hoy queremos brindar más detalles sobre una de las principales áreas que mejoramos: latencia y almacenamiento en búfer. Compartiremos la importancia de la latencia y el almacenamiento en búfer para VALORANT, algunos detalles de nuestra investigación, las correcciones y mejoras que realizamos, y las medidas a largo plazo que estamos tomando.
Este es un breve resumen de lo que vamos a incluir en el lanzamiento de la versión 4.10:
- Hemos encontrado y solucionado algunos problemas que podían producirse después de ráfagas de inestabilidad de la red, bajos FPS del cliente, cambio de ventanas o periodos prolongados de alta inestabilidad de la red.
- Esto podía provocar que los jugadores afectados sintieran alguna combinación de demora en el procesamiento de sus acciones en el servidor o en el movimiento de los enemigos en su pantalla.
- En la versión 4.10 vamos a hacer cambios que mejorarán el comportamiento del búfer de la red en estas situaciones y pondremos a disposición de los jugadores datos que muestren lo que ocurre tras bambalinas.
- Estos cambios abordan la causa principal que genera la sensación de latencia de red y los tiempos de reacción inconsistentes entre juegos, pero seguiremos monitoreando y mejorando estos aspectos en el futuro.
- Si siguen experimentando problemas en sus juegos, esperamos que las nuevas gráficas ayuden a cuantificar y medir lo que están experimentando.
- Por favor, sigan enviándonos sus reportes junto con videos de lo que están viendo, si es posible, a través de nuestro canal de asistencia al jugador.
LATENCIA Y ALMACENAMIENTO EN BÚFER
En nuestro artículo anterior, mencionamos que todavía estamos investigando la latencia y el desempeño del búfer de la red en VALORANT. Desde entonces hemos concluido esa investigación y vamos a lanzar correcciones para algunos problemas que encontramos en la versión 4.10.
Antes de profundizar, sería útil tener un poco de información de referencia sobre lo que queremos decir cuando nos referimos al “búfer de la red” o a las “demoras de procesamiento”.
En juegos en línea como VALORANT, el usuario envía sus acciones al servidor para que las ejecute, ya que la perspectiva del juego del servidor es la correcta. Cada vez que el servidor actualiza la simulación del juego (lo cual ocurre 128 veces por segundo), las acciones de su cliente de juego necesitan ser ejecutadas para su agente. Si sus acciones se demoran mientras viajan a través de Internet, el servidor no esperará a que lleguen y tendrá que simular un movimiento por ustedes.
Este movimiento previsto por el servidor a menudo no coincide con el que está en camino. Estas discrepancias provocan correcciones de movimiento, que se manifiestan en el cliente como pequeñas teletransportaciones a la ubicación correcta. Demasiadas correcciones de este tipo hacen que el juego se sienta “tembloroso” y, en un porcentaje suficientemente alto, imposible de jugar.
La manera de evitar estos movimientos predecidos por el servidor es hacer que almacene algunos movimientos y los ejecute con una ligera demora. Esta es una estrategia muy común cuando se trata de transmitir cualquier dato a través de Internet y ayuda a asegurar que el servidor pueda ejecutar los movimientos de tu agente con fluidez en cada cuadro. Sin embargo, este búfer añade una demora antes de que el servidor procese sus movimientos, y un búfer excesivo puede hacer que parezca que están jugando con un ping mucho más alto de lo que mostraría su tiempo de recorrido de red (RTT de red).
En términos de balance, es importante proporcionar la cantidad correcta de búfer. Con muy poco búfer obtienes muchos movimientos previstos por el servidor y correcciones del cliente; con demasiado búfer obtienes una latencia alta y eres más susceptible a situaciones como la ventaja al asomarse. Con el balance justo, VALORANT se siente fluido y responsivo.
De la misma forma que el servidor almacena en el búfer tus movimientos antes de ejecutarlos, tu cliente debe almacenar en el búfer la información sobre el movimiento del enemigo antes de que se muestre en tu pantalla. Esto evita que los jugadores enemigos parezcan teletransportarse cuando tienes una mala conexión, dándote una visión fluida y fácil de seguir de otros jugadores.
La investigación
Como parte de nuestra investigación, necesitábamos conocer mejor el rendimiento exacto de estos dos búferes. Creamos nuevas herramientas de corrección para registrar el tiempo que tardan los movimientos en recorrer cada uno de los búferes. Con estas herramientas, empezamos a experimentar para ver si había situaciones que pudieran hacer que los búferes de movimiento se comportaran de forma imprevista.
Uno de los problemas reportados por los jugadores que investigamos fue el aumento en la demora del procesamiento de los disparos cuando se cambiaba de ventana. Si el juego está en segundo plano con la opción de limitar los FPS en segundo plano activada, se emula un problema de rendimiento del cliente extendido al reducir los FPS. Después de volver a enfocar el juego, el repentino aumento de los FPS podía hacer que la fila de movimientos del servidor se volviera bastante grande. Dentro del cliente, esto se sentiría como jugar con un ping muy alto que no se reflejaba en las gráficas actuales del tiempo de recorrido de red.
Otra forma que encontramos para conseguir un efecto similar fue simular un aumento rápido de ping dentro del cliente. Un pico de ping más alto que vuelve a ser bajo provocaría una acumulación en la fila de movimientos del servidor para ese cliente. Un pico de ping de más bajo a más alto causaría una acumulación en la fila de movimientos del cliente para otros jugadores. En cualquier caso, esta acumulación de movimientos en la fila provocaría una mayor latencia percibida hasta que la fila volviera a su tamaño deseado.
En ambas situaciones, el sistema actual resolvía los problemas y devolvía los búferes a su tamaño deseado, pero descubrimos que podía tardar más de lo previsto en recuperarse por completo, lo que provocaba un periodo prolongado de mayor latencia en la red.
Implementamos dos nuevas correcciones que deberían disminuir estos estados de sobrecarga en el búfer mucho más rápido, para que solo veas la latencia adicional durante periodos cortos y sólo lo necesario para que la experiencia sea más fluida.
Correcciones y mejoras
La primera corrección que implementamos ajusta la rapidez con la que los búferes vuelven a tener el tamaño deseado cuando algo provoca una acumulación. Añadimos la capacidad de que el sistema de procesamiento de movimientos se ajuste de forma más agresiva a medida que aumenta el tamaño del búfer.
Con este cambio, las acumulaciones de movimientos en el búfer ahora se resuelven con mayor rapidez. Por ejemplo, antes de este cambio, si había 5 movimientos adicionales en el búfer, este podía tardar hasta 5 segundos en volver al tamaño óptimo. Con estas nuevas mejoras, ese tiempo es ahora menos de 1 segundo. Esto significa que los jugadores que se enfrenten a eventos perjudiciales, como problemas o picos de red, se verán afectados por la latencia de ese búfer adicional durante un periodo mucho más reducido.
Sin embargo, en casos graves, la acumulación de movimientos en el búfer puede ser tan grande que esperar a que el procesamiento de los movimientos se ocupe de esta acumulación puede llevar segundos, incluso con la corrección anterior. Cuando esto ocurra, ahora reiniciaremos el búfer, eliminando todos los movimientos excepto los más recientes. Esto tiene la ventaja de eliminar inmediatamente la latencia añadida, sin dejar de garantizar que habrá una corrección de movimiento.
Descubrimos que, en el caso de eventos de gran impacto, como alteraciones extremas de los FPS o picos de red, era preferible una corrección de movimiento a esperar incluso un par de segundos para que el procesamiento de los movimientos reajustara el tamaño del búfer. En estos casos, recibir una corrección es generalmente menos disruptivo que el periodo prolongado de aumento de latencia que los jugadores hubieran encontrado antes de esta corrección. Uno de esos eventos cuyo impacto es tal que amerita recibir esta corrección es cuando vuelves a enfocar el juego después de cambiar de ventana con la opción Limitar los FPS en segundo plano configurada en un valor bajo. Esto provoca un cambio extremo en los FPS, que puede llevar al problemático estado de sobresaturación del búfer; con esta modificación, debería resolverse rápidamente.
Un problema relacionado que encontramos al investigar el búfer es que los jugadores con una fluctuación de red constantemente alta solían ser trasladados entre objetivos de búfer bajos y altos, ya que el sistema intentaba equilibrar su latencia con el número de movimientos previstos por el servidor. Estamos trabajando en una solución para ajustar mejor el tamaño deseado del búfer teniendo en cuenta este tipo de fluctuaciones de red a largo plazo.
Con la vista en el futuro
Junto con estos cambios, nos dimos cuenta de que los jugadores no tienen una buena forma de visualizar las demoras en el procesamiento de los movimientos. Dado que las gráficas que hicimos internamente fueron muy útiles para detectar este problema, añadimos una nueva gráfica de rendimiento llamada RTT de red + demoras de procesamiento, que captura el tiempo del recorrido de la red junto con las demoras de movimiento del servidor y del cliente.
El tiempo registrado en la gráfica debería ser relativamente equivalente a la demora que se podía sentir con la antigua “prueba del cuchillo”. Un valor razonable para esta gráfica, cuando todo funciona bien, debería ser aproximadamente de 20 a 30 ms más alto que el RTT de tu red, aunque el valor ideal será diferente dependiendo de las condiciones exactas de tu red y de tus FPS.
Además, añadimos una gráfica de fluctuación del RTT de la red que muestra cómo cambia el RTT de la red de un paquete a otro. Los picos de ping y una alta inestabilidad de la red son a menudo causantes de que se necesite un búfer adicional, por lo que añadimos esta gráfica para ayudar potencialmente a diagnosticar condiciones de red adversas que no se mostrarían en la gráfica regular de RTT de red debido al promedio.
También implementamos telemetría adicional para poder recopilar datos sobre las demoras de procesamiento que los jugadores experimentan de una partida a otra. Revisaremos esta información con regularidad para vigilar la salud del juego y determinar si las correcciones anteriores están teniendo los efectos deseados, y si se necesitan correcciones y mejoras adicionales.
Por último, aunque leemos publicaciones en varias plataformas de redes sociales, también queremos utilizar nuestras encuestas después de las partidas para obtener más comentarios detallados de los jugadores con respecto a la calidad de sus partidas, incluyendo la calidad de su conexión y sus disparos. Así que agregaremos y modificaremos algunas preguntas para reflejar estas áreas.
SIGUIENTE ACTUALIZACIÓN
Esperamos que estas mejoras a los búferes de procesamiento de movimientos ayuden a reducir algunas de las inconsistencias que los jugadores estaban sintiendo cuando su ping parecía estar bien. Si sigues sintiendo problemas en tus juegos, esperamos que la nueva información sobre fluctuaciones y demoras de procesamiento en forma de gráfica ayude a medir lo que sientes y a diagnosticar las posibles causas. Si estás experimentando problemas de inconsistencia y estás grabando tu juego, tener estas gráficas visibles proporciona información adicional que puede ayudar a localizar dónde hay que investigar más a fondo.
Terminaremos esta actualización con un enorme agradecimiento a todos los que han publicado videos y explicaciones de los problemas que han experimentado o visto. Apreciamos su amor por el juego y sus esfuerzos para ayudarnos a mejorarlo. Como siempre, nos tomamos sus comentarios muy en serio.
Estén atentos a otra futura actualización en la que hablaremos de la selección de servidores y su relación con el rendimiento de los jugadores con ping alto.