Motor grafico Godot Engine

Un motor pequeño y poderoso


Hace un par de años atrás estaba con la idea de diseñar mi propio videojuego y no sabía por dónde empezar. Unity, Unreal Engine, Game Maker, RPG Maker... Ninguno llamaba mi atención y la verdad es que respecto a lenguaje sentía que me iba a costar aprender C# o C++, hasta que un día por recomendación me dijeron que pruebe "Godot".
Averigüe, ví un par de vídeos y la interfaz me resultó amigable. Tenía un lenguaje que escuche muy poco y que también llamo mi atención, GDScript (el cual está basado en Python).
El primer tiempo la verdad es que lo único que sabía hacer (con un tiempo de aprendizaje MUY elevado) era moverme y saltar sobre plataformas.
El hecho que me consumiera tanto tiempo tratar de entenderlo me hizo tomar la decisión de dejar el desarrollo para otro momento y seguir en la mía. Para finales del 2020 volví más que decidido, quería aprender hacer Pixel Art y a usar Godot. De nuevo mucho tiempo invertido, poco avance y mucha frustración (todo estaba acompañado con la pandemia y el mal clima laboral, nada ayudaba). Hace poco menos de un mes me decidí a darlo todo con Punto Enfoque, a compartir lo que voy aprendiendo con la misma alegría que me produce lograr avances.
Fue entonces cuando comencé a entender muchas cosas: todo leyendo documentaciones del motor, viendo vídeos y sobre todo pensando y codeando lo que creia que podría funcionar (No fallando mucho, más bien muchísimo jajaja)
No voy a decir que soy un erudito en el tema, sin embargo en tan poco tiempo aprendí bastante prestando atención y leyendo como es que funciona cada Nodo.



Escenas, uno o varios nodos:


Podemos decir que es la constitución de uno o mas nodos que integrados, unos con otros, dan lugar a una escena. Aunque pueda parecer rebuscado, dentro de una escena podemos tener otras escenas con ciertas características diferentes, por ejemplo:
En una escena nivel tenemos otras escenas:
1) La escena del jugador
2) La escena del GUI (es donde te figura la barra de vida, puntaje, tiempo, entre otras cosas)
3) La escena del enemigo

Nodos en Godot: ¿Para que sirven?


Básicamente son elementos a los cuales les damos atributos diferentes o que poseen sus características particulares.
Por ejemplo tenemos muy básicos que nos ayudan a crear un juego super simple: Kinematic2D, RigidBody2D y StaticBody2D y Area2D
El Kinematic2D básicamente lo usamos para hacer un jugador, enemigo o "ente vivo" (al que le damos movimiento y posee una gravedad, ambas programadas por nosotros).
Luego el RigidBody2D se pueden utilizar como objetos que interactúan con tanto con los Kinematic2D como con los StaticBody2D, también poseen su propia gravedad y atributos especiales. Un ejemplo básico son las pelotas, cajas, autos, etc.
Y los StaticBody2D básicamente son las superficies estáticas (suelo, piso, pared, plataforma móvil) que le dan un límite al jugador sobre el cual no podrá tener interacción.
Por último las Area2D. Oh! Benditas áreas!! Es versátil al momento de usarlo: Pasar de un nivel a otro, pasar por un booster y que este te de más velocidad, etc.

Estos son los usos más recurrentes, a veces puede variar dependiendo del tipo de juego que querramos hacer o que tipo de efecto querremos obtener.

Scripts:


Aunque tengamos un nodo o una escena, si no le damos un script con ordenes nada va a pasar.
El lenguaje más utilizado es GDScript pero también se puede usar C#. Vamos a tener que aprender a usar cuatro pilares básicos en la programación orientada a objetos: Lógica de la programación, Herencia, Polimorfismo y Encapsulamiento.


Bueno gente acá les dejé un pequeño avance de lo que se viene en los próximos posteos/videos.


Todo lo que comparto es lo que aprendí y si alguien tiene algo que corregirme desde ya le voy a estar agradecido para hacer crecer la comunidad de Godot Engine 💪🏼

Desde ya muchas gracias por el apoyo! 





Comentarios