Un nuevo marco de jugabilidad
UE6 incluirá un marco de jugabilidad completamente nuevo conocido como Scene Graph, que se ha construido desde cero en Verse. Verse es la base del futuro modelo de programación de Epic. Es un lenguaje de programación de nueva generación diseñado específicamente para impulsar mundos de juego masivos y persistentes a gran escala, donde el estado global funciona a la perfección y el tiempo de ejecución se encarga de gestionar la concurrencia con corrección transaccional. Scene Graph es un marco de jugabilidad moderno y de alto nivel que te proporcionará una base sólida para crear juegos y experiencias fácilmente, y para compartir sus componentes interoperables entre juegos.
Verse toma ideas de lenguajes funcionales, lógicos e imperativos, por lo que le debería resultar familiar en seguida a cualquiera que haya trabajado con lenguajes como Python o C#. Pero también tiene algunas características únicas, pensadas para resolver los problemas de complejidad y escalado del desarrollo de videojuegos moderno, empezando por su exclusivo modelo de memoria transaccional de software.
Todas las funciones en Verse se ejecutan como parte de transacciones atómicas, que se pueden revertir y volver a simular cuando sea necesario. Esta semántica transaccional también se aplica a cualquier código C++ al que se llame desde Verse. Por ahora, para que todo esto funcione, Verse se ejecuta en un único proceso y llama a código C++ compilado a través de un compilador LLVM personalizado que convierte automáticamente el código C++ en transaccional. En principio, podemos extender este método para ejecutar automáticamente transacciones de forma concurrente en diferentes subprocesos, pero aún nos queda trabajo que hacer para llegar a ese punto en hardware que se pueda escalar adecuadamente.
Lo más interesante que esto permite para mundos grandes y en tiempo real es que con UE6 estamos trabajando para construir un sistema completo de memoria transaccional de software distribuido. Tenemos la intención de usar el código actual de juego de Verse, que funciona con un solo subproceso y luego distribuirlo en varios servidores automáticamente. Cuando se necesita un objeto en un servidor del conjunto, el tiempo de ejecución de Verse revierte la transacción actual, migra el objeto al servidor apropiado y luego vuelve a ejecutar la transacción con el objeto ya presente.
Lo increíble aquí es que puedes escribir el código de tu juego como si se ejecutara en una única máquina, sin necesidad de coordinar código de red personalizado por todas partes. Entre bastidores, se pueden poner en marcha muchos servidores para distribuir el trabajo automáticamente. Nuestros prototipos iniciales son prometedores y han demostrado que podemos escribir código para un «servidor único» y obtener escalado de rendimiento al distribuir el trabajo de forma transparente.
Y lo mejor de todo es que la distribución y la semántica transaccional hacen que guardar los datos del juego sea mucho más sencillo. El tiempo de ejecución de Verse puede sincronizar y guardar automáticamente cualquier estado global del programa, y compartir ese estado en todas las instancias en ejecución de un juego o ecosistema.
Para el programador de juegos, esto significa que configurar algo como el estado de guardado para un jugador sea tan sencillo como definir una única asignación global de jugador a estado guardado. Olvídate de configurar bases de datos y coordinar esquemas entre tu juego y otros servicios de backend. Puedes hacer todo esto sin salir de Verse. Puedes ver las primeras etapas en funcionamiento en las características de persistencia de weak_map de UEFN, que son compatibles con versiones posteriores con el método de propósito general descrito aquí.
Creemos que todo esto junto da como resultado un modelo de programación nuevo realmente potente para el futuro.
Verás cómo todo esto se va implementando poco a poco en UEFN y UE6 a medida que avancemos hacia la unificación de ambos productos.
Contenido portable
Ahora, hablemos del segundo principio rector de UE6: El contenido y el código deben ser portables entre juegos y motores. Nuestro objetivo es ofrecer al sector de los videojuegos una forma completamente nueva de hacer crecer nuestros ecosistemas con promoción cruzada, valor de jugador portable y apoyarse realmente en todas las dinámicas de suma positiva que la ley de Metcalfe predice para conectar experiencias y grafos sociales.
Vamos a hacerlo con el firme propósito de llevar a UE más allá de la mera extensibilidad y hacia especificaciones abiertas que garanticen la interoperabilidad. Cuando los estándares existentes, como glTF o USD, sean capaces de satisfacer las necesidades de UE6, los convertiremos en formatos de primera clase dentro del motor. Cuando aún no exista un estándar que satisfaga las necesidades de los ecosistemas de juegos, publicaremos los propios sistemas de Unreal Engine como especificaciones abiertas con las API de Verse, convenciones de materiales definidas y documentación que cualquier motor, herramienta o estudio pueda utilizar como base para su implementación.
Los cosméticos de Fortnite serán nuestra primera prueba real de la portabilidad. Comenzaremos trasladando el sistema base a un módulo abierto de UE6. Esto significa que tendrás la opción de usar los trajes de Fortnite a los que un jugador tiene derecho en tus propios juegos, y dispondrás de las herramientas necesarias para crear trajes para tus propios juegos que funcionen dentro de Fortnite. Estamos abordando este problema primero porque queremos ponerlo a prueba con un sistema lo suficientemente complejo como para que sirva de prueba de viabilidad significativa de la idea, y que, además, ofrezca de por sí un gran valor a los jugadores al respetar sus compras en un ecosistema de juegos interconectados.
Lo consideramos el primer paso para crear una economía compartida para los recursos inteligentes: recursos funcionales con lógica y función que operan en todos los juegos, para reconocer el tiempo y el gasto de los jugadores de una mejor manera. Al final, esto no es realmente una historia de Fortnite. Se trata de demostrar que un sistema tan maduro y complejo puede funcionar a gran escala, y que todos los juegos que utilicen estos sistemas se beneficiarán inmediatamente de ellos.
Multiplicadores de creatividad y productividad con tus modelos favoritos
Sobre el tema de la creación asistida por modelos, vemos que ayuda a ajustar los bucles de iteración y a reducir la configuración manual que requiere mucho tiempo de los niveles, los rigs de personajes, los sistemas de partículas, los pesos de huesos de skinning, así como el ajuste de la iluminación, etc.: todo el trabajo manual necesario para plasmar la intención creativa profesional en juegos interactivos, de alto rendimiento y multiplataforma. Lo más importante es que Unreal Engine está en una posición única para convertirse en el tiempo de ejecución eficiente, multiplataforma y muy realista que seguirá siendo la base sobre la que se ejecuten muchos de los mejores juegos del mundo.
Así, en UE6, vemos que los LLM, los modelos de IA generativa y herramientas como Claude y Codex desempeñan un papel fundamental a la hora de ayudarte a crear contenido más rápido mientras mantienes el control creativo que necesitas. Gran parte de nuestro esfuerzo se destina a dar a conocer un amplio conjunto de capacidades del motor a través del protocolo MCP, para que los desarrolladores puedan mezclar y combinar los mejores modelos de vanguardia y crear integraciones personalizadas de todo tipo sobre una base abierta de Unreal Engine 6 MCP. También estamos mejorando el asistente para desarrolladores de Epic (EDA) como una solución de llave en mano opcional, disponible para todos por defecto.
Nuestro objetivo para UE6 es reducir en gran medida el trabajo tedioso en la creación de contenido para dejar más tiempo para la exploración creativa y aumentar la cantidad de iteraciones que un equipo puede hacer para pulir su contenido. UE6 se lanzará con herramientas y procesos de trabajo donde puedes elegir traer tus propios modelos favoritos, probados en situaciones reales tanto en el desarrollo interno como en UEFN.
Además, dentro de Epic, hemos estado investigando mucho para ver qué funciona y qué no para la generación de código. Recientemente hemos ampliado bastante el uso de la generación de código y el análisis de IA en nuestros equipos de ingeniería de backend, motores y desarrollo de videojuegos.
Hemos tenido mucho éxito con gente que escribe herramientas personalizadas para su propio trabajo, herramientas de indexación de código rápido para ayudar a los LLM a manejar grandes bases de código como Unreal Engine, análisis rápido de respuesta a incidentes, análisis automatizado de la causa raíz de fallos y errores de trabajos de CIS, generación automatizada de pruebas y, por supuesto, la aceleración y paralelización que cabría esperar en el desarrollo de servicios de backend.
Lo interesante es que la mayoría de estos casos de uso ni siquiera generan código principal de Unreal Engine, aunque probablemente eso también llegue con el tiempo. Puedes esperar que Unreal Engine 6 también aplique todos los aprendizajes clave para usar la generación de código en ingeniería junto con los procesos de trabajo de contenido.
Construyamos esto juntos
UE6 va a cambiar mucho la forma en que se crean los juegos. No cambiará lo que más importa, que es que la gente de este sector, los desarrolladores de juegos, los cineastas, nuestra familia de Unreal Engine, son los que hacen que todo esto sea posible. Gracias por hacer que Unreal Engine brille de verdad.
Tendremos mucho más que compartir contigo de aquí al acceso anticipado, incluido un análisis en profundidad sobre el nuevo marco de jugabilidad, Verse, el grafo de escena y los flujos de trabajo asistidos por modelos que estamos incorporando a las herramientas de producción. Mientras tanto, sigue desarrollando en UE5 y UEFN. Todo lo que lances hoy es un paso hacia lo que vamos a lanzar juntos en UE6.