Dev
Limpieza del cliente: selección de campeones

Pulimos el tiempo de arranque del cliente y nos centraremos en la selección de campeones.

DevAutoresRiot Cactopus, Riot Am1t, Riot A Huevo
  • Se copió al portapapeles

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

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

En resumen: mejoramos con éxito el tiempo de arranque del cliente a tal punto que ahora estamos listos para concentrarnos en áreas de alta prioridad, como la selección de campeones. También compartimos información nueva que reunimos de las encuestas de los jugadores sobre los problemas del cliente.

TIEMPO DE ARRANQUE DEL CLIENTE

Al inicio del año, mencionamos que queríamos que el tiempo de arranque del cliente (el tiempo que se tarda el cliente en iniciar) bajara a 15 segundos, incluso para los jugadores que cuentan con máquinas muy lentas.

Desde entonces, hemos pasado mucho tiempo adentrándonos en la arquitectura del cliente y erradicando los problemas principales con los complementos y las aplicaciones que lo hacen funcionar. Y, en las últimas semanas, hicimos avances que nos dejaron bastante cerca de nuestro objetivo.

timeseries_LATAM.png

El arranque ahora solo tarda unos 18.5 segundos para los jugadores del percentil 90. Eso quiere decir que, para el 90% de la comunidad, el tiempo de arranque es incluso más rápido (aunque estas recientes mejoras en el rendimiento serán más perceptibles para los jugadores con máquinas más lentas).

En una de las publicaciones anteriores del blog, hablamos de los contratiempos en el tiempo de arranque que tuvimos, en gran parte por el aumento de tráfico de jugadores debido a la pandemia del COVID-19. Ese aumento se puede ver en la gráfica que se encuentra a continuación. El aumento inicia alrededor de marzo de este año.

En los meses subsecuentes a ese aumento, hicimos un progreso constante para mejorar el tiempo de arranque, pero nuestra mejora más grande llegó recientemente con la versión 10.16. Esto se debe a un par de pasos clave que tomó el equipo.

En primer lugar, en la versión 10.14, implementamos una tecnología que nos permite aprender cuánto contribuye cada uno de los 68 complementos del cliente al tiempo de arranque. Resulta que algunos complementos causaban problemas más grandes que otros. Descubrimos que solo ocho complementos representan el 75% del tiempo de carga, mientras que los 60 restantes representan solo el 25%.

Con esto en mente, fue mucho más fácil descifrar en qué complementos debíamos concentrarnos en consolidar. También, decidimos probar otros enfoques además del trabajo de consolidación. En la versión 10.16, comenzamos a implementar por completo una solución que nos permite diferir la carga de ciertos complementos y aplicaciones de Ember hasta que los jugadores las necesiten.

Ahora que nos acercamos bastante a nuestro objetivo original del tiempo de arranque, nos sentimos preparados para concentrarnos en la segunda parte de nuestra campaña: mejorar la respuesta y la fiabilidad en la selección de campeones y en otras partes claves del cliente.

Pero, antes de hablar sobre los detalles del plan, queremos compartir información sobre el cliente que reunimos a través de encuestas a jugadores de todo el mundo.

INFORMACIÓN DE LA ENCUESTA DE LA SENSACIÓN DEL CLIENTE

Seguramente, estarás pensando: "Rito, noobs, ¿por qué necesitan que contestemos una encuesta sobre el cliente? ¡Ya saben que el cliente es malo!".

Y eh... sí, tienes razón. Pero queremos tener una perspectiva con más matices de estos errores. ¿Qué tan frecuentes son los problemas? ¿Y cuáles son los más severos? Al responder estas preguntas, podemos priorizar mejor nuestros siguientes pasos. Además, al reunir los sentimientos de la comunidad sobre el cliente en información medible, podemos ver cómo es que su opinión sobre el cliente cambia con el tiempo.

Nuestro primer conjunto de encuestas solo se aplicó en unas cuantas regiones, pero queremos implementar más encuestas en el futuro (ajustando, añadiendo y eliminando preguntas, según sea necesario) para que podamos darle seguimiento a nuestro progreso con el tiempo.

Dentro de ese contexto, tenemos unas lindas gráficas.

Para empezar, uno de los puntos en el que queremos enfocarnos es a la tendencia de la percepción del cliente de manera mensual.

chart1_LATAM.png

Los resultados no son muy sorprendentes, pero sí valiosos porque, si seguimos haciendo estas encuestas, con el tiempo comenzaremos a tener una visión de nuestro progreso mucho más completa. Compartiremos esos resultados en los próximos meses.

Con la siguiente pregunta de la encuesta, comenzamos a profundizar en problemas específicos:

chart2_LATAM.png

Si bien algunos problemas son más comunes que otros, cerca del 50% de los jugadores encuestados dicen que experimentan al menos uno de estos problemas.

También, les pedimos a los jugadores que mencionaron que experimentaron un problema técnico que calificaran qué tan frustrante era cada uno de estos errores en una escala de 5 puntos de "nada frustrante" a "extremadamente frustrante". A continuación, se puede ver el porcentaje de encuestados que identificaron los errores como muy frustrantes o extremadamente frustrantes.

chart3_LATAM.png

Esta es otra gráfica que permite ver tanto la frecuencia de cada problema como lo frustrantes que mencionaron que son dichos problemas:

chart4_LATAM.png

Con estas gráficas, está claro que dos problemas particulares tienen valores atípicos obvios.

Los errores que evitan que se seleccione o bloquee en la selección de campeones son los más frustrantes, y por mucho. Además, los tiempos de carga largos en la pantalla al final de la partida son extremadamente comunes. Con esta información, tenemos una mejor visión de dónde debemos enfocarnos durante la siguiente fase de nuestro trabajo.

PRÓXIMOS PASOS

En los próximos meses, queremos concentrarnos en resolver los problemas más comunes y frustrantes a los que los jugadores se enfrentan con el cliente. Así que, para la siguiente etapa de nuestra campaña de limpieza del cliente, nos concentraremos en mejorar la selección de campeones y la transición del final de la partida a la pantalla de honor y de vuelta al cliente.

Primero hablemos sobre la selección de campeones.

En febrero mencionamos que nuestra meta final era mejorar la respuesta de los botones de la interfaz y la experiencia de usuario en la selección de campeones. En específico, mencionamos que queríamos que los tiempos de respuesta para partes como el botón de "confirmar" bajara a menos de 100 ms, incluso para los jugadores que se encuentran en el percentil 90.

Sin embargo, nos dimos cuenta de que, si queremos que los jugadores estén contentos, vamos a tener que refactorizar componentes claves de la selección de campeones.

El trabajo que haremos en la selección de campeones se puede dividir en tres compromisos principales. Nos comprometemos a lo siguiente:

  1. Simplificar la selección de campeones y hacerla más fiable. Los jugadores llevan tiempo pidiendo una selección de campeones más ágil y receptiva. Nos gustaría refactorizar los componentes existentes para mejorar la capacidad de respuesta, reducir el consumo de memoria, simplificar la arquitectura y reducir las evasiones no intencionales.
  2. Reevaluar la experiencia de usuario (UX) y la interfaz (IU) de la selección de campeones. Trabajaremos con nuestro equipo de diseño para ver dónde podemos eliminar o simplificar animaciones de poco valor y bajo rendimiento, así como componentes que consumen muchos recursos.
  3. Abordar tantos errores conocidos como sea posible y priorizarlos según el nivel de dolor de cabeza que causen.

Al mismo tiempo que nos centremos en la selección de campeones, nos dedicaremos a simplificar la transición de la pantalla de honor a la sala al final de la partida. Muchos jugadores reportan que esta parte del juego carga lento, así que ya estamos creando un plan de ingeniería para solucionarlo.

Este proceso nos llevará tiempo, definitivamente más del que nos gustaría. Pero, con esta campaña, nos comprometemos a publicar nuestro trabajo de la misma manera en la que lo hablamos entre nosotros por interno: con honestidad y transparencia.

Hablaremos de nuestro progreso con otra publicación de blog similar a esta en dos meses. Mientras tanto, como siempre: gracias por jugar.



  • Se copió al portapapeles