Godot contra TODOS 2019

Unity vs Unreal Engine vs libgdx vs phaser vs Cocos2d vs Godot vs Gamemaker 2 vs defold vs Construct 3 vs MonoGame vs gDevelop vs Corona sdk vs Antiryad Gx vs Urho3D vs Xenko

Actualmente Godot ya es el número uno del ranking de motores de videojuegos de Slant. Podemos decir que según sus datos es el motor más popular en estos momentos, pero mi duda es…

¿Podré llegar a realizar juegos triple A y tener una estabilidad durante todo mi aprendizaje si aprendo a programar en éste motor?

Existen más de 60 motores de videojuegos y por este motivo he necesitado limitar al máximo la lista a comparar. Para así disminuir el trabajo de investigación que iba necesitar este video. Disculpen los más entendidos si he cometido algún error y sobretodo tengan en cuenta que este video quedará obsoleto rápidamente, así que probablemente todo lo que diga sea ya mentira. Escriban comentarios al respecto, con referencias.

Para reducir la lista he usado los siguientes criterios. Ser gratis para descargar y publicar, permitir exportar a múltiples plataformas, incluído linux. Poder crear proyectos privados. Poder desarrollar cualquier tipo de juego, 2D o 3D. Estar programado en algún tipo de C o lenguaje similar. Y por último tener un editor en linux, porque es el sistema que utilizo y esta es: Mi comparativa de los motores de videojuegos que más me interesan.

Los motores que he podido encontrar, ordenados alfabéticamente, son:

  • Antiryad Gx
  • Cocos 2D-x
  • GameMaker: Studio 2
  • Godot
  • MonoGame
  • Unity
  • Urho3D
  • Polycode
  • Unreal Engine
  • Xenko

Las funcionalidades también han sido reducidas al máximo y tienen condicionantes. La primera condición es que sean gratuitas, deben venir incluidas o ser fácilmente accesibles. Con tiempo y dinero se puede hacer cualquier cosa, incluso convertir un motor en otro, pero ese objetivo sería absurdo. Diferenciándolo así nadie se sentirá engañado.

Vulkan

Vulkan es la API de bajo nivel multiplataforma más rápida hasta la fecha, capaz de sacar partido a todas las CPUs y GPUs de tu equipo, sean estas cuales sean. Los motores de mi lista que usan Vulkan son Godot, Unity, Unreal Engine y Xenko.

Global Illumination

La iluminación por Voxel Cone Tracing Global Illumination utiliza el trazado de rayos para conseguir efectos de luz mucho más realistas, es el estándar Triple A hoy día. Disponible sólo en Godot, Unity y Unreal Engine.

Aunque existen innumerables formas de conseguir cada efecto, todos los sistemas que forman parte de un videojuego pueden diferenciarse en tres categorías: si están calculados antes de ejecutar el juego, si se van calculando conforme se ejecuta el juego o si se calculan completamente en cada frame del juego, permitiendo la interacción con el entorno en tiempo real.

Se está investigando una solución unificada de iluminación capaz de representar todos los efectos de la luz. Usar raytracing en cada frame mezclado, probablemente, con inteligencia artificial al eliminar el ruido generado, es quizá el futuro próximo. Actualmente no hay un estándar, lo más cercano a él es la Dynamic Diffuse Global Illumination y está disponible en Unity y Unreal Engine.

Esto convierte a Godot en el motor más avanzado gráficamente de código libre, abierto y sin regalías que existe. Hay que tener en cuenta que cualquier efecto que esté hecho en software libre y con una licencia permisiva similar a la de godot podría ser incluído en godot.

Shaders

Los shaders son programas que se ejecutan en la GPU de tu máquina y por tanto no son una modificación directa de la memoria, ni un programa normal. OpenGL para realizar esta tarea utiliza un lenguaje propio llamado G.L.S.L en C. En Vulkan es necesario usar el lenguaje compilado S.P.I.R, el cual permite el reuso de archivos G.L.S.L y H.L.S.L de DirectX. Cada motor tiene su forma de implementar estos shaders pero todos ellos tienen ésta opción.

Physically Based Rendering

El renderizado basado en físicas es una forma de interpretar los materiales que permite una representación más realista de los objetos. Para ello se incluyen editores de materiales incorporados. Los motores que permiten esta funcionalidad son Godot, MonoGame, Unity, Urho3D, Unreal Engine y Xenko.

Inteligencia Artificial

Llamamos inteligencia artificial mayormente al comportamiento de los NPCs de un juego, los personajes no jugador. En este sentido la característica estrella actual es el Machine Learning y los motores que tienen acceso a ella son Godot, Unity y Unreal Engine.

Soft Body Physics

Lo más avanzado a la hora de crear animaciones se encuentra en las partes que deberían deformarse de forma autónoma teniendo en cuenta los movimientos físicos del mundo virtual, como son el pelo y la tela. Los motores que pueden realizar ésto son Godot, Unity y Unreal Engine.

Terrenos

Disponer de un buen sistema procedural de terrenos es básico para cualquier juego 3D. Los motores que incluyen esta característica son Cocos 2D-x, GameMaker, Godot, Unity, Urho3D, Unreal Engine y Xenko.

Sonido Holofónico Binaural

Como característica más interesante en cuanto a sonido 3D he elegido el que es posible disfrutar con unos simples cascos estéreo. Este sistema puede ser implementado en GameMaker, Godot, MonoGame, Unity, Polycode, Unreal Engine y Xenko.

Occlusion Culling

Todos los motores 3D realizan Frustum Culling, que es el hecho de procesar solo los objetos que se encuentran en pantalla, pero a diferencia de esto, el Occlusion Culling permite dejar de procesar todo lo que esté oculto tras otros objetos, por ejemplo, una pared, lo que permite una optimización mucho mayor. Los motores que disponen de esta característica son Unity, Urho3D y Unreal Engine. Estará disponible oficialmente en Godot 4.

Podría pasarme todo el día hablando de funcionalidades que puede tener godot, que solo tiene Unity o que sólo están actualmente en Unreal. Estas funcionalidades realmente no son determinantes porque luego pueden implementarse de formas muy diferentes y ser más o menos complicadas de utilizar dentro de cada motor. La carrera continua y cada día aparecen nuevos efectos que aumentan el realismo. Unreal Engine es el que más apoyo recibe en este momento por parte de las empresas que realizan la tecnología más avanzada pero sospecho que eso cambiará muy pronto como ha cambiado en otros entornos.

Si quieres saber por qué elijo Godot por encima de Unity y Unreal. Busca:

¿Por qué Godot?