• No results found

1.5.1 Unity 3d

Unity es uno de los motores de videojuegos multiplataforma mejor balanceados en cuanto a costo combinado con calidad y accesibilidad para cualquier usuario. Posee requisitos de CPU y de tarjeta de video básicos por lo que cualquier computadora construida en los últimos tiempos puede manejar fácilmente cualquier aplicación creada con Unity (Unity System Requirements, n.d.).

Unity posee una versión gratuita para uso no comercial o educacional. Aunque a partir de ganancias generadas por una aplicación que sobrepasen los 100 000 USD, el usuario debe licenciar su programa y tiene acceso a la versión Unity Pro (Unity EULA, 2010).

39 El motor de videojuego soporta archivos de un gran número de aplicaciones 3D como 3ds Max, Maya, CINEMA 4D y Blender, lo que significa que no hay casi restricciones para el tipo de formato que soporta, además de permitir física en sprites 2D. En el otro lado de la balanza, no posibilita la creación ni edición de modelos dentro del motor (Anon., 2015).

El Unity posee varias ventajas sobre los dos motores de videojuegos anteriormente comentados: posee una versión gratuita para uso no comercial; no necesita requisitos del sistema complejos, puede ser utilizado en casi cualquier computadora de las últimas generaciones; a través de un plug-in de distribución gratuita puede utilizarse el IDE Visual Studio para programar en él; puede programarse para él en C#, lenguaje de programación orientado a objeto ampliamente conocido, y en JavaScript. Además, posee herramientas para desarrollar contenido para web y un plug-in para instalar en el web browser que permite la visualización de contenido de Unity a través de la red.

Unity permite importar contenido desde el 3Ds Max utilizando el formato FBX.

Posee SDK de gran cantidad de dispositivos como son Cardboard, Daydream, HTC Vive, Oculus, etc. y de software de realidad aumentada como Vuforia o Wikitude.

Al ser un software multiplataforma es utilizado para desarrollar videojuegos para PC, consolas, dispositivos móviles, y páginas web, entre otros. Por lo que brinda la facilidad de crear aplicaciones para Android con un alto contenido gráfico.

1.5.2 Unreal Engine

UDK es una versión gratuita del motor de videojuegos Unreal Engine 3 desarrollado por Epic. Ofrece un sistema de iluminación propio (Lightmasssoftware) con una solución de render de GI que permite la obtención de imágenes cercanas a la realidad en poco tiempo de render y con una interface de usuario fácil de usar además de soportar el uso de iluminación HDR (UDK Features, 2011). Posee un grupo de plug-ins que anteriormente eran independientes pero que han sido añadidos al programa tales como SpeedTree utilizado para la creación de vegetación, Physx especializado en colisiones y FaceFX para la creación de animaciones faciales (Porter, 2010).

40 Al igual que CryENGINE 3, UDK posee requisitos de sistema mínimos, pero los requisitos recomendados por Schroeder (2011) con los que se alcanza la mejor calidad visual son los siguientes:

 Sistema operativo Windows 7 64-bit o superior.

 Cualquier CPU multi-core de 2 GHz o de mayor velocidad.

 4 GB de RAM o superior.

 Tarjeta Nvidia serie 8000 o ATI equivalente, u otra superior a estas con al menos 512 Mb de memoria de video.

UDK puede ser usado gratuitamente bajo una licencia para uso no comercial o educacional, sin embargo, si se decide comercializar algún producto generado con la versión gratuita, tiene que pagarse 99 USD de licencia de programa más el 25% de las ganancias adquiridas después de los primeros 50 000 USD ganados. Si se planea desde el principio utilizar el producto con fines comerciales, la mejor opción es contactar a Epic y pagar la licencia del producto con lo cual no es necesario aportar el 25% de las ganancias posteriores (Schroeder, 2011).

El lenguaje de programación nativo del UDK y el Unreal Engine es el UnrealScript. Es un lenguaje de programación orientada a objeto similar al Java. En marzo de 2014, Epic anunció que el Unreal Engine 4 no soportaría más UnrealScript, y en su lugar soportaría C++. Además permite scripting en Kismet. (Anon., 2014)

El programador, desarrollador de videojuegos y artista 3D Nobel-Jørgensen (2010) propone en su blog, tras su experiencia con el motor de videojuegos, una lista de las ventajas y desventajas del UDK:

 Ventajas:

Desempeño: posee un muy buen desempeño incluso con escenas con mu- chos polígonos y materiales avanzados.

Iluminación y render: gracias al sistema de Lightmasssoftware y el soporte de iluminación HDR.

Editor de programación en Kismet y la herramienta de animaciones Mati- nee, que facilitan la creación de simples scripts y diseños para usuarios no programadores.

41 Editor de materiales: posee un editor de materiales visual que permite ver fácilmente cómo cada shader afecta el resultado final.

Editor de partículas Cascade: sistema propio de sistema de partículas con una interface de usuario de fácil uso que genera buenos resultados visua- les.

 Desventajas:

No existe el concepto de carpeta de proyecto: No existe una separación clara entre los archivos del proyecto desarrollado y los archivos de ejemplo del UDK por lo que el trabajo no puede ser organizado correctamente. Flujo de trabajo lento: Después de cada cambio en el código de programa- ción es necesario reiniciar el UDK para que tenga efecto.

Pobre soporte de debugeo (degugging support).

1.5.3 Armory 3d

Armory es un motor de juego en 3D de código abierto con integración completa de Blender, convirtiéndolo en una herramienta de desarrollo de juegos completa. El resultado es un flujo de trabajo unificado de principio a fin, que lo hace trabajar más rápido erradicando los saltos entre diferentes aplicaciones para exportar constantemente datos de una a otra.

Para definir los materiales, Armory se basa en los nodos Cycles de Blender. Los materiales se compilan previamente en sombreadores adecuados para la representación en tiempo real.

Estas son las características graficas fundamentales de Armory 3d:

Materiales fisicamente correctos

Materiales basados en nodos de Cycles

Iluminación global basada en Voxel

Anti-aliasing temporal

Desplazamiento teselado

Raymarcha en espacio de pantalla

42 Armory está orientado hacia los nodos. Para los materiales, se utiliza un subconjunto de nodos Cycles estándar. Cada escena creada en Armory es renderizable tal como está en Cycles usando path-tracing. Esto hace posible el uso de Cycles para baking ligero sin configuración separada. El rendimiento sigue siendo la prioridad. Para definir el comportamiento del juego, se desarrolla un sistema de nodos lógicos (Armory3d, 2018). Para ofrecer una experiencia multiplataforma, Armory 3D utiliza el framework multimedia Kha y el toolkit Haxe. Su renderizador está basado en los nodos Cycles de Blender y se apoya en físicas. Además, soporta un pipeline de HDR y es capaz de manejar características modernas incluidas en los motores gráficos 3D. Permite exportar las

creaciones a Windows, GNU/Linux, Mac, HTML5, Android, iOS, PlayStation 4, Xbox One y Nintendo Switch, por lo que su soporte multiplataforma es bastante completo

(Medina, 2017)

Este parece ser un prometedor motor de videojuegos, cuenta con muchas características que lo sitúan al nivel de los demás y es gratuito y de código abierto. Pero aún es muy joven y todavía está en desarrollo por lo que no cuenta con ninguna versión disponible. Pero hay que tenerlo en cuenta para el futuro, sobre todo con la fuerte alianza que ha establecido con Blender que también se va asentando en la preferencia de muchos usuarios y que está dejando de ser el hermano pequeño de software potentes para generar gráficos tridimensionales como son 3d Studio, Maya, y otros.