martes, 13 de noviembre de 2018

Primer Script: Diseño de nuestro Panel en Godot 3 Parte 1 de 2

Scripts, son lo que le da funcionalidad a nuestros objetos en una escena, en esta ocasión realizaremos nuestro primer script en Godot 3, esta sección esta dividida en dos partes, el diseño y el script, le daremos diseño a unos objetos que crearemos en una escena para después en la siguiente parte irnos introduciendo a los scripts.

1.-Empezaremos creando un nuevo proyecto, lo podemos llamar como queramos para poder iniciar, ahora nos movemos por el espacio de trabajo para 2D, ¿Que vamos ha hacer?, bien lo primero que haremos es una pequeña funcionalidad de poner una etiqueta o label y un botón estos contenidos a su vez en un panel, recordar el principio de emparentamiento, bien, entonces empezaremos creando el nodo raíz para ello le daremos el botón + en Scene, lo siguiente sera en el cuadro de búsqueda poner Panel y le daremos en crear y nos aparecerá nuestro panel creado.




2.-Con nuestro nodo raíz creado, tocara crear el label, para ello en Panel le daremos clic derecho y le daremos en +Add Child Node nos mandara a la ventana de crear nuevo nodo, en el cuadro de búsqueda buscaremos Label, lo seleccionamos y lo creamos y podemos ver ahora que el label es hijo del panel




3.-Ahora realizaremos la misma acción para crear el botón, en el nodo de Panel le daremos clic derecho y seleccionaremos +Add Child Node nos mandara a la ventana de crear nuevo nodo, en el cuadro de búsqueda buscaremos Button lo seleccionamos y lo creamos, podemos observar que ahora nuestro Panel contiene dos hijos un Label y un Botón.




4.- Ahora tenemos lo que necesitamos, pero aun no le hemos dado un diseño adecuado, selecciona cada elemento y ve dándole forma de tal manera que te quede algo similar a esto.


5.- Esto es nada mas para tener los objetos alineados y como queremos, necesitamos agregar algo de información en los elementos para poder saber que vamos a hacer, primero necesitamos que nuestro Label tenga un mensaje, así que lo seleccionamos, en el Inspector vendrá una opción llamada Text, en el cuadro podemos colocar un mensaje y damos Enter para aceptar y ver los cambios, podemos jugar con las demás opciones, te lo dejo para que pruebes, en otro momento podemos ver a detalle cada uno.



6.-Realizaremos el mismo proceso con nuestro botón, seleccionamos nuestro botón en nuestra Scene, luego nos vamos al inspector y buscamos la opción de Text, introducimos un mensaje para nuestro botón y le daremos Enter para ver el efecto, le podemos dar ejecutar y guardar nuestro panel y podemos comprobarlo ahora como quedo nuestro diseño pero sin ninguna funcionalidad aun.




Hemos terminado nuestro diseño, en el siguiente tutorial crearemos una funcionalidad básica, crearemos nuestro primer Script para tener una noción de como funciona, hasta el siguiente tutorial.

Practica siempre para ir mejorando, la repetición y la constancia nos ayudan a mejorar, recuerda cada vez lo harás mejor, si te equivocas esta bien, permitirse equivocarse es la clave de mejora continua, así que permítete equivocarte mas seguido.

Si te gusta este sitio y deseas que esto continué vivo tu apoyo sera importante, puedes dar clic en la publicidad si lo deseas o puedes donar algo en Patreon si puedes permitírtelo, con esto el proyecto empezara a tener un objetivo y dejara de navegar sin rumbo y empezara a convertirse en una comunidad que ayudara unos a los otros, saludos y excelente día.

viernes, 9 de noviembre de 2018

Scripting: Introducción en Godot 3


Scripting en Godot 3, empezaremos a ver conceptos de programación en Godot, los lenguajes de programación que soporta y como podemos trabajar con estas herramientas para poder darle funcionalidad

1.-Empezaremos paso a paso para no saturarnos de información, te daré una pequeña reseña de lo que podemos hacer e iremos desglosando poco a poco todo para su mejor entendimiento.

Introducción.

En versiones anteriores de Godot 3.0 solo había una opción para poder programar en Godot, este lenguaje era GDScript, ya que godot iniciaba e iba ganando seguidores poco a poco se fue incrementando el numero de lenguajes de programación para poder trabajar con las herramientas que proporciona el motor, actualmente en estos días, el motor soporta 4 lenguajes de programación con las que podemos experimentar y probar, esto da mas flexibilidad cuando trabajas con lenguajes que conoces ya que en ocasiones nos decantamos mas por un lenguaje que por otro y a veces intentar aprender un nuevo lenguaje de programación hace que desistas en intentar probarlo.

Lenguajes de programación soportados por Godot 3.0

Los principales lenguajes de programación que permite godot son los siguientes, GDScript y VisualScript, estos lenguajes iniciales fueron escogidos ya que su nivel de integración con Godot hizo que la experiencia al programar fuera mas adecuada y agradable para trabajar, pero también se sumaron los otros dos lenguajes restantes C# y C++ estos integrados en entornos separados o sea que se puede trabajar en otros programas fuera de Godot y que al final se pueden integrar. Estos lenguajes son muy populares para programar videojuegos, entonces fueron pensados para trabajar de esa forma, así muchos entusiastas que venían de otras plataformas podrían conocer Godot como fue mi caso.

Conociendo los lenguajes de programación de Godot 3.0

GDScript: Este lenguaje fue con el que venia integrado el motor, como los lenguajes de programación tiene sus pro y contras comparados con otros lenguajes, algunos puntos importantes(no todos) de por que programar con este lenguaje son:
  • Es simple y fue diseñado para los usuarios que vienen de lenguajes como Lua, Python, Squirrel, etc.
  • Carga y compila rápido.
  • Se integra bien con el editor de escenas, lo que permite poder acceder a los nodos, señales y otros elementos.
  • Tiene un buen uso con herramientas de Álgebra Lineal como lo son vectores, transformaciones etc.

VisualScript: Esto es una implementan de un lenguaje visual, de colocar bloques y hacer conexiones, esta herramienta fue diseñada para los no programadores por ejemplo para artistas y diseñadores de videojuegos, si has utilizado Unreal Engine podrás ver un parecido a los Blueprints, pero no solo esta limitado para esta clase de usuarios los programadores novatos y los mas experimentados pueden sacar flujos excelente de trabajo y construir excelentes bloques.


.NET/C#: Este lenguaje es el preferido por muchos programadores, para los que venimos de motores como Unity podrán decir lo eficiente que es, también es usado por compañías, ahora con la integración en godot, podemos experimentar y usarlo con este lenguaje.


GDNative/C++: Con la integración de GDNative ahora podemos usar lenguajes de programación como C++ sin la necesidad de recompilar, osea de volver a estar reiniciando Godot. Este lenguaje es muy usado por su rendimiento y no es necesario usarlo para todo el desarrollo de un videojuego, solo cosas esenciales.


Bien, hemos terminado la parte inicial de scripting, en futuras actualizaciones puede ser que agreguen otros lenguajes populares como javascript o java como tal o le den mas soportes, no sabemos, lo cierto es que con la cantidad que tiene ahora mismo es mas que suficiente para probar.

Excelente, recuerda siempre practicar y releer estos conceptos ya que la repetición y la practica son las bases para aprender y entender, cada vez lo harás mejor, si deseas apoyar al sitio siempre puedes dar clic a la publicidad que aparece en el sitio para poder mantener este espacio, saludos.

jueves, 8 de noviembre de 2018

Instanciar: Ejemplo practico en Godot 3


Vamos ahora a realizar un ejemplo con los conceptos aprendidos de instanciar y emparentamiento, veremos la importancia de los nodos y como estos se pueden instanciar y demostrar con una sola acción poder manipular varios objetos.

1.- Como vimos anteriormente, los conceptos de nodos y escenas son muy importantes cuando trabajamos con Gogot 3, una de las principales características es poder instanciar, que tienen un principio de emparentamiento, por ejemplo, hablar sobre un árbol, el cual contiene ramas y estas ramas hojas, cada cosa depende de alguien superior, pero individualmente tiene uno su comportamiento, si tu cortas la hoja de un árbol la rama no tiene por que caer con la hoja, en cambio si tu cortas la rama y si esta a su vez contenía hojas, estas se verán afectadas, lo mismo de decir talar el árbol, pues bien, este principio quería explicarte con un ejemplo representativo, asi que vamos a comenzar.

2.- Inicia un nuevo proyecto en Godot, cuando lo creas te enviara a la vista en 3D, nosotros nos cambiaremos a la vista 2D y le daremos clic.





3.- Cuando creamos el proyecto nos crea los archivos por default, en ello un icono con el logo del programa, podemos observar en la parte izquierda de la pantalla, nosotros utilizaremos de ejemplo el logo para demostrar el principio básico de emparentamiento y de instanciar, podemos usar el mismo objeto creando varios a la vez.



4.- Ahora que vamos ha hacer, lo primero es crear un nuevo nodo, para ello nos colocamos en la parte derecha de la pantalla, le daremos al botón de "+" y crearemos un nodo llamado Node2D y le daremos al botón de crear y tendremos nuestro nodo creado.









5.- Ahora que ya tenemos los elementos en la escena identificamos nuestro Nodo que creamos, nos aparecerá en la pantalla un cuadro con unos puntos en sus esquinas, lo cual podemos estirar o ajustar a un tamaño que queramos, lo colocaremos en una parte de la pantalla para poder demostrar este sencillo experimento, aquí este nodo raíz sera nuestro nodo padre.



6.- Ahora que hemos creado nuestro nodo Padre, lo siguiente sera arrastrar nuestro icono del lado izquierdo y colocar abajo de nuestro cuadro como te lo muestro en esta imagen, este se ajustara al tamaño del nodo.



7.- Ahora podemos crear 3 instancias mas u objetos del mismo icono y arrastrarlo a la pantalla, recuerda ajustar sus tamaños, como te muestro en la imagen, si se pierden en la pantalla siempre puedes dar el botón de la rueda del mouse y buscar fuera de los limites, bien ajustamos las medidas y quedara algo así.



8.- Al crear las instancias, podemos decir que de un mismo icono sacamos varios objetos y podemos manipular el tamaño de cada uno y sigue siendo el mismo recurso, ahora el emparentamiento ya lo podemos ver en nuestra escena del lado derecho de la pantalla, podemos ver como se van acomodando y vemos la dependencia que tienen cada uno, eso es emparentar o padre e hijo(s).



9.- Ahora que tenemos los elementos puedes ver como la dependencia o emparentamiento es importante, al inicio te comentaba el ejemplo del árbol, lo mismo podemos ver aqui, si tu mueves unos de los iconos pequeños veras que puedes moverlo individualmente, pero si empiezas a mover el icono grande veraz como se mueven todo lo contenido en el, pues este sencillo experimento nos funciona cuando creamos niveles en donde dependerá de un objeto mayor para poder mover otros objetos que dependan de el y después podemos usar, ahora a nivel programación esto es lo mismo, pero con algo mas de complejidad, La POO(programación orientada objeto) maneja lo que se denomina herencia, estos conceptos los aprenderemos cuando toque el momento, nada mas mencionar que este principio cuando va aumentando su complejidad se va mejorando cuando se entienden las bases, es manejar clases padres para crear clases hijos y después instanciar objetos de esas clases que dependen de ellas.



Bien, este experimento que vimos, lo podemos visualizar mas a detalle cuando empecemos a crear escenarios y cuando empecemos a programar, podremos usar este principio en programación, para ver un ejemplo rápido, en programación podemos hacer una clase padre que se llame Vehículo, los hijos son vehículos pero cada uno es diferente, por ejemplo de un vehículo hijo puede ser un avión o un auto o un barco, todos dependen de una clase padre, cuando entendamos estos conceptos sera mas practico, de momento con este ejemplo simple podemos ir comprendiendo.

Eso es todo, espero haber introducido este concepto de una manera simple y clara para su entendimiento, recuerda practicar siempre, cada vez lo harás mejor y sera mas natural el aprendizaje, siempre puedes apoyar al sitio dando clic en la publicidad, eso ayuda a mantener el sitio en mantenimiento y con saludo, saludos y excelente día.