Optimizando el Creciente Equil... Nota

Optimizando el Creciente Equilibrio en un Juego de 11 Años

War Robots almacena datos del juego, conocidos como balances, para su vasta gama de contenido. Estos balances se dividen en meta y jugabilidad central, con conjuntos separados para los modos predeterminados y Escaramuza. A lo largo de once años, el juego ha acumulado una cantidad significativa de contenido, lo que ha llevado a un tamaño de archivo de balance considerable. Inicialmente, el balance meta era de 9.2 MB y el balance central era de 13.1 MB, sumando un total de 44.6 MB para que los jugadores lo descargaran.Para abordar esto, el equipo de desarrollo analizó los tamaños de los archivos de balance, descubriendo que las cadenas de texto constituían una porción sustancial. Desarrollaron herramientas para identificar cadenas duplicadas, que resultaron ser muy prevalentes. La solución implicó crear un almacenamiento de cadenas único para cada balance, reemplazando las instancias directas de cadenas con índices. Esto redujo significativamente el uso de cadenas, mejorando la eficiencia.Una optimización adicional implicó la reelaboración del protocolo de datos, pasando de MessagePack con claves de cadena a un array de bytes binario con claves numéricas. También se eliminaron las colecciones vacías, disminuyendo aún más el tamaño de los datos y el tiempo de procesamiento. Se implementaron nuevas funciones detrás de interruptores, lo que permitió el soporte simultáneo de versiones de balance antiguas y optimizadas. Las pruebas rigurosas utilizando reflexión aseguraron que ambas versiones de balance produjeran valores idénticos.Estas optimizaciones resultaron en reducciones sustanciales en el tamaño de los archivos, con el balance meta cayendo a 1.28 MB y el balance central a 2.22 MB. Los tiempos de deserialización también mejoraron drásticamente, y la memoria requerida en el lado del cliente disminuyó. El equipo concluyó que la gestión cuidadosa de los datos y la eliminación de la redundancia, particularmente con las cadenas de texto, son cruciales para una transmisión de datos eficiente y el ahorro de costos.
CdXz5zHNQW_McKynR1tiz.jpeg