Buscar en el blog

domingo, 9 de mayo de 2021

Comparación entre GDscript de Godot engine Vs Blueprint de Unreal Engine y C++

Qué se siente usar Blueprint después de usar Gdscript.
¡Extremadamente prácticos, pero difícil de leer!



Después de hacer varias pruebas con Blueprint me doy cuenta lo dinámico que son, ya que no necesitan compilar como C++ y eso ahorra mucho tiempo, aunque obviamente son 10 veces más lentos.

Sin embargo... ¡En la práctica fácilmente se puede hacer una telaraña!.

Como vemos en esta imagen, 4 líneas de código en c++ para mover en forward, se hace un completo caos en Blueprint.





El principal problema surge cuando hay que hacer operaciones matemáticas. Aquí por ejemplo quiero sumar la locación actual + el vector forward * una velocidad * el delta time. En un lenguaje como C++ se puede hacer en una línea de código, pero en un Blueprint vemos como se empieza a llenar de hilos dificultando la lectura del código.


Los blueprint son extremadamente ágiles, es comparable con usar Gdscript en Godot, incluso los blueprint tienen interesantes herramientas visuales. Sin embargo no tengo dudas que un lenguaje como GDscript es más fácil de comprender en proyectos grandes.

Tanto Gdscript en Godot Engine como los Blueprint en Unreal Engine tienen herramientas parecidos como por ejemplo crear eventos fácilmente. Los eventos más conocidos son cuando dos cuerpos colisionan, cuando el mouse entro a un area entre muchos otros.

 En godot tiene un nombre técnico llamado señales, cada nodo tiene una señal según la característica del mismo, es prácticamente instantáneo y fácil de comprender.


 En Unreal Engine se llaman eventos y podemos acceder a ellos fácilmente desde el panel de propiedades de los blueprint o haciendo click derecho arriba de un componente..


En muchos lados dicen que usar blueprint es para diseñadores, sin embargo es programación y es un lenguaje visual que tiene que ser aprendido como cualquier lenguaje.

La curva de aprendizaje de los Blueprint es prácticamente igual a GDscript, cada cual tiene sus ventajas y desventajas.

Como ventaja los blueprint tienen interesantes herramientas visuales como por ejemplo cuando ponemos play y vemos por donde va el flujo del código, como desventaja se hace difícil leer el código en proyectos grandes.

Como ventaja GDscript es fácil de comprender y en proyectos grandes no se hace tan difícil seguir el flujo del código, como desventaja es un lenguaje de programación de puras letras y eso puede asustar en un comienzo.



Es evidente que un lenguaje como GDscript con los nodos es mucho más práctico que un Blueprint con los componentes, Lo ideal sería que exista un lenguaje como Gdscript con las capacidades de un blueprint ya que el principal problema surge cuando el código visual crece y literalmente se puede formar "código spaguetti".







1 comentario:

  1. Muy buen análisis, en mi caso soy diseñador y comencé con blueprint, luego a los años descubrí godot y me anime a codear y tengo que admitir que me resulto extremadamente fácil respecto a Unreal y Unity. Incluso creamos una comunidad en español en dicord https://discord.gg/wqtFkqgs8p

    ResponderBorrar