Análisis Unreal Engine 4
¿Olvidates tu contraseña?

Unreal Engine 4, herramienta versátil de desarrollo

2014-12-29
1 comentario

Ya ha pasado un tiempo más que aceptable desde el lanzamiento al público de Unreal Engine 4 y de igual forma que las consolas y pasado el “hype” inicial, es un buen momento para analizar este engine; de dónde viene, dónde está y hacia dónde va. Epic Games, compañía propietaria del motor es, para empezar, la compañía con más experiencia creando motores para videojuegos triple A del sector, además de ser uno de los estudios de videojuegos más queridos y veteranos del sector gracias a sagas como Unreal Tournament o Gears of Wars. Si bien es cierto que últimamente Unity le ha comido terreno a Unreal en cuanto a desarrollo indie, la realidad es que esto, ya seas desarrollador de Unity o de Unreal debería ponerte contento: que compitan entre ellos te hacen a ti el único beneficiado. Por supuesto, no es casualidad que la Ip más famosa de Epic Games comparta nomenclatura con su Engine más famoso, y es que es imposible comprender Unreal Engine sin entender Unreal Tournament, juego para el que fue concebido el Unreal Engine en todas sus diferentes versiones.

Es más, como punto a favor de Epic Games, y sin hablar de momento de las características propias del motor, el nuevo Unreal Tournament 4 está siendo desarrollado en Unreal Engine 4 -a partir de ahora UE4- pero con algo inaudito en un proyecto de tal tamaño: desarrollo abierto. Sí.

Actualmente, se puede disfrutar de versiones de desarrollo de Unreal Tournament 4 y en los foros de éste viendo paso a paso, y repito, paso a paso, discusión a discusión, modelo a modelo, clase a clase, documento a documento el desarrollo de UT4.

Pero eso no es todo. También puedes participar en el desarrollo. Cualquiera puede aportar modelos, texturas, clases o proponer ideas al documento de diseño o a nivel conceptual. Ésto solo puede tener un nombre: GOLD. No todos los días uno tiene el placer de ver desde dentro y en directo el desarrollo de un triple A.

ue4-logo-analisis-videojuegos-zehngames

Otro punto a favor de Unreal Engine es su precio y licencia. A diferencia de Unity, precio y licencia únicos. 19 euros al mes y un 5% de las ganancias a Epic Games si tu juego te da dinero (gratis para alumnos de centros educativos). Pero es incluso más barato que eso, pues podemos pagar tan solo un mes y luego anular la subsripción y sigue siendo totalmente legal y plausible desarrollar con Unreal. Así pues, ¿por qué pagar 20 euros al mes? Principalmente para tener el Engine actualizado al día, pero si con el que ya tienes te basta es incluso buena idea no actualizar mes a mes por posibles problemas de incompatibilidad. Incluso desde la propia Epic Games recomiendan no actualizar a no ser que el contenido que agregan mes a mes te suponga una eficiencia mucho mayor para el desarrollo. ¿Cómo? ¿Actualizaciones importantes mes a mes?

Cada mes Epic Games lanza nuevas versiones de UE4 con suculentas mejoras. Hace apenas un mes Epic lanzó la última versión de UE4 con algo que los usuarios llevan demandando desde que se hizo público el engine: sistema de blueprints orientado al multijugador.

Esto es, clases de programación gráfica (sin picar una sola línea de código) orientadas a gestionar y crear servidores y demás componentes necesarios para un buen modo multiplayer. El mes pasado la joya de la corona fue un nuevo sistema de sombreado suave y un ambient oclusión semi dinámico que te quita el hipo. Que nadie piense que el engine va a tardar meses en actualizarse.

Sin querer entrar todavía en los componentes técnicos y funcionales, hay un feature más que merece la pena comentar: el marketplace. Además de poder comprar assets para nuestros videojuegos el marketplace tiene por defecto toda una serie de escenas y proyectos predefinidos para mostrar todas y cada una de las bondades del engine. Desde un Flappy Bird totalmente modificable y adaptable hasta bases para juegos de estrategia, primera o tercera persona.

Y por supuesto que no falten las demos técnicas totalmente modificables como la “Elemental” o cualquier otra que haya mostrado Epic o innumerables niveles mostrando específicamente todos y cada uno de los features del engine. Descárgate el engine y ponte a toquetear cosas ya hechas. Y si no tienes suficiente, sólo basta con visualizar las dos horas de streaming por Twitch (luego lo cuelgan en su canal en youtube) con empleados de Epic Games y hazles preguntas u observa cómo trabajan ellos en tiempo real. Por aquí han pasado desde Speedtree hasta senior programmers de Epic. Una ventana que vale la pena abrir.

Diferencias y mejoras con su predecesor

Unreal Engine 3 (y en su versión UDK) y Unreal Engine 4 comparten mucho; desde la forma de gestionar las escenas, la navegabilidad o el workflow. Epic Games ha sabido no tocar lo que ya funcionaba pero sin embargo, han sabido suprimir todo aquello que era mejorable, pasando por la propia estructura del Engine. Efectivamente, Unreal Engine 4 ha sido reescrito desde cero en C++ (además ahora puedes trabajar con el Engine en OSX). Esto solo tiene un inconveniente: imposible mudar de UE3 o UDK a UE4 sin exportar a formatos universales y volver a importar los assets e imposible mudar la programación gráfica o tradicional. UE4 directamente fusila el pseudo lenguaje que se inventó Epic Games para UE3 llamado unrealscript (en parte pensado para que el público no pudiera acceder al código fuente del engine) y abre directamente todo el código fuente de Unreal Engine 4 al público y por su fuera poco, lo pone de acceso público en Github para que cualquiera pueda revisarlos y aportar mejoras. Por otra parte, uno de los mejores elementos de Unreal Engine 3, Kismet, una especie de entorno para programar sin tener que picar código limitados a cada nivel, evoluciona para convertirse en un entorno de programación gráfica con el que se pueden crear hasta clases de cualquier tipo. Ahora sí se puede decir; si quieres puedes construir juegos desde cero sin tener que picar una sola línea de código. Tan solo uniendo “flechitas”. Bienvenidos a los Blueprints. Eso sí, que nadie se piense que la programación de toda la vida queda relegada a un segundo plano; los blueprints y el código C++ están pensados para trabajar juntos y si uno lo desea, revueltos. Todos los blueprints pueden exportarse y se transformarán en código C++ que podremos modificar carácter a carácter.

Para los nostálgicos de Kismet, que no cunda el pánico: si deseas seguir trabajando como en Kismet, ahora cada nivel que crees de Unreal Engine 4 contará con un blueprint de nivel, es decir, un blueprint emparentado al nivel. Lo que antes era Kismet, vamos.

Adaptabilidad

Uno de los puntos más criticados de UDK es que para trabajar para juegos en primera persona en PC era ideal, pero que fuera de este ámbito todo se complicaba. Ahora el exportador de UE4 funciona a la perfección y como demuestra la demo Tappy Chicken creada por EPIC, es posible crear juegos pequeños y adaptarlos sin hacer un solo clic a iOS, Android, Html5 o similares. El sistema de blueprints es capaz de detectar sobre que dispositivos se está desarrollando el juego y adaptar los controles para tal. Para crear juegos que no sean FPS también se establecen facilidades y para consolas de nueva generación o Mac no debería ser un problema tampoco desarrollar, siempre y cuando tengamos la licencia de Sony o Microsoft, claro. Personalmente, si algo destaco de UE4 es su adaptabilidad; nunca antes he visto un Engine tan eficiente a la hora de trabajar orientado a triples A, así como al más sencillo juego de consumo rápido para telefonía móvil.

Potencia

A nivel gráfico y estético el engine es inmejorable, y valga la redundancia, además mejora mes a mes. La gestión de partículas es la mejor del momento, ahora hacer superficies que reflejen en tiempo real no supone toparse con múltiples dificultades, gracias al nuevo sistema de raycasting, la gestión de transparencias ya no va por orden arbitrario y todo el engine viene preparado para que la traducción del juego no suponga una dura etapa y con un bonito menú para configuración gráfica genérico pero muy útil a la hora de realizar pruebas durante el desarrollo para posteriormente adaptarlo al juego final. El sistema de iluminación estático funciona de idéntica forma al de UE3 pero con una asombrosa mejora en la agilidad del compilado y con algo de otro planeta: podemos seguir trabajando en el nivel mientras éste se compila. Como desarrolladores nuestro bien más preciado es el tiempo y poder seguir trabajando con continuidad es clave. A nivel de gestión de streaming de niveles todo sigue igual que en UDK menos la gestión de macroniveles: ahora es posible tener varios landscapes (enormes mallas pensadas para representar enormes extensiones de terreno que adaptan su resolución en función de la posición del jugador) trabajando al mismo tiempo eficientemente.

Estructura y herramientas

La estructura del engine sigue siendo completamente idéntica a UE3, con un gestor de contenidos que nos servirá para poder popular nuestros diferentes niveles y unos visores para navegar por el nivel como base. Además, en este gestor de contenidos podemos crear carpetas y subcarpetas que nos servirán para organizar todo el contenido de nuestro juego (texturas, modelos, sonidos, blueprints, animaciones, esqueletos, etc.). Personalmente hay algo que me ha sorprendido mucho y es que ahora podemos cambiar el nombre de cualquier carpeta o mover cualquier asset de sitio y el engine recalculará las dependencias en base a la nueva ruta. Indispensable para optimizar la carga y descarga de contenido en las etapas finales del desarrollo y reorganizar todos esos assets de la carpeta “prototipo”.

Los parámetros accesibles desde archivos .ini ahora además han sido integrados mediante interfaces gráficas dentro del engine y muy rara vez deberemos bucear entre los archivos del engine para modificar parámetros.

rime-ue4-analisi-videojuegos-zehngames

loft-unreal-engine-4-analisis-videojuegos-zehngames

ue4-blueprint-blueprints-analisis-videojuegos-zehngames

Adiós a Flash y Scaleform

Los menús de la anterior generación han estado dominados por Scaleform: un plugin para Adoble Flash que permitía exportar menús creados con Flash para videojuegos. UE3 así era y esto suponía un dolor de cabeza constante; comunicar ActionScript con UnrealScript y con Kismet supone hacer malabares. Ahora UE4 viene con su propio gestor de menus 2D y 3D y los que hemos sufrido las torturas de scaleform, sabemos que esto supone 2 meses menos de desarrollo; eficiencia por encima de todo.

2 dimensiones

Sí, en UDK las dos dimensiones eran lo menos cuidado del engine. Ahora todo lo contrario. Epic Games es consciente del enorme número de desarrolladores que necesitan el engine para trabajar sobre 2 dimensiones y por lo que ya cuenta con un módulo (Papers 2d) increíblemente potente para gestionar juegos en 2d dimensiones de cualquier tipo; profundidad, colisiones 2D, físicas restringidas en Z, gestión de orden de elementos y menús. Pero por supuesto, si uno lo desea puede seguir trabajando en un entorno 3D por capas y simplemente limitar la jugabilidad y las físicas pertinentes a las 2 dimensiones; recordemos, ahora no hay una sola línea de código del propio engine que no se pueda modificar.

Soporte y tutoriales

La comunidad de Unreal Engine 4 crece mucho. Cada día nuevos videotutoriales son subidos a Youtube y resulta más fácil encontrar soporte para UE4 pensado para Oculus Rift o cualquier otro tipo de tecnología minoritaria. Además en el canal oficial de Unreal Engine se suben tutoriales de nivel avanzado, medio y principiante para todas y cada una de las diferentes áreas del juego y de momento parece que esto va a tener bastante continuidad.

Conclusiones

Unreal Engine no es perfecto. Aún sigue crasheando eventualmente por lo qur tiene mucho que pulir, pero a nivel calidad precio, ahora mismo es el engine público mejor posicionado en el mercado. Unity flojea cuando se trata de crear videojuegos triple A y Cryengine no está a la altura cuando se trata del sector táctil. Unreal Engine ha sabido adaptarse a las demandas del sector mediante una estrategia agresiva y arriesgada de desarrollo abierto y esto ha hecho que el engine coja una carrerilla y una ventaja respecto a sus competidores que ahora lo tienen más difícil que nunca. Por el bien del sector esperemos que le alcancen.

brush-stroke-zehngames

Imagen de perfil de Carlos Coronado

Carlos Coronado

107 entradas como autor
Desarrollador de videojuegos por elección, jugón por pasión. Mi curiosidad por jugar a videjuegos y sobretodo intentar entender porque los videojuegos me gustaban tanto me ha llevado a enfocar mi vida a intentar desarrollar esas mecánicas que nos absorben a todos. Me obsesiona la magía, los detalles, los matices, los buenos guiones y textos, los pequeños momentos del día a día y Warren Spector.

Etiquetas:

, , , , , , , , , , , , , , , ,

Inicio Foros Unreal Engine 4, herramienta versátil de desarrollo

  • Imagen de perfil de Carlos CoronadoCarlos Coronado
    Jefe de claves
    #59803

    Análisis exhaustivo de las herramientas y características que presenta Unreal Engine 4, el engine más robusto del momento

    Lee el artículo completo en http://www.zehngames.com/developers/unreal-engine-4-herramienta-versatil-de-desarrollo/

    Imagen de perfil de Víctor FernándezVíctor Fernández
    Participante
    #59814

    Con respecto a lo que comentas del streaming de niveles: no sólo ha mejorado la gestión de landscapes, sino también la metodología en general. Antes había que hacer bastantes pasos en Kismet para poder streamear correctamente un nivel, con riesgo incluso de que en la compilación final se buggeara (me ha pasado bastante). Pero ahora han simplificado tremendamente el proceso. Apenas hay que tocar nada de lógica para desarrollar sistemas de gestión de subniveles complejos.

    Con respecto a la integración de interfaces gráficas, el motor está bastante en pañales. Slate presenta todavía bastantes inconvenientes. En general, yo creo que lo mejor en Unreal Engine 4 está por llegar. Tal vez tenga algunas desventajas con respecto a otros engines más “acabados”, pero estas desventajas se olvidan con creces si tenemos en cuenta la calidad del motor de shaders e iluminación y el bajísimo coste del motor. Actualmente estamos trabajando en Unreal Engine 4 y la experiencia no podía ser más positiva. No sé qué tal será el workflow para proyectos puramente 2D, pero os garantizo que en 3D es una gozada.

    Un saludo y enhorabuena por el artículo.

Viendo 2 publicaciones - del 1 al 2 (de un total de 2)

Debes estar registrado para responder a este debate.