Hola, desarrolladores de Fortnite:
El año pasado nos comprometimos https://www.youtube.com/watch?v=M1F5CimXO_8&t=2492s a mejorar la estabilidad y la velocidad de iteración de UEFN. Nuestro objetivo es reducir en un 50 % el tiempo de iteración para junio (o incluso más; preferimos pecar de prudentes). En esta publicación se describen los cambios que hemos realizado en nuestros procesos internos de pruebas y control de calidad para mejorar la estabilidad de las versiones, así como el conjunto inicial de actualizaciones que realizaremos en los próximos meses para mejorar los tiempos de iteración.
Estabilidad y pruebas de lanzamiento
Hemos cambiado nuestro enfoque de pruebas para centrarnos en lo que más te importa: las islas con un alto nivel de interacción y gran persistencia. Nuestra cobertura de pruebas ahora incluye contenido adicional para desarrolladores más propensos a regresiones y, como resultado, detectamos defectos críticos antes incluso de que afecten a la experiencia del desarrollador.
También hemos implementado un proceso para clasificar y priorizar incidencias con escalado 24/7, lo que significa que, cuando encontremos problemas, podemos solucionarlos más rápido que nunca. Además, ahora estamos probando seis islas de desarrolladores complejas dos veces por semana para realizar un seguimiento de los parámetros clave de rendimiento, como el tiempo de arranque, el tiempo de carga y el funcionamiento de los minijuegos, remitiendo inmediatamente cualquier regresión al equipo adecuado.
Los resultados hasta ahora son alentadores. En la versión 39.30, evitamos que el 57 % de los defectos se publicaran, y en las versiones 39.40 y 39.50, no hubo ningún defecto crítico relacionado con el contenido o la persistencia de los desarrolladores, lo cual es un resultado directo de una clasificación de incidencias más rápida y una cobertura ampliada. Nuestra tasa de escape (defectos que se cuelan en las versiones publicadas) también se ha reducido significativamente: del 18,5 % en la versión 39.11 a solo el 4,7 % en la versión 39.40.
Sabemos que las métricas internas solo muestran una parte de la realidad, por lo que nos hemos asociado con el equipo de la comunidad para lanzar encuestas mensuales sobre estabilidad con el fin de escuchar directamente a los desarrolladores y asegurarnos de que notan una diferencia apreciable. Estos comentarios nos ayudarán a saber dónde debemos centrar nuestros esfuerzos en materia de estabilidad.
Herramientas de estabilidad y gestión de recursos
Además de ampliar el proceso interno de control de calidad, también estamos incorporando nuevas herramientas y procesos de trabajo para ayudarte a identificar y corregir errores en tus proyectos antes de que provoquen fallos o bloqueos.
- Herramientas para el estado de los recursos: resuelve los problemas de validación de recursos y los errores de «memoria insuficiente» a medida que iteras utilizando la nueva monitorización posterior a la importación, la generación de informes y los umbrales de memoria por plataforma.
- Actualizaciones del perfilador espacial: con las capacidades ampliadas de creación de perfiles en UEFN, podrás detectar rápidamente recursos pesados en todas las plataformas. Esto incluye nuevos resultados de cálculo de memoria directa y una nueva vista de recursos en tiempo real con análisis UObject Objects in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community.
Optimizaciones de cooker
Para acelerar el tiempo que se tarda en preparar tu isla para una sesión de juego y mejorar los tiempos de iteración, estamos reestructurando el «proceso de cooking» de UEFN para que sea más eficiente. «Cooking» cook | Fortnite Documentación | Epic Developer Community es el proceso de convertir recursos sin procesar en un formato optimizado y listo para el cliente, de modo que el contenido se cargue y se muestre rápidamente.
Se trata de mejoras internas en la infraestructura backend de UEFN, por lo que no será necesario que cambies nada en tu proceso de trabajo.
- Zen DDC (caché de datos derivados - Using Derived Data Cache in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community : estamos implementando los últimos sistemas Zen Server en el backend de UEFN e introduciendo instantáneas preparadas para mejorar la eficiencia del proceso de preparación, reduciendo el bucle de iteración «reproducir en el cliente».
- Cooking incremental: estamos añadiendo un sistema que solo procesa los deltas (cambios) necesarios de los recursos enviados desde tu proyecto, en lugar de volver a procesar los datos que no han cambiado.
- Compilación distribuida de shaders: en lugar de que tu máquina local soporte toda la carga, distribuiremos la compilación de shaders a la nube, lo que acelerará el tiempo de compilación.
Mejoras en la edición en tiempo real
Estamos ampliando la edición en tiempo real, ofreciendo más formas de iterar durante una sesión de edición en tiempo real que admita tipos de recursos adicionales y nuevos procesos de trabajo en el editor para modificar una sesión en ejecución.
- Ampliación de la compatibilidad con tipos de recursos: podrás modificar más tipos de recursos directamente en una sesión de edición en tiempo real, lo que reducirá la frecuencia con la que necesitas enviar cambios. Por ejemplo: bus de sonido, secuencia de nivel.
- Edición en tiempo real durante el modo de juego: mientras el modo de juego está en curso durante la edición en tiempo real, se aplicará un subconjunto de ediciones en el editor de UEFN sin enviar los cambios ni detener el juego. Por ejemplo: si estás construyendo una pista de obstáculos, podrás transformar objetos y ajustar su posición.
- Panel de historial de ediciones: muestra los cambios que se han implementado en tu sesión y las ediciones que aún requieren que envíes los cambios. Este panel funcionará durante el modo de edición y el modo de juego mientras la sesión esté en ejecución.
Puedes seguir estas actualizaciones en la hoja de ruta para desarrolladores de Fortnite Trello. También utilizaremos este hilo para compartir novedades sobre nuestro trabajo continuo en mejorar la estabilidad y los tiempos de iteración en UEFN.