Unreal es un motor muy popular, utilizado desde el año 2007 y creado por Epic Games. Se utiliza principalmente por grandes empresas, aunque gracias a que ha pasado a ser gratis empieza a ser usado por los usuarios.
Aspectos positivos de Unreal Engine
Unreal es un motor extensamente utilizado y desde que pasó a ser gratuito la cantidad de información disponible y assets ha aumentado mucho, aunque sigue estando muy lejos en este aspecto de Unity. Por otro lado, el motor es de código abierto, por lo que los usuarios pueden desarrollar mejoras por sí mismos.
La mayor virtud de este motor es el sistema de Blueprints, estos permiten programar mediante un sistema de etiquetas visuales sin tener conocimientos previos de programación, lo cual facilita mucho el trabajo.
Utiliza en lenguaje C++, el cual es muy potente y permite extender el motor como quiera el desarrollador, si este sabe cómo hacerlo.
Actualmente, Unreal es a nivel técnico un motor muy potente, pero, además, su nueva versión Unreal 5 ya anunciada, por lo que se ha visto, va a suponer un gran salto a nivel tecnológico.
Figura 23 – Logo Unreal
Fuente: https://commons.wikimedia.Org/wiki/File:Unreal_Engine_Logo.svg
Figura 24- Editor Componentes Unreal
Fuente: https://lignux.com/instalar-unreal-engine-4-en-ubun
Aspectos negativos de Unreal Engine
La curva de dificultad para aprender a utilizar Unreal Engine es mucho más elevada, C++ es un lenguaje muy potente pero muy complicado de dominar.
Los blueprints son muy útiles, pero son mucho menos potente y pueden llegar a ser poco intuitivos, especialmente pensado solo para personas que desconozcan programar
La optimización del motor para videojuegos en dispositivos móviles deja bastante que desear, por lo que se recomiendan otras opciones.
El editor de la escena de Unreal, sin ser absoluto malo, carece de algunas opciones muy cómodas a la hora de crear escenarios y manejar todos los objetos de la escena.
Modelo de Negocio y Licencias
Unreal Engine es completamente gratuito y de código abierto, por lo que no hay que pagar nada para usarlo en nuestros proyectos. Lo único que hay tener en cuenta es que si nuestro producto supera los 3000$ de ingresos hay pagar un 5% de los ingresos a la compañía.
5.4.1.3 Cry Engine
Cry Engine es el motor desarrollador por la empresa Crytek, muy utilizado en los últimos años, muy destacado por sus grandes capacidades de simulación de escenarios y efectos en tiempo real.
Aspectos positivos de Cry Engine
Utiliza el lenguaje C# como herramienta principal, además también dispone de un sistema de Scripting llamado Flow Charts, el cual es muy bueno para diseñar eventos y elementos de la inteligencia artificial.
A nivel de potencia visual, es una auténtica bestia, la simulación de eventos visuales, la gestión de la geometría y la calidad general que se puede alcanzar hace de un motor ideal para diseñar grandes escenarios realistas.
Los proyectos, especialmente si se usan assets 3D muy pesados o sonido de alta calidad pesan muchísimo, esto es debido al sistema de ficheros, por lo que, si no se lleva cuidado al importar assets y demás elementos, un juego sencillo puede llegar a pesar varios GB.
Figura 25– Editor CryEngine
Fuente: http://www.davevoyles.com/cryengine/
Aspectos negativos de Cry Engine
Cry Engine tiene un problema muy grande, a pesar de ser un motor comercial, apenas se utiliza, y por ello tanto la documentación disponible como la comunidad existente deja mucho que desear y no puede competir con otros motores como Unreal o Unity.
El motor es muy diferente en cuanto a funcionamiento y herramientas con respecto al resto de motores. Esto incrementa su curva de aprendizaje.
Modelo de Negocio y Licencias
Cry Engine ha pasado hace no demasiado a ser completamente gratuito siguiendo el mismo modelo de negocio de Unreal Engine, el desarrollador debe pagar el 5% de los ingresos a partir de los primeros 5000$ dólares.
5.4.1.4 Game Maker Studio
Game Maker Studio es un motor desarrollado por YoYo Games, en concreto por Mark Overmars. Está destinado para usuarios sin conocimientos o con muy pocas nociones de programación y se especializa en videojuegos 2D.
Aspectos positivos de Game Maker Studio
La mayor ventaja de Game Maker Studio es sin lugar a duda su interfaz, que utiliza el sistema “drag and drop”, es decir, permite desarrollar videojuegos de forma muy intuitiva organizando iconos en la pantalla. El motor tiene incluidas de serie una buena cantidad de librerías, que además pueden ser extendidas mediante el sistema de generación especial de Bibliotecas.
Game Maker, utiliza un lenguaje de programación propio, GML, inspirado en C, el cual no es muy complicado y permite realizar cosas mucho más avanzadas que las que se permiten de base, algo muy bueno para usuarios experimentados.
La curva de aprendizaje es muy buena, realmente sencillo de aprender y permitiendo realizar títulos en relativamente poco tiempo, pero a su vez con muchas posibilidades de expansión.
Figura 26- Logo Game Maker 2
Fuente: https://www. yoyogames. com/legal/bran
Aspectos negativos de Game Maker
Aunque con conocimientos más avanzados es posible realizar juegos en 3D, el motor está muy especializado en videojuegos 2D.
La licencia gratuita tiene muchísimas limitaciones y no vale la pena, es prácticamente obligatorio comprar la versión de pago.
Solo soporta el lenguaje GML y es débilmente tipado, lo que dificilita la búsqueda de errores y la debugación. Además, no es un lenguaje basado en objetos, sino en eventos, lo que puede causar confusión si se viene de otros motores.
Figura 27- Editor CryEngine
Fuente: http://www.davevoyles.com/cryengine/
Modelo de Negocio y Licencias
El motor dispone, como ya se ha mencionado, de una versión gratuita, pero las limitaciones de esta hacen que no se tenga en cuenta. Es prácticamente obligatorio adquirir su versión de pago, cuyo precio es variable, en función de en cuantas plataformas queramos lanzar el videojuego. Las versiones básicas se encuentran en la figura 38.
Figura 28- Precios Game Maker
Fuente: http://www.davevoyles.com/cryengine
5.4.1.5 Amazon Lumberyard
Amazon Lumberyard es un motor de muy reciente creación, está basado en el motor CryEngine, con diversas modificaciones como la integración directa con todos los servicios de Amazon, así como con la plataforma Twitch.
Aspectos positivos de Amazon Lumberyard
El motor es totalmente gratuito y ofrece una buena cantidad de herramientas a los desarrolladores, lo cual es sorprende debido a su reciente lanzamiento. Además, permite desarrollar para todas las plataformas existentes, incluida la realidad virtual.
El código es libre, por lo que cualquier persona con conocimientos en C++ puede ampliar y mejorar el motor.
Al estar basado en CryEngine, mantiene muchas de sus características, por lo que al igual que este, Lumberyard es muy potente en cuanto a simulación de eventos visuales, la gestión de la geometría y la calidad general que se puede alcanzar a nivel técnico.
Figura 29- Logo Lumberyard
Fuente: http://www.davevoyles.com/cryengine/
Aspectos negativos de Amazon Lumberyard
El motor fue lanzado hace poco tiempo y apenas hay títulos lanzados con este motor, por lo que la documentación y en especial la comunidad de la que disponen están muy alejadas de todos los motores actuales.
Otro de los grandes problemas es que no soporta videojuegos en 2D, esto es debido a que como ya mencionamos está basado en CryEngine, por lo que está pensado para mundo abiertos y gráficos realistas.
Figura 30- Editor Lumberyard
Fuente: http://www.davevoyles.com/cryengine/
Modelo de Negocio y Licencias
El motor dispone, como ya se ha mencionado, es totalmente gratuito y su código es modificable, siempre siguiendo las restricciones de los términos de uso. Lo único por lo que se debe pagar es por utilizar los diferentes servicios de Amazon Web Services. A diferencia del resto de motores, tampoco es necesario pagar ningún porcentaje de los beneficios a la empresa.
Conclusión
Tras analizar todos los motores gráficos disponibles, valorar los pros y contras de cada uno y teniendo en cuenta las características del juego, el motor gráfico que más se adecua a estas es Unity 3D, por lo que será el motor utilizado para desarrollar el juego.
5.5.2 Otros programas
Además del motor gráfico para desarrollar un juego son necesarios otros muchos programas. Para no extender demasiado este apartado, se van a nombrar el resto de los programas utilizados sin entrar a valorar otras opciones disponibles.
Modelado
Para realizar los modelados que servirán como diseños de referencia de los escenarios, se utilizará la herramienta de modelado MagicaVoxel, la cual es open source y cuyas particularidades son las siguientes:
- Rendimiento increíble y un consumo muy liviano.
- Interfaz muy accesible y sencilla de utilizar.
- Curva de aprendizaje mucho más suave que otros programas de modelado.
- 100% orientada a voxelart, algo idóneo para nuestro proyecto.
- Paletas de colores variadas y totalmente personalizables, hacer algo bonito es relativamente sencillo con poca práctica.
- Motor de render con muchas opciones y posibilidades.
Es sencillo obtener resultados visualmente vistosos en poco tiempo, por ejemplo:
Tras unas horas de prácticas ya pude realizar un escenario como este, basado en Monument Valley
Figura 32- Escenario realizado para practicar
Fuente: Elaboración propia
El software permite exportar directamente los escenarios para ser importados más tarde directamente en Unity, pero por motivos de optimización de la malla y con el objetivo de facilitar el trabajo a la hora de programar, los escenarios se reconstruyen usando un plugin de Unity.
Unreal Engine es un motor de juego desarrollado por Epic Games que se utiliza para crear videojuegos, simulaciones arquitectónicas, visualizaciones interactivas, y contenido multimedia en tiempo real. Es conocido por su poderosa capacidad gráfica y su flexibilidad en términos de géneros de juegos y aplicaciones:
1. Gráficos de Alta Calidad:
- Unreal Engine es conocido por su capacidad para renderizar gráficos de alta calidad con efectos visuales avanzados, iluminación global, sombras dinámicas y técnicas de renderizado realistas.
2. Blueprint Visual Scripting:
- Ofrece un sistema de programación visual llamado «Blueprint» que permite a los desarrolladores crear lógica del juego sin necesidad de programación tradicional. Facilita la creación y prototipado rápido.
3. Animaciones y Cinemáticas:
- Proporciona herramientas robustas para la creación de animaciones y cinemáticas, incluyendo sistemas de animación de personajes y herramientas para la creación de secuencias cinematográficas.
4. Físicas y Simulaciones:
- Incluye un sistema de físicas avanzado que permite la simulación realista de objetos, partículas y fluidos. Esto es crucial para juegos que requieren físicas precisas.
5. Realidad Virtual (VR) y Realidad Aumentada (AR):
- Admite el desarrollo de experiencias de realidad virtual y aumentada. Proporciona funciones específicas para la creación de contenido inmersivo.
6. Multiplataforma:
- Permite el desarrollo multiplataforma, lo que significa que los juegos pueden ser compilados y desplegados en varias plataformas, incluyendo PC, consolas, dispositivos móviles y VR.
7. Marketplace:
- Ofrece el Unreal Marketplace, una tienda en línea donde los desarrolladores pueden comprar y vender activos, paquetes de contenido, y plugins para acelerar el desarrollo.
8. Desarrollo en Tiempo Real:
- Proporciona una vista en tiempo real del juego durante el desarrollo, lo que facilita la iteración y la corrección de errores mientras se trabaja en el proyecto.
9. Comunidad y Documentación:
- Cuenta con una amplia comunidad de desarrolladores y una extensa documentación en línea que aborda diversos temas relacionados con el desarrollo en Unreal Engine.
10. Blueprints y C++:
- Ofrece la opción de utilizar Blueprints para la programación visual o C++ para programación basada en código, permitiendo a los desarrolladores elegir el enfoque que mejor se adapte a sus habilidades y necesidades.
11. Epic Games Online Services:
- Proporciona servicios en línea de Epic Games, como autenticación de usuari