Godot [a] es un motor de juego multiplataforma , gratuito y de código abierto lanzado bajo la licencia del MIT . Inicialmente fue desarrollado por los argentinos Juan Linietsky y Ariel Manzur [5] para varias empresas en América Latina antes de su lanzamiento público. [6] El entorno de desarrollo se ejecuta en varios sistemas operativos, incluidos Linux , BSD , macOS y Microsoft Windows . Está diseñado para crear juegos 2D y 3D dirigidos a PC , dispositivos móvilesy plataformas web .
Autor (es) original (es) | Juan Linietsky, Ariel Manzur |
---|---|
Versión inicial | 14 de enero de 2014 [1] |
Lanzamiento estable | 3.3.2 [2] / 24 de mayo de 2021 |
Repositorio | |
Escrito en | C ++ [3] |
Sistema operativo | Microsoft Windows , macOS , Linux , FreeBSD , NetBSD , OpenBSD , [4] |
Plataforma | Ver § Plataformas compatibles |
Disponible en | Plurilingüe |
Tipo | Motor de juegos |
Licencia | Licencia MIT |
Sitio web | godotengine |
Características
Godot tiene como objetivo ofrecer un entorno de desarrollo de juegos totalmente integrado. Permite a los desarrolladores crear un juego, sin necesidad de otras herramientas más allá de las que se utilizan para la creación de contenido (recursos visuales, música , etc.). La arquitectura del motor se basa en el concepto de un árbol de "nodos". Los nodos se organizan dentro de "escenas", que son grupos de nodos reutilizables, instanciables, heredables y anidables. Todos los recursos del juego, incluidos los scripts y los recursos gráficos, se guardan como parte del sistema de archivos de la computadora (en lugar de en una base de datos ). Esta solución de almacenamiento está destinada a facilitar la colaboración entre los equipos de desarrollo de juegos que utilizan sistemas de control de versiones de software . [7]
Plataformas compatibles
El motor admite la implementación en múltiples plataformas y permite especificar la compresión de texturas y la configuración de resolución para cada plataforma. A pesar de que el sitio web Godot proporciona binarios solo para Linux , macOS y Microsoft Windows , su naturaleza de código abierto nos permite usar el editor en múltiples sistemas operativos como BSD al ajustarlo. El motor admite múltiples plataformas, incluidas las de escritorio y móviles. Plataformas soportadas actualmente a partir de Godot 3.3.2 [2] están
- Plataformas móviles Android , iOS
- Plataformas de escritorio Linux , macOS , Microsoft Windows ( Plataforma universal de Windows ), BSD
- Plataforma web HTML5 , WebAssembly . [8]
- Plataformas de realidad virtual / extendida HTC Vive , Valve Index , Oculus Rift , Oculus Go , Oculus Quest , todos los auriculares Microsoft MR, ARKit de Apple y muchos más. [4]
También hay un editor basado en la web [9] alojado por la comunidad Godot disponible para propósitos de prueba. Aunque el motor Godot se puede ejecutar en consolas , Godot no lo admite oficialmente, ya que es un proyecto de código abierto en lugar de una empresa con licencia y no pueden publicar código específico de la plataforma con una licencia de código abierto . Sin embargo, todavía es posible portar juegos a consolas gracias a los servicios proporcionados por empresas de terceros. [10]
Scripting
Godot admite una variedad de lenguajes de programación para la creación de juegos, incluido el lenguaje integrado GDScript, C ++ y C # . Además, el motor incluye GDNative, una instalación para la creación de enlaces con otros idiomas, como el moho , Nim , y D . La codificación visual también es compatible, a través del lenguaje incorporado VisualScript, diseñado para ser un equivalente visual de GDScript. [11]
El editor Godot incluye un editor de texto con sangría automática , resaltado de sintaxis y finalización de código . También cuenta con un depurador con la capacidad de establecer puntos de interrupción y pasos de programa . [12]
GDScript
Paradigma | Orientado a objetos |
---|---|
Desarrollador | Comunidad Godot |
Disciplina de mecanografía | Dinámico, pato |
SO | Multiplataforma (multiplataforma) |
Extensiones de nombre de archivo | .gd |
Sitio web | docs.godotengine.org |
Influenciado por | |
C , C ++ , Python |
Godot tiene su propio lenguaje de scripting incorporado, GDScript, [12] un lenguaje de programación de alto nivel , tipado dinámicamente que es sintácticamente similar a Python . A diferencia de Python, GDScript está optimizado para la arquitectura basada en escenas de Godot y puede especificar un tipo estricto de variables. Los desarrolladores de Godot han declarado que se probaron muchos lenguajes de programación de terceros alternativos, como Lua , Python y Squirrel , antes de decidir que el uso de un lenguaje personalizado permitía una optimización superior y la integración del editor. En la versión 4.0, se implementó en GDScript una nueva característica llamada matriz con tipo [13]. Esto permite a los usuarios cambiar fácilmente una matriz normal a tipo y viceversa sin cambiar mucho código. [12]
Un programa simple " Hola mundo " se puede escribir así:
func _ready (): print ( "Hola mundo" )
También son posibles programas más complejos, como este que genera una secuencia de Fibonacci :
func _ready (): var nterms = 5 print ( "Secuencia de Fibonacci:" ) para i en el rango ( nterms ): print ( FibRecursion ( i ))func FibRecursion ( n ): si n <= 1 : return n else : return ( FibRecursion ( n - 1 ) + FibRecursion ( n - 2 ))
Representación
El motor de gráficos de Godot utiliza OpenGL ES 3.0 para todas las plataformas compatibles; de lo contrario, se utiliza OpenGL ES 2.0. Se está desarrollando soporte futuro para Vulkan , que también incluye la posibilidad de soporte para Metal usando MoltenVK . [14] El motor soporta mapeo normal , especularidad , sombras dinámicas usando mapas de sombras , iluminación global dinámica y horneada , y efectos de post-procesamiento de pantalla completa como floración , DOF , HDR y corrección de gamma. También se incorpora un lenguaje de sombreado simplificado , similar a GLSL . Los sombreadores se pueden utilizar para materiales y posprocesamiento . Alternativamente, se pueden crear manipulando nodos en un editor visual.
Godot también incluye un motor de gráficos 2D independiente que puede funcionar independientemente del motor 3D. El motor 2D admite funciones como luces, sombras, sombreadores, conjuntos de mosaicos , desplazamiento de paralaje , polígonos , animaciones, física y partículas. También es posible mezclar 2D y 3D usando un 'nodo de ventana'.
Otras características
Godot contiene un sistema de animación con una GUI para animación esquelética , mezcla, árboles de animación, morphing y escenas de corte en tiempo real. Casi cualquier variable definida o creada en una entidad de juego se puede animar. [15] El motor utiliza Bullet para la simulación de física en 3D. [dieciséis]
Las características adicionales incluyen:
- Gráficos de análisis de desempeño
- Horneado ligero
- Subprocesos múltiples
- Sistema de complementos
- Renderizar objetivos
- Reproducción de video usando el códec Theora
- La reproducción de audio de Ogg Vorbis , MP3 y WAV códecs
- Sístema de partículas
- Canalización de importación / exportación / compresión de texturas
- Soporte Navmesh
- Interfaz gráfica del usuario
- Compatibilidad con teclado , mouse , gamepad y pantalla táctil
Historia
El desarrollo de Godot fue iniciado por Juan 'reduz' Linietsky y Ariel 'punto' Manzur en 2007. [17] [18] Linietsky declaró en una presentación que el nombre de "Godot" fue elegido debido a su relación con Samuel Beckett el juego 's Esperando Godot , ya que representa el deseo interminable de agregar nuevas características en el motor, lo que lo acercaría más a un producto exhaustivo, pero nunca lo hará. [19] En febrero de 2014, el código fuente de Godot se lanzó al público en GitHub bajo la licencia MIT . [20]
El 15 de diciembre de 2014, Godot alcanzó la versión 1.0, marcando la primera versión estable y la adición de mapas de luz , compatibilidad con navmesh y más sombreadores . [21] La versión 1.1 se lanzó el 21 de mayo de 2015, agregando autocompletado mejorado en el editor de código, un editor de sombreado visual, una nueva API para el sistema operativo para administrar pantallas y ventanas, un motor 2D reescrito, nuevo soporte de polígonos de navegación 2D , un exportador de Blender Collada muy mejorado y un nuevo tema oscuro. [22] El entonces nuevo motor 2D incluía sombreadores, materiales, ordenamiento Z independiente por nodo, luces, sombras con oclusores poligonales, mapeo normal y soporte de fuentes de campo de distancia. Godot se unió a Software Freedom Conservancy el 4 de noviembre de 2015. [23]
Godot 2.0 se lanzó el 23 de febrero de 2016. Las nuevas características incluyeron una mejor instanciación y herencia de escenas, un nuevo navegador de sistema de archivos, edición de múltiples escenas y un depurador mejorado. [24] [6] A esto le siguió la versión 2.1 en agosto de 2016, que introdujo una base de datos de activos, un generador de perfiles y una API de complemento. [25]
La versión 3.0 se lanzó el 29 de enero de 2018, agregando un nuevo renderizador PBR implementado en OpenGL ES 3.0 , compatibilidad con realidad virtual y compatibilidad con C # (a través de Mono ). [16] La versión 3.0 también agregó el motor de física Bullet además del back-end de física 3D incorporado del motor y fue la primera versión de Godot que se incluyó en Debian. Godot 3.1 se lanzó el 13 de marzo de 2019, y las características más notables son la adición de § GDScript de tipo estático , un sistema de clases de script para GDScript y un renderizador OpenGL ES 2.0 para dispositivos más antiguos y dispositivos móviles. [26] Godot 3.2 se lanzó el 29 de enero de 2020, y las características más notables fueron las mejoras masivas en la documentación, la compatibilidad con C # mucho mejor y la compatibilidad con archivos glTF 2.0 . [27] El desarrollador principal, Juan Linietsky, pasó la mayor parte de su tiempo trabajando en una rama de Vulkan separada que luego se fusionaría en master para 4.0, [28] por lo que el trabajo en 3.2 fue realizado principalmente por otros colaboradores. El trabajo en 3.2 continúa como una versión de soporte a largo plazo, [27] que incluye Godot 3.2.2 el 26 de junio de 2020, una versión de parche grande que agregó características como el procesamiento por lotes de OpenGL ES 2.0 y la compatibilidad con C # para iOS. [29]
El 22 de junio de 2016, Godot recibió un premio de $ 20,000 Mozilla Open Source Support (MOSS) "Mission Partners" que se utilizará para agregar compatibilidad con WebSockets , WebAssembly y WebGL 2.0. [8] Más tarde, con el apoyo de Miguel de Icaza, Godot recibió una donación de 24.000 dólares de Microsoft para implementar C # como lenguaje de programación en Godot. [30]
El 3 de febrero de 2020, Godot recibió un premio de Epic Games de 250.000 dólares para mejorar la representación de gráficos y el lenguaje de desarrollo de juegos integrado del motor, GDScript. [31] El 8 de julio de 2020, Juan Linietsky mencionó que el premio de Epic Games se utilizará para contratarse permanentemente a él ya George (Marques) durante 2 años con el fin de liberar fondos de donación para nuevos propósitos. [32]
El 10 de febrero de 2021, Godot recibió una subvención de $ 120,000 de Kefir. [33]
Historial de versiones
anterior Versión anterior, aún mantenida
Versión estable actual Versión de
vista previa más reciente Versión
futura
Versión | Fecha de lanzamiento [34] | Notas | Última versión menor |
---|---|---|---|
1.0 | Diciembre de 2014 | Primera versión estable | |
1.1 | Mayo de 2015 | Se agregó autocompletado mejorado en el editor de código, un editor de sombreado visual, un motor 2D reescrito y un nuevo soporte de polígonos de navegación 2D. | |
2.0 | Febrero de 2016 | Se actualizó la interfaz de usuario y se agregó un depurador mejorado. | 2.0.4.1 |
2.1 | Julio de 2016 | Introdujo una base de datos de activos, un generador de perfiles y una API de complementos. | 2.1.6 |
3,0 | Enero de 2018 | Se agregó un nuevo renderizador PBR y compatibilidad con Mono (C #). Reemplazó el motor de física con Bullet . | 3.0.6 |
3.1 | Marzo de 2019 | Compatibilidad mejorada con C # y compatibilidad añadida para glTF 2.0 | 3.1.2 |
3.2 | Enero de 2020 | Un lanzamiento de parche importante. Se agregó el procesamiento por lotes de OpenGL ES 2.0 | 3.2.3 |
3.3 | Abril de 2021 | Un lanzamiento de parche importante, que agrega nuevas características como la carga y la reproducción de MP3. | 3.3.2 |
3.4 | Q2 o Q3 2021 | Siguiente lanzamiento menor | |
4.0 | ~ 2021 | Agrega soporte para la API de gráficos Vulkan y la última compilación de Mono. Presenta iluminación global basada en SDF, junto con varios cambios de editor y optimizaciones de rendimiento. |
Uso
Muchos juegos de OKAM Studio se han creado con Godot, incluido Dog Mendonça & Pizza Boy , que usa la extensión del juego de aventuras Escoria. [35] Además, se ha utilizado en el plan de estudios de la escuela secundaria de West Virginia , debido a su facilidad de uso para los no programadores y lo que se describe como una "gran cantidad de materiales de aprendizaje que ya existen para el software". [36]
Comunidad
Godot, como proyecto internacional, tiene una comunidad activa en todo el mundo. Algunos miembros de la comunidad son administradores de grupos locales de Godot. "Godot Francophone", " Godot Engine Rusia" y "Godot Irán" son las comunidades locales más grandes de Godot. [37] [38] [39]
Juegos notables hechos con Godot
- Las aventuras interactivas de Dog Mendonça y Pizzaboy
- Commander Keen en Keen Dreams (solo puerto de Nintendo Switch )
- Codificado
- Reinos del vertedero
- Revolución de estado rebelde [40]
- Deponia ( puertos iOS y PlayStation 4 )
- Carol Reed Mysteries [41] (desde 2021)
- Estudio de juegos de la ciudad [42]
Ver también
- Lista de motores de juegos
- Desarrollo de videojuegos
Notas
- ^ El nombre del motor se deriva de la obra Esperando a Godot . Para los hablantes nativos de inglés, los mantenedores del motor recomiendan GOD -oh , con la "t" silenciosa como en el original francés, pero también reconocen que existe una variedad de pronunciaciones. [43]
Referencias
- ^ Linietsky, Juan (14 de enero de 2014). "Godot Engine - ¡Primer lanzamiento público!" . Motor Godot . Consultado el 1 de julio de 2019 .
- ^ a b https://godotengine.org/article/maintenance-release-godot-3-3-2 ; Consultado: 27 de mayo de 2021.
- ^ "El proyecto de código abierto Godot Game Engine en Open Hub" . Consultado el 30 de julio de 2015 .
- ^ a b "Características de Godot" . Características de Godot . Consultado el 10 de mayo de 2021 .
- ^ "Historia de Godot" . Headsem .
- ^ a b Linietsky, Juan. "Godot 2.0: Hablando con el Creador" . 80.lv . Consultado el 18 de junio de 2016 .
- ^ "Sistema de archivos" . Empezando. Godot Docs . Consultado el 20 de julio de 2019 .
- ^ a b "Mozilla otorga $ 385,000 a proyectos de código abierto como parte del programa" Mission Partners "de MOSS" . El blog de Mozilla . Consultado el 17 de octubre de 2016 .
- ^ "Editor en línea de Godot" . Motor Godot . Consultado el 9 de mayo de 2021 .
- ^ "Soporte de consola" . Documentación de Godot . Consultado el 9 de mayo de 2021 .
- ^ "VisualScript - Documentación más reciente de Godot Engine" . docs.godotengine.org . Consultado el 7 de marzo de 2020 .
- ^ a b c "Conceptos básicos de GDScript: Historia" . Empezando. Godot Docs . Consultado el 20 de julio de 2019 .
- ^ "TypedArrays" . Consultado el 4 de junio de 2021 .
- ^ Linietsky, Juan (26 de febrero de 2018). "Pasando a Vulkan (y ES 2.0) en lugar de OpenGL ES 3.0" . Consultado el 28 de julio de 2019 .
- ^ "Animaciones" . Empezando. Godot Docs . Consultado el 20 de julio de 2019 .
- ^ a b Larable, Michael (29 de enero de 2018). "Lanzamiento del motor de juego de código abierto Godot 3.0" . Phoronix . Consultado el 30 de enero de 2018 .
- ^ StraToN. "SteamLUG Cast" . Consultado el 18 de junio de 2016 .
- ^ reduz. "¡La historia de Godot en imágenes!" . Consultado el 18 de junio de 2016 .
- ^ "Presentación de Juan Linietsky de Godot en RMLL 2015 en Beauvais, Francia" . 7 de julio de 2015. 46 minutos.
- ^ liamdawe (14 de febrero de 2014). "Godot Game Engine es ahora de código abierto" .
- ^ Linietsky, Juan (15 de diciembre de 2014). "Godot Engine llega a 1.0, lanza el primer estable" . Motor Godot . Consultado el 1 de julio de 2019 .
- ^ Linietsky, Juan (21 de mayo de 2015). "¡¡Godot 1.1 fuera !!" . Motor Godot . Consultado el 1 de julio de 2019 .
- ^ "Godot Game Engine es el proyecto de miembro más reciente de Conservancy" . Consultado el 13 de noviembre de 2015 .
- ^ Linietsky, Juan (23 de febrero de 2016). "Godot Engine alcanza 2.0 estable" . Motor Godot . Consultado el 1 de julio de 2019 .
- ^ Linietsky, Juan (9 de agosto de 2016). "Godot alcanza 2.1 estable" . Motor Godot . Consultado el 1 de julio de 2019 .
- ^ "Godot 3.1 está disponible, mejorando la usabilidad y las características" . Consultado el 10 de septiembre de 2020 .
- ^ a b Aquí viene Godot 3.2, con la calidad como prioridad ” . Consultado el 10 de septiembre de 2020 .
- ^ "Godot 4 Un paso más cerca - Rama de Vulkan ahora maestro" . Consultado el 10 de septiembre de 2020 .
- ^ "Versión de mantenimiento: Godot 3.2.2" . Consultado el 10 de septiembre de 2020 .
- ^ Motor, Godot. "Godot Engine - Introducción de C # en Godot" . godotengine.org . Consultado el 7 de marzo de 2020 .
- ^ Linietsky, Juan (3 de febrero de 2020). "Godot Engine recibió una MegaGrant épica" . Consultado el 5 de febrero de 2020 .
- ^ Linietsky, Juan (8 de junio de 2020). "Godot Engine - Cambios en la donación" . godotengine.org . Consultado el 25 de septiembre de 2020 .
- ^ "Godot Engine obtiene una subvención de $ 120K del desarrollador de juegos Kefir" .
- ^ "Versiones de lanzamiento de Godot" . Versiones de lanzamiento de Godot . Consultado el 10 de mayo de 2021 .
- ^ Suckley, Matt (15 de agosto de 2015). "OKAM Studio en empoderar a los diseñadores con el marco de juego de aventuras Escoria de Godot Engine" . PocketGamer.biz . Consultado el 29 de diciembre de 2017 .
- ^ Brasseur, Vicky (16 de agosto de 2016). "El motor de juegos de código abierto Godot ayuda a impulsar el futuro en Virginia Occidental" . Opensource.com . Consultado el 29 de diciembre de 2017 .
- ^ Tahsin, Rafiey. "Godot Irán (گودوت ایران) - Tahsin Rafiey" . TahsinRafiey.org . Consultado el 28 de abril de 2021 .
- ^ Motor, Godot. "Godot Engine - Comunidad" . Motor Godot . Consultado el 28 de abril de 2021 .
- ^ "Godot francófono" . Godot Engine Francophone (en francés) . Consultado el 28 de abril de 2021 .
- ^ "Godot Showcase - Little Red Dog Games habla de su experiencia" .
- ^ Ploeger, Dennis (27 de marzo de 2021). "Anunciando EgoVenture" . Comunidad DEV . Archivado desde el original el 28 de marzo de 2021 . Consultado el 28 de marzo de 2021 .
- ^ "Escaparate de Godot - Binogure Studio" .
- ^ "Nombre de Godot" . Kit de prensa de Godot . Consultado el 9 de mayo de 2021 .
enlaces externos
- Página web oficial
- godot en GitHub