Introducción a Godot
En esta guía/curso aprenderás los conceptos básicos de Godot y GDScript: cómo utilizarlo, sus principales funcionalidades y características. En este primer tema, te hablaré un poco sobre el origen de Godot, las personas detrás del proyecto, algunos casos de uso, y cómo descargarlo e “instalarlo”.
Antes de comenzar, un pequeño aviso: este curso está basado en la versión más reciente de Godot al momento de escribir esto, es decir, la versión 4.4.1. Si notas algo diferente, es posible que hayan ocurrido cambios en el futuro. No puedo garantizar que lo actualizaré, así que tenlo en cuenta.
¿Qué es Godot y con qué se come?
Godot nació en febrero de 2014 de la mano de Juan Linietsky y Ariel Manzur, dos argentinos que querían hacer videojuegos. Fue una herramienta usada internamente para OKAM Studios, un estudio argentino, pero que Juan liberó al público de forma libre con Licencia MIT.
¿Y de dónde viene el nombre “Godot”?
El nombre viene de la obra de teatro Esperando a Godot, la cual trata de dos hombres que esperan la llegada de un tal “Godot”. Mientras esperan su llegada, los hombres hablan sobre la vida y reflexionan sobre sus existencias sin ni siquiera saber quién es Godot o por qué lo están esperando en primer lugar. El nombre fue elegido ya que representa el deseo interminable de agregar nuevas características al motor sin llegar a una versión final.
Características
Es hora de hablar de las características que hacen a Godot tan especial y diferente a Unity o Unreal Engine.
1- Es software libre y de código abierto; ergo es gratis y es tuyo
Una vez que descargas Godot es 100% tuyo, puedes modificarlo, distribuirlo y usarlo sin restricciones. No hay costos ocultos ni licencias que pagar, lo que lo hace ideal tanto para principiantes como para desarrolladores experimentados. A diferencia de Unity, que recientemente cambió sus políticas de precios, y Unreal Engine, que cobra regalías una vez que tus ingresos superan cierto umbral, Godot no tiene ningún tipo de costo asociado. Esto lo convierte en una opción muy atractiva para desarrolladores independientes y pequeños estudios. También es una muy buena herramienta para hacer tus experimentos. Al tener acceso al código fuente, puedes realmente entender cómo funciona un motor por dentro, lo que es invaluable para quienes desean aprender desarrollo de motores o simplemente mejorar sus habilidades de programación.
2- Godot y Git son mejores amigos
Godot y Git se complementan muy bien porque ambos son herramientas que potencian el desarrollo de videojuegos de manera eficiente y colaborativa. Aquí tienes las razones principales:
- Git permite a los desarrolladores rastrear cambios en el código fuente, revertir errores y colaborar con otros en tiempo real. Esto es crucial en proyectos de videojuegos, donde los equipos suelen trabajar en múltiples archivos (código, escenas, assets, etc.).
- Godot utiliza formatos de archivo basados en texto plano (como
.tscn
para escenas y.gd
para scripts). Esto hace que los cambios sean fácilmente rastreables y fusionables en Git, a diferencia de otros motores que usan formatos binarios. - Con Git, varios desarrolladores pueden trabajar en diferentes partes del proyecto simultáneamente. Por ejemplo, un programador puede modificar scripts mientras un diseñador ajusta escenas en Godot, y luego combinar sus cambios sin conflictos mayores.
3- El motor 2D es verdadero y el motor 3D esta a la altura de un motor Triple A
En otros motores como Unity, el motor 2D de cierta forma es falso ya que solo pone el eje Z en 0, mientras que en Godot el motor 2D es completamente independiente del motor 3D. Esto significa que las herramientas y funcionalidades están diseñadas específicamente para trabajar en 2D, lo que resulta en un mejor rendimiento y una experiencia de desarrollo más fluida. Por otro lado, el motor 3D de Godot ha mejorado significativamente en las últimas versiones, ofreciendo características avanzadas como iluminación global, sombreadores, y soporte para Vulkan, lo que lo pone a la altura de motores Triple A.
4- GDScript el lenguaje hecho a medida para Godot
Después de evaluar varios lenguajes como C++, Python y Lua, los creadores de Godot decidieron desarrollar su propio lenguaje de programación llamado GDScript. Este lenguaje está diseñado específicamente para integrarse perfectamente con el motor Godot, lo que lo hace más eficiente y fácil de usar para los desarrolladores.
GDScript tiene una sintaxis similar a Python, lo que lo hace accesible para principiantes y rápido de aprender. Además, está optimizado para el desarrollo de videojuegos, ofreciendo características como:
- Integración directa con el editor de Godot, lo que permite autocompletado y documentación en tiempo real.
- Soporte para señales, una forma sencilla de manejar eventos en el juego.
- Gestión automática de memoria, lo que reduce el riesgo de errores como fugas de memoria.
Aunque GDScript es el lenguaje principal de Godot, también puedes usar otros lenguajes como C#, VisualScript, e incluso C++ si necesitas un control más bajo nivel o rendimiento extremo. Sin embargo, para la mayoría de los proyectos, GDScript es más que suficiente y te permitirá desarrollar juegos de manera rápida y eficiente.
5- Exporta tu juego a donde quieras
Godot te permite exportar a multiples plataformas como Windows, MacOS, GNU/Linux, Android, iOS.
Los exports para consolas como PS5, Xbox Series X/S y Nintendo Switch (incluyendo futuras versiones como la Switch 2) no están disponibles y no lo estarán debido a una limitación fundamental. Godot es un motor de juegos gratuito y de código abierto, distribuido bajo la licencia MIT, lo que garantiza un desarrollo transparente y accesible para todos. Sin embargo, esta apertura entra en conflicto con las políticas de los fabricantes de consolas.
Los fabricantes de consolas requieren acuerdos de confidencialidad y licencias propietarias para compartir la información técnica necesaria para desarrollar soporte para sus plataformas. Estas condiciones son incompatibles con la filosofía de código abierto de Godot y su licencia MIT, que promueve la libertad y el acceso público al código fuente. Incluso si un colaborador quisiera implementar soporte para consolas, no sería posible incluirlo legalmente en el repositorio público de Godot.
En resumen, las restricciones legales y de licencias hacen que sea inviable para Godot, como proyecto de código abierto, ofrecer soporte integrado para consolas de videojuegos.
Y creo que seria lo mas importante por ahora, ahora veamos algunos casos de uso muy interesantes.
Casos de uso y videojuegos destacados
El dashboard de los vehiculos Tesla
Aunque luego te quieran cobrar 1000 dolares por los asientos calefactores, Tesla usa Godot en conjunto con React para los menus de sus vehiculos, en especial el uso de botones, efectos, ese Tesla 3D en el menu y lo mas loco de todo PARA EL PILOTO AUTOMATICO, ¿Increible no? un caso de uso que no te lo esperabas.
Brotato
Que te puedo decir de Brotato es un juegazo, un roguelite exelente, vendio 1 millon de copias durante el tiempo que duro en Early Access en Steam, fue hecho en Godot, asi que si, puedes hacer juegos exitosos con Godot
Te dejo el link Para que compres el juego en Steam
RPG in a Box
RPG in a Box es ¿un motor?, si amigo mio, RPG in a Box es un motor dentro un motor ¿quien lo diria?, como su nombre indica sirve para hacer juegos RPG tiene un monton de herramientas, assets y demas para ayudarte a crear un RPG soñado.
Te dejo aqui su Pagina Web
Road to Vostok
Y ya por ultimo probablemente el juego mas potente graficamente (que se sepa hasta ahora), Road to Vostok es un videojuego actualmente aun en desarrollo desarrollado por Antti un ex-militar finlandes que originalmente estaba siendo en Unity hasta que anunciaron el cambio en la monetizacion, porteo todo el juego en Godot en 3 meses, creo que no entiendes lo que es portear esto:
¡¡¡EN 3 MESES!!! es impresionante cuando dije:
El motor 3D esta a la altura de un motor Triple A
Lo decia completamente en serio, el juego sera un juego singleplayer survival post-apocalitico en el que tendras que sobrevivir en la frontera entre Rusia y Finlandia.
Te dejo el link de la pagina de Steam y de su Canal en YouTube donde publica sus devlogs
Y esto seria todo
Espero que te motives a que aprendas a usar Godot y te vuelvas tan fan de Godot como yo, en cuanto al curso de GDScript lo estare subiendo aparte ya que asi lo subo en de forma mas ordenada por lo menos para mi, y ya dominaras lo basico de este lenguaje de programacion asi que nos vemos pronto.