LIMPIEZA: Selección de campeón y fin de la partida

Estamos trabajando en mejoras para la selección de campeones y para el final de la partida.

A principios del año, nos comprometimos a compartir actualizaciones cada dos meses del trabajo que hacemos tras bambalinas para mejorar el rendimiento y confiabilidad del cliente de League of Legends.

La actualización de hoy es la quinta de la serie. (Consulta la primera, segunda, tercera y cuarta publicación).

En resumen: ahora que las mejoras en los tiempos de inicio del cliente y la arquitectura están completadas, finalmente nos lanzamos a la selección de campeones. Además, la nueva prioridad es mejorar el final de las partidas.

Comienza la selección de campeones

Cuando iniciamos esta serie de publicaciones en marzo, mencionamos dos objetivos principales: mejorar los tiempos de arranque del cliente y la velocidad de respuesta de la selección de campeones, en ese orden. En septiembre, por fin logramos disminuir el tiempo de arranque (el tiempo que tarda el cliente en iniciar) a 15.5 segundos para el 90% de los jugadores y anunciamos que comenzaríamos a trabajar en la selección de campeones.

Aquí les presentamos nuestras primeras actualizaciones.

Uso de memoria de la selección de campeones

Al principio, pensábamos que la selección de campeones iba a necesitar ajustes similares a los del resto del cliente: consolidar aplicaciones de Ember, optimizar el código, corregir errores; ese tipo de cosas. Cuando nos adentramos en el asunto, descubrimos un problema inesperado: el uso de memoria de la selección de campeones (y del cliente) aumenta cada vez que se ingresa en ella en una misma sesión de juego.

Para el percentil 90, sucede algo así:

  • La primera vez que se ingresa a la selección de campeones, el consumo de memoria del cliente salta a 481 MB.
  • La segunda vez, da otro salto de 56 MB.
  • Desde la tercera vez en adelante, da saltos más pequeños, de entre 15 y 25 MB, aproximadamente.
    graphcomms.jpg

Eso significa que, entre más partidas jueguen durante una misma sesión, el cliente se vuelve cada vez más lento, hasta que es necesario reiniciar.

La existencia de pérdidas de memoria en el cliente no es noticia, y pensamos que parte de la pérdida quizás se origine en la selección de campeones. Sin embargo, el tamaño y la extensión de las pérdidas que observamos requieren de un enfoque distinto. En paralelo a nuestros planes originales, estamos trabajando en la implementación de herramientas de desarrollo más especializadas que nos permitan identificar y abordar las pérdidas de memoria en todo el cliente de un modo más eficiente y disminuir el tiempo que nos lleva implementar mejoras.

Enfatizamos que el trabajo es en paralelo y, aunque llevamos poco, pensamos lanzar las primeras pequeñas mejoras en el rendimiento de la selección de campeones en la versión 10.23. Mejoramos la selección de los hechizos del invocador y los aspectos de centinela para que no creen aplicaciones de Ember adicionales al abrirse. Esto tiene como resultado una pequeña pero perceptible reducción en el uso de memoria (1.6 MB, aproximadamente) cuando los jugadores establecen sus hechizos y aspectos de centinela durante la selección de campeones. Esas fueron algunas de las primeras pérdidas de memoria que descubrimos, y corregirlas fue un buen modo de poner manos a la obra y comenzar a atacar pérdidas más grandes en un futuro cercano. Esperamos implementar cambios más notorios antes de fin de año.

Selección de campeones: revisión de la experiencia de usuario y la interfaz

Además de ajustar lo que funciona mal, otra parte de mejorar la selección de campeones es identificar qué aspectos de la experiencia son más importantes para los jugadores y cuáles podemos relegar, o incluso eliminar, porque son menos importantes para ellos. Esto se debe a que la experiencia de la selección de campeones es un elemento crítico del bucle central del juego, así que, entre menor sea la complejidad, menos probable será que las cosas salgan mal. Utilizamos la información proporcionada por las encuestas a jugadores para conocer qué es lo importante en cuanto a la experiencia de usuario (UX) y la interfaz de usuario (UI) en la selección de campeones, y estamos agregando las métricas del cliente para complementar las encuestas con información sobre la actividad de los jugadores.

Aquí les presentamos algunos de los resultados iniciales y lo que hicimos o pensamos hacer con ellos:

  • Los jugadores quieren mayor claridad y velocidad en cuanto a sus clics, especialmente en la selección y el bloqueo de campeones. Mejoraremos la velocidad y la fiabilidad de la respuesta visual y sonora que proporciona la interfaz para alcanzar el nivel de claridad apropiado.
  • Los jugadores no consideran muy importantes las ceremonias alrededor de la selección de hechizos de invocador y aspectos de centinela. Eliminaremos las animaciones asociadas a ellos (además de corregir la pérdida de memoria arriba mencionada).
  • Usaremos telemetría para determinar la frecuencia de uso de ciertas opciones de la selección de campeones que no son tan relevantes en la preparación de la partida. Incluso si entran en la categoría de ''cosas que sería lindo mantener'', quizás las eliminemos de todos modos con el fin de maximizar el rendimiento.
    • Panel de gestos
    • Campeones favoritos
    • Misiones

Ingresar a la selección de campeones

Uno de los aspectos más molestos que mencionaron los jugadores es que ingresar a la selección de campeones puede implicar toda una serie de problemas. La confiabilidad de la selección de campeones es vital para que los jugadores sientan que pueden concentrarse en la partida que va a comenzar. Es crucial que podamos resolver cualquier problema que interfiera en el bloqueo de campeones o en la confirmación de las selecciones. Además, no queremos que se preocupen por si se realizaron cambios en los aspectos, los hechizos de invocador o las runas que usaron por cientos de partidas.

Al comenzar a trabajar en esto, los objetivos principales de nuestro enfoque eran que los jugadores ingresaran a la selección de campeones con el tiempo suficiente para tomar decisiones importantes, que el bloqueo y la selección fueran confiables y que todos los jugadores entraran a la partida con éxito.

Final de la partida

Si bien no estaba entre las áreas prioritarias originales cuando comenzamos la campaña de limpieza, el final de la partida (es decir, todo lo que sucede entre que presionas ''continuar'' en la pantalla de Victoria/Derrota y el momento en el que puedes interactuar con la sala después de la partida) ha aparecido como una fuente importante de frustración, a la altura del tiempo de arranque, velocidad de respuesta y confiabilidad de la selección de campeones. Nos concentramos principalmente en dos situaciones frustrantes:

  1. Los jugadores reportan el problema de que el cliente se detiene en el botón de ''reconectar'' por un tiempo luego de la finalización del juego, en lugar de pasar inmediatamente a Honor. Todavía estamos investigando la causa de este inconveniente.
  2. Hay veces en las que el cliente se cierra cuando los jugadores regresan a él desde una pantalla de Victoria/Derrota, lo que impide interactuar con la pantalla de Honor o la sala pospartida. Tenemos algunas soluciones prometedoras bajo la manga que deberían aparecer en la versión 10.23.

Errores en la configuración y ventanas emergentes

Aparte del trabajo que realizamos con la selección de campeones y el final de las partidas, recientemente identificamos un incremento en el reporte de errores en la configuración de las últimas versiones. Entre ellos, se incluye que la selección de campeones no recuerde los hechizos del invocador, así como que se muestren una y otra vez ventanas emergentes anteriores. Rastrear la causa de esos problemas fue toda una travesía. Un par de equipos trabajaron de modo independiente en actualizar sus sistemas internos más o menos en simultáneo, lo que tuvo como consecuencia que varios detalles quedaran mal terminados. En su conjunto, esto generó una tormenta perfecta y muchos jugadores experimentaron al menos un problema con la configuración. Incorporamos tres ajustes distintos que ayudarán a aliviar la mayoría de los problemas que aparecieron desde nuestra última publicación, el más reciente de los cuales aparecía en la versión 10.21.

Mientras continuamos haciendo mejoras importantes en la selección de campeones y el final de las partidas, seguiremos trabajando junto a nuestros equipos para rastrear y abordar los errores más frustrantes para los jugadores en la medida en la que aparezcan.

Bueno, ¡esa ha sido nuestra actualización! Nos queda mucho trabajo por hacer hasta el final del año. Queremos agradecerles la paciencia, y sepan que damos todo de nosotros para brindarles un mejor cliente a nuestros jugadores en cada versión.