m2
m2
logoshort
Xwhite
x1
Elegir el mejor motor gráfico
Nadie ha dicho que sea fácil elegir un motor gráfico para trabajar en un proyecto como un videojuego, pero esta situación puede ser resuelta en relativamente poco tiempo si tenemos claros algunos factores clave. Principalmente es muy importante saber  el grado de conocimiento que tenemos acerca del funcionamiento de los diferentes Engines. Pero sobre todo es especialmente relevante ser conscientes de nuestra predisposición a aprender y a esforzarnos, puesto que en caso de no conocer nada sobre las herramientas que utilizaremos, el proceso de desarrollo de nuestro videojuego será mucho más lento y tedioso. 

 Antes de empezar a enumerar los principales motores gráficos que pueden estar al alcance de cualquiera, sería considerable resolver la cuestión que deje abierta en el último artículo… ¿Qué es un videojuego? Bien, en este caso vamos a ampliar la pregunta y vamos a convertirla en una pregunta doble antes de responder-la: ¿Qué entendemos por videojuego? Y ¿Qué es realmente un videojuego?... Bueno, pues está claro que para resolver este concepto la primera parte debe contestarla cada uno con lo que entienda por un videojuego, y con esto me refiero a determinar que parte del programa por ejemplo “Call of Duty” se puede considerar ya como videojuego. Es decir; los menús, los escenarios etc. Una vez hecho este paso entramos en la parte compleja del asunto, pues hay muchos tipos de videojuegos… Por lo general y erróneamente, se asocia al programa llamado “Call of Duty” al concepto de videojuego, pero la realidad es que lo que nosotros ejecutamos en un primer momento, únicamente es el gestor de datos que nos permitirá jugar en un escenario u otro, y concretamente en este ejemplo con unas armas que habremos personalizado previamente de una forma o de otra en los menús del juego… Bien, pues dicho esto y por pesado que parezca, volvemos a plantear la pregunta… ¿Qué es un videojuego? El videojuego en si es el escenario en el que jugamos, es decir… En el caso de un shooter los diferentes mapas que podamos encontrar. Pero claro… Eso no es todo, pues dicho así parece que cada vez que ejecutamos un escenario estamos jugando a un juego distinto, y si bien esto no es cierto, es debido a que todos los escenarios comparten una configuración que será establecida con el motor gráfico a cada uno de ellos. Más o menos para que sea fácil de entender… En el momento en que creas un solo mapa con las instrucciones básicas que incluirán los demás, tú estas creando el juego, pues posteriormente únicamente copiaras las instrucciones, las pegaras, crearas un nuevo entorno en el que se desarrollen, y quizás sutilmente incluyas algunas pequeñas diferencias.


En todo esto parece no estar muy definido el papel que juega el Engine que escojamos… La realidad, es que la diferencia entre un motor gráfico u otro es que proceso mediante el cual crearemos el entorno, y daremos instrucciones a los diferentes actores es distinto. También evidentemente la capacidad de gestión de gráficos no es la misma en el caso de un motor que en otro. Ahora ya parece que todo está un poco más orientado… Básicamente deberemos tener en cuenta el equilibrio entre 2 datos fundamentales, los procedimientos de trabajo, es decir: el proceso para trabajar código, incluir modelos, crear el entorno etc.  Y las posibilidades a nivel de soporte gráfico, es decir: soporte de partículas más, o menos detalladas; compatibilidad con librería gráfica (DirectX)… En resumen, potencia.

Antes de acabar de definir los factores que nos pueden llevar a decantarnos por una alternativa u otra, ya va siendo hora de nombrar las posibilidades que tenemos para decidir-nos por un motor u otro… En primer lugar tenemos a Unity, un motor gráfico que nos permite trabajar el código C Sharp (C#) directamente desde el programa, es un Engine muy famoso que por tanto nos abre la puerta a una amplia comunidad de desarrolladores que en caso de dudas nos puede ser muy útil. En segundo lugar tenemos a Unreal Engine, el motor gráfico que hace la competencia directamente a Unity puesto que a nivel de posibilidades gráficas es muy similar, y en algunos aspectos superior… Este Engine utiliza el C++ como lenguaje de trabajo. En tercer lugar tenemos a Cry Engine, un motor gráfico claramente conocido por su superioridad a nivel de detalle y a nivel grafico en general, este Engine además ofrece la posibilidad de trabajar en el lenguaje que prefiramos, ya sea C# o C++ (tiene una comunidad claramente minoritaria en comparación a Unity o a Unreal Engine). Por ultimo yo destacaría Unreal Development Kit (UDK), un Engine claramente destacado por su simplicidad a la hora de trabajar en líneas generales, es decir, juegos conceptualmente sencillos como shooters, juegos de cámara isométrica etc. Este motor gráfico es una pequeña variante simplificada de Unreal Engine y un proyecto de ejemplo que ha alcanzado el éxito realizado con este programa podría ser el ya conocido MOBA Smite. Este motor gráfico gestiona el apartado de programación mediante un sistema de código llamado ‘UnrealScript’, que está basado en C++.

Una vez aclarado todo esto, podríamos clasificar los diferentes Engines por dificultad, y por posibilidades gráficas, pero no sin antes comentar el apartado económico. En cuanto a precio se refiere, podríamos empezar a trabajar de forma gratuita en 3 de los 4 motores que he enumerado anteriormente, para entendernos, en todos menos en Cry Engine. Claro que, en caso de comercializar un juego desarrollado con Unreal Engine, y que este supere los $3000 en beneficios Epic Games te reclamaría el 5% de tus ganancias, y en caso de querer distribuir el juego a través de su tienda ellos se quedarían con el 30% desde el principio. En cuanto a Unity las cosas funcionan de otra manera… En Unity se ofrece la posibilidad de crear un juego de forma totalmente gratuita, o de pagar una suscripción mensual que puede ir desde los $35 hasta los $125, prácticamente en la mayoría de casos es necesaria la suscripción para realizar un proyecto de calidad, pues en aspectos como servidores multijugador hay un límite de 20 personas con la suscripción gratuita. Por ultimo tenemos a UDK, el único motor gráfico que será 100% gratuito, y con el cual podremos quedarnos con el 100% de las ganancias que obtengamos en caso de vender nuestro juego.


Con el análisis mostrado en la tabla, aparte de asignar una puntuación a cada motor gráfico, mi objetivo es extraer algo más de información… Principalmente podemos observar que los dos engines más equilibrados son Unity y Unreal Engine, y con lo que se refiere a mayor desequilibrio entre sus factores, es decir, lo bueno es muy bueno y lo malo es muy malo, encontramos a Cry Engine. Para terminar quiero analizar unos porcentajes: básicamente quiero determinar la cantidad de puntos positivos que hay en cada Engine en relación a los puntos totales asignados, lo que en definitiva se refiere a % de cosas buenas… Esto nos dejaría a UDK por encima de los demás con un 75% de puntos positivos del total, que en el caso de Unity y Unreal Engine este sería del 71,43%, y en  Cry Engine nos quedaríamos con un 66,7%.

En lo que a términos prácticos se refiere este análisis únicamente sirve para extraer una gran cantidad de datos de cada motor, pero que de una forma u otra esto no determinara la decisión de cada desarrollador a la hora de elegir un Engine u otro, pues cada persona tiene sus prioridades, cosa que he aclarado al principio del post.

Espero que esto te haya ayudado, si todo y con la información que te he facilitado sigues teniendo dudas, puedes explicármelo a través de mi mail contact@sannynotes.com y  no tendré ningún problema en orientarte en función del proyecto que tengas en mente.

 

RECOMENDADO
¿Quieres saber más sobre el desarrollo de software? No te lo pierdas
Conecta PhpMyAdmin con dreamweaver y configura tu BDD
Todo tiene un principio y una finalidad, ¿Te apetece saber más acerca del blog?
Te comparto dos vídeos y una opinión que seguro que te interesará...
Conecta PhpMyAdmin con dreamweaver y configura tu BDD
Este es mi blog personal, en el cual comparto contenido acerca de mis proyectos, escribo sobre el desarrollo digital y de software, y sobre todo aquello que me apasiona. ¡Espero que disfrutes! Bienvenido.
© 2017 sannynotes · Jordi San Nicolás