Godot Engine | |||
---|---|---|---|
Parte de Software Freedom Conservancy | |||
![]() | |||
![]() | |||
Información general | |||
Tipo de programa | Motor de videojuego | ||
Autor |
| ||
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 (7 meses y 18 días)) | ||
Última versión en pruebas | 4.3 Dev 5 (info) ( 15 de marzo de 2024 (4 meses y 15 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 en Buenos Aires 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.
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.
Godot soporta una amplia gama de características y herramientas que permiten a los desarrolladores crear y desarrollar videojuegos 2D y 3D:[4]
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.
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.
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]
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.
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.
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.
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 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]
Muchos de los juegos son del estudio OKAM fueron hechos con Godot.
También destacan los siguientes juegos de código abierto:[11]
Otros juegos:[12]
Aplicaciones desarrolladas en 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 |