Godot

De Wikipedia, la enciclopedia libre
Godot Engine
Parte de Software Freedom Conservancy
Información general
Tipo de programa Motor de videojuego
Autor
  • Juan Linietsky
  • Ariel Manzur
Desarrollador Juan Linietsky, Ariel Manzur y la comunidad de Godot
Modelo de desarrollo Software Libre
Lanzamiento inicial 2007
Licencia Licencia MIT
Estado actual Activo
Idiomas Inglés
Información técnica
Programado en C, C++
Plataformas admitidas
Versiones
Última versión estable 4.2.1 (info) ( 12 de diciembre de 2023 (4 meses y 27 días))
Última versión en pruebas 4.3 Dev 5 (info) ( 15 de marzo de 2024 (1 mes y 24 días))
Archivos legibles
Enlaces

Godot es un motor de videojuegos 2D y 3D multiplataforma, libre y de código abierto, publicado bajo la Licencia MIT; desarrollado inicialmente por los argentinos Ariel Manzur y Juan Linietsky y luego por la comunidad de Godot. El motor es funcional en sistemas Windows, OS X, Linux y BSD y también está disponible una versión experimental del motor para Android que actualmente no cuenta con soporte para pantallas táctil. Godot permite exportar los videojuegos creados a PC (Windows, OS X y Linux), teléfonos móviles (Android, iOS), y HTML5.

Historia de desarrollo[editar]

Construcción en 3D realizada usando Godot 4.0

Godot ha sido desarrollado y utilizado internamente por la empresa argentina OKAM Studios desde alrededor del año 2001. En febrero de 2014, el código fuente fue liberado al público en GitHub bajo la Licencia MIT.[1]

El 15 de diciembre de 2014, se publicó Godot 1.0, la primera versión estable que incluía la adición de lightmapping, soporte navmesh y más shaders.[2]

El 21 de mayo de 2015, la versión 1.1 se liberó añadiendo mejoras en el editor de código, editor visual de shaders, una nueva API para la gestión de pantallas y ventanas con soporte para múltiples monitores. Además, se reescribió el motor 2D con soporte para shaders, materiales, luces, sombras, mapeo normal, navegación 2D polígonal, mejoras al exportar a Blender y un nuevo tema oscuro.[3]

Actualmente se encuentra en la versión 4.2.1, que fue lanzada el 12 de diciembre de 2023. Godot 3.x tiene un soporte prolongado en el tiempo, por lo que recibirá actualizaciones de mantenimiento durante años. La versión 4.0 fue lanzada el 1 de marzo de 2023 y tiene soporte con Vulkan, iluminación en tiempo real, reflejos en tiempo real dinámicos, iluminación global dinámica, entre otras características.

Características[editar]

Godot soporta una amplia gama de características y herramientas que permiten a los desarrolladores crear y desarrollar videojuegos 2D y 3D:[4]

Renderización[editar]

El motor gráfico usa OpenGL ES 3.0 y 2.0 para todas las plataformas soportadas, y está prevista una mejora al backend de Vulkan. El motor soporta transparencia, mapeo normal, especularidad, mapas de sombra, postprocesado FXAA, profundidad de campo, HDR y corrección de gamma y niebla. Con la versión Godot 3.2 se incluye soporte para códigos BBCode en los textos.

Godot utiliza un lenguaje simplificado de sombreadores (un subconjunto de GLSL), que puede ser utilizado para partículas y materiales de objetos 2D y 3D.[5]

La implementación de GLSL de Godot está dividida en vértices y secciones de fragmento. También hay la posibilidad de crear sombreadores visualmente utilizando nodos shader graph.

Editor visual para sombreadores[editar]

Godot 3.1 introdujo un editor visual de sombreadores, reimplementado desde la versión Godot 2.1. Para Godot 3.2, se realizó una gran revisión de la UX del nuevo editor visual de sombreadores. Más allá de mejorar la usabilidad y corregir errores, implementó muchos nodos útiles adicionales para escribir sombreadores más avanzados con mayor flexibilidad.

Editor de animación[editar]

Godot posee un sistema de edición de animaciones sofisticado, con soporte para editar animación por cuadros, animación esquelética, blending, árboles de animación, morphing y cinemáticas. El sistema de animación permite animar las propiedades de los nodos, por lo que es posible crear animaciones que reproducen efectos de sonido o música, que llaman funciones o que cambian parámetros de los sombreadores a lo largo del tiempo.[6]

2D[editar]

Godot 4.2 con la interfaz en español

Godot tiene motor 2D sofisticado, independiente, y completo. A diferencia de otros motores, no existe la necesidad de simular 2D en espacio 3D. El motor soporta luces, sombreadores, GUIs, sprites, tilesets, desplazamiento de paralaje, polígonos, animaciones, física, partículas y más. También es posible de combinar 2D con 3D, o 3D con 2D utilizando nodos viewport. En la versión de Godot 3.2, se ha implementado la posibilidad de desarrollar juegos 2.5D.

Plataformas[editar]

Godot soporta múltiples plataformas. Los desarrolladores tienen la posibilidad de exportar sus proyectos a dispositivos móviles, web, PC, y consolas. Godot también deja especificar la compresión de textura y encuadres de resolución para cada plataforma.

Actualmente las plataformas soportadas son Windows, OS X, Linux, Android, iOS, BlackBerry 10, HTML5, PlayStation 3, PlayStation Vita y Nintendo 3DS. Godot permite exportar juegos para Xbox One a través de UWP. También se planea soporte para Windows 8 Mobile. Es posible portar a Switch, PlayStation 4 y XBox One a través de editores terceros.

Físicas[editar]

Godot ofrece varios objetos de colisión en 2D y 3D para proveer tanto detección como respuesta a colisión. Tiene su propio motor de físicas juegos 2D y 3D con detección de colisión, cuerpo rígido, cuerpo estático, personajes, vehículos, raycasts y uniones.

Lenguajes de programación[editar]

Godot posee soporte para varios lenguajes de programación que pueden emplearse para el desarrollo de videojuegos, tales como GDScript,[7]​ el cual es el principal lenguaje de scripting que el motor facilita para programar. También se ha añadido soporte oficial para C++, C#, y VisualScript, mientras que la comunidad mantiene soporte para otros lenguajes como Rust, Nim, JavaScript, Lua, D, Haskell y Clojure.[8]

En caso de que se desee programar con C#, es necesario que descargar la versión Mono de Godot.

El IDE de Godot cuenta con un editor de código con indentación automática, resaltado de sintaxis y autocompletado de código; además de incluir un depurador que soporta breakpoints y ejecución paso a paso. También es posible utilizar un editor de código externo, si el usuario así lo desea.

GDScript[editar]

GDScript es un lenguaje de programación de alto nivel, tipado dinámico y orientado a objetos, sintácticamente similar a Python, que fue creado especialmente para Godot, lo cual lo hace flexible y óptimo para programar videojuegos en el motor. Antes de la implementación de GDScript, la comunidad de desarrolladores de Godot evaluaron la posibilidad de utilizar lenguajes de programación de terceros como Lua o Python, pero al final optaron por desarrollar un lenguaje personalizado que se adapte al diseño basado en escenas de Godot.

Un programa de "Hola mundo" en GDScript luce así:

func _ready():
    print("Hola mundo")

Opcionalmente y desde la versión 3.1, GDScript permite emplear tipado estático:[9]

func imprime_suma(x: int, y: int) -> void:
    print(x + y)

Y desde la versión 4.0, es posible crear vectores tipados.[10]

Editor de animación de Godot 3.4.2

Otras características[editar]

Juegos elaborados con Godot[editar]

Muchos de los juegos son del estudio OKAM fueron hechos con Godot.

  • El Asombroso Espectáculo Zamba
  • Perro Mendonça & Chico de Pizza
  • Anthill
  • Corriendo Nariz
  • Carnaval de proyecto
  • That's Not My Neighbor

También destacan los siguientes juegos de código abierto:[11]

Historial de versiones[editar]

Historial de versiones de Godot
Versión Fecha de lanzamiento Notas adicionales Última versión del parche
1.0 Diciembre 2014 Primera versión estable 1.0
1.1 Mayo 2015 Mejoras para autocompletar en el editor de código, adición de un editor de sombreado visual, motor 2D reescrito y nuevo soporte para polígonos 2D de navegación. 1.1
2.0 Febrero 2016 Interfaz de usuario y depurador mejorados 2.0.4.1
2.1 Julio de 2016 Introducción de la base de datos de complementos, generador de perfiles y API de complementos 2.1.6
3.0 Enero 2018 Nuevo renderizador basado en física, compatibilidad con Mono (C#) y adición de Bullet como motor de física 3.0.6
4.0 Marzo 2023 Agrega compatibilidad con la API de gráficos de Vulkan. Cambia de Mono a .NET 6 CoreCLR. Presenta iluminación global basada en SDF junto con varios cambios de editor y optimizaciones de rendimiento. 4.0.3
4.1 Julio 2023 Actualizaciones de elementos de rendimiento, núcleo y script. Introducción de variables estáticas en GDScript y el atributo [GlobalClass] en C#. Compatibilidad con varias ventanas y la capacidad de separar editores de secuencias de comandos. Turbulencia de partículas mejorada y la introducción de texturas de ruido 3D. Algoritmos de prevención renovados para la navegación con IA. 4.1.1

Véase también[editar]

Enlaces externos[editar]

Referencias[editar]

  1. liamdawe (14 de febrero de 2014). «Godot Game Engine Is Now Open Source». 
  2. «Godot Engine Reaches 1.0, Releases First Stable». 15 de diciembre de 2014. Archivado desde el original el 16 de diciembre de 2014. Consultado el 16 de diciembre de 2014. 
  3. «Godot 1.1 Out!!». Archivado desde el original el 24 de mayo de 2015. Consultado el 22 de mayo de 2015. 
  4. «Godot Game Engine Features». Archivado desde el original el 8 de mayo de 2015. Consultado el 22 de mayo de 2015. 
  5. «Shading language». 
  6. «Godot gets a brand new animation editor». 
  7. «GDScript». 
  8. «Godot Languages Support». 
  9. «Static typing in GDScript». 
  10. «GDScript progress report: Feature-complete for 4.0». 
  11. «Awesome Godot - a curated list of free/libre games, plugins, add-ons and scripts for Godot.». GitHub. Consultado el 25 de julio de 2015.