Godot | |
---|---|
![]() | |
Autor | Juan Linietsky, Ariel, Manzur |
Desenvolvedor | Desenvolvido pela comunidade |
Plataforma | Veja§ Plataformas suportadas |
Versão estável | 4.4(3 de março de 2025; há 19 dias[1]) |
Idioma(s) | Multilíngue |
Escrito em | C++,C,C#,Java[2] |
Sistema operacional | Windows,macOS,Linux,Android, Web,FreeBSD,NetBSD,OpenBSD |
Gênero(s) | Motor de jogo |
Licença | MIT |
Estado do desenvolvimento | Ativo |
Tamanho | 24.6 - 130.6 MB (varia por sistema operacional) |
Página oficial | godotengine |
Repositório | godot noGitHub |
OGodot é ummotor de jogo decódigo aberto publicado no âmbito dalicença MIT desenvolvido por sua própria comunidade. Foi usado internamente em várias empresas daAmérica Latina antes de ter se tornado código aberto e lançado para o público.[3] Tem a capacidade de exportar os projetos para diversas plataformas.
O Godot começou a ser desenvolvido porJuan Linietsky eAriel Manzur em conjunto com aOKAM Studio no começo de 2007[4][5] naArgentina. O nome "Godot" foi escolhido por causa de suas semelhanças com a peça teatralWaiting For Godot, deSamuel Beckett, por que há um desejo insaciável de adicionar novos recursos e características ao engine, que levaria ele mais perto de um produto exaustivo, porém, isto nunca aconteceria.[6]
Em fevereiro de 2014 ocódigo fonte foi publicado noGitHub sob alicença MIT (Instituto de Tecnologia de Massachusetts). No dia 15 de dezembro de 2014 foi disponibilizado a primeira versão estável[7], que contava com a adição delightmapping, suporte paranavmesh e maisshaders.[8] A próxima versão, 1.1, foi lançada no dia 21 de maio de 2015, e trouxe melhorias para o preenchimento automático de editor de código, um editor visual para os shaders, umaAPI nova para osistema operacional para a gestão de janelas, um motor 2D reescrito, suporte novo para polígonos de navegação 2D, um exportador muito melhorado paraCollada para oBlender, e um novo tema escuro.[9] O motor 2D novo (na época) tinha a inclusão de shaders, materiais, ordenação Z independente por nó, luzes, sombras com oclusores poligonais, "normal mapping" e suporte para fontes SDF.
O Godot 2.0 foi lançado no dia 23 de fevereiro de 2016. Algumas das mudanças e adições que foram feitas incluem: melhorias à instanciação e herança de cenas, um novo navegador de arquivos, edição de múltiplas cenas e melhorias diversas ao debugger.[10][11] Tal versão foi sucedida pela versão 2.1, em agosto de 2016, que introduziu uma base de dados para os "assets", um profiler e uma API deplugins.[12]
A versão 3.0 foi lançada no dia 29 de janeiro de 2018, e adicionou um novoRenderizador BEF implementado noOpenGL ES 3.0, compatibilidade comrealidade virtual, e suporte paraC# (viaMono).[13] A versão 3.0 também trouxe o motor de físicaBullet em além do back-end de física 3D já integrado já integrado no motor (Godot), e também foi a primeira versão do Godot a ser incluída noDebian. A versão 3.1 do motor foi lançada no dia 13 de março de 2019 e teve como seu recurso adicionado mais notável a adição do GDScript digitado estaticamente, um sistema de classes de script para o existente GDScript e um renderizador OpenGL ES 2.0, para dispositivos mais antigos e menos poderosos, e também dispositivos móveis.[14] O Godot 3.2 foi lançado no dia 29 de janeiro de 2020 e trouxe grandes melhorias à documentação, melhorias à integração de C# e suporte para arquivosgITF 2.0.[15] O líder de desenvolvimento, Juan Linietsky, passou grande parte do seu tempo trabalhando em um "branch" separado com Vulkan, que seria depois juntado ao master para a versão 4.0, então a maioria do trabalho do 3.2 foi feito pelos outros contribuidores. Trabalho no Godot 3.2 continuou como um lançamento com suporte à longo prazo por um ano,[15] incluindo o Godot 3.2.2, no dia 26 de junho do mesmo ano, um grande "patch" que trouxe recursos como loteamento de OpenGL ES 2.0 e suporte de C# para iOS.[16] No dia 17 de março de 2021, a estratégia de versão foi trocada para melhor refletir uma estratégia de versão semântica, com um "branch" 3.3 estável e um "branch" 3.x para obackport de recursos para uma versão 3.4 futura.[17] No dia 21 de abril de 2021, foi lançado o Godot 3.3, que trouxe suporte para ARM no macOS, suporte paraAndroid App Bundles, suporte para MP3, suporte para AutodeskFBX, suporte paraWebXR e um editor web.[18] A versão 3.4 foi lançada no dia no dia 6 de novembro do mesmo ano, após 6 meses de desenvolvimento. Esta versão foi lançada com o intuito de implementar recursos que estavam faltando e consertar bugs que eram críticos para publicar jogos 2D e 3D com o Godot 3, e também otimizar e deixar mais confiáveis vários recursos já existentes.[19]
Versão | Data de Lançamento | Notas Adicionais | Versão Patch Mais Recente |
---|---|---|---|
1.0 | Dezembro de 2014 | Primeira versão estável | 1.0 |
1.1 | Maio de 2015 | Melhorias ao auto-complete no editor de código, adição de um editor visual de shaders, motor 2D reescrito e novo suporte a polígonos 2D de navegação. | 1.1 |
2.0 | Fevereiro de 2016 | Interface de usuário e debugger melhorados | 2.0.4.1 |
2.1 | Julho de 2016 | Introdução da base de dados de addons, profiler e API de plugin | 2.1.6 |
3.0 | Janeiro de 2018 | Novo renderizador baseado em física, suporte para Mono (C#) e adição do Bullet como motor de física | 3.0.6 |
4.0 | Março de 2023 | Adiciona suporte para a API gráfica Vulkan. Muda de Mono para .NET 6 CoreCLR. Introduz iluminação global baseada em SDF, juntamente com várias alterações ao editor e otimizações de desempenho. | 4.0.3 |
4.1 | Julho de 2023 | Atualizações nos elementos de desempenho, núcleo e script. Introdução de variáveis estáticas no GDScript e o atributo [GlobalClass] no C#. O suporte para várias janelas e a capacidade de desanexar editores de script. Aprimoramento da turbulência de partículas e a introdução de texturas de ruído 3D. Algoritmos de prevenção reformulados para navegação de IA. | 4.1.1 |
Godot tem como objetivo oferecer um ambiente de desenvolvimento de jogos totalmente integrado. Ele permite que os desenvolvedores criem um jogo, sem precisar de outras ferramentas além daquelas usadas para a criação de conteúdo (recursos visuais, música, etc.). A arquitetura do motor é construída em torno do conceito de uma árvore de "nós". Os nós são organizados dentro de "cenas", que são grupos de nós reutilizáveis, instáveis, herdáveis e aninhados. Todos os recursos do jogo, incluindo scripts e ativos gráficos, são salvos como parte do sistema de arquivos do computador (em vez de em um banco de dados). Esta solução de armazenamento visa facilitar a colaboração entre equipes de desenvolvimento de jogos usando sistemas de controle de versão de software[20].
O Godot trabalha com quatro principaislinguagens de programação (com suporte a outras linguagens, embora algumas possam ter um suporte precário ou limitado[21][22][23]):
O mecanismo suporta implantação em várias plataformas e permite a especificação de compressão de textura e configurações de resolução para cada plataforma. Mesmo que o site Godot forneça binários apenas para Linux, macOS e Microsoft Windows, sua natureza de código aberto nos permite usar o editor em vários sistemas operacionais, como o BSD, ajustando-o. A Engine oferece suporte a várias plataformas, incluindo desktop e mobile. As plataformas atualmente suportadas a partir de Godot 3.3.2[27] são:
Há também um editor baseado na web hospedado pela comunidade Godot disponível para fins de teste. Mesmo que o mecanismo Godot possa ser executado em consoles, Godot não oferece suporte oficialmente, pois é um projeto de código aberto em vez de uma empresa licenciada e eles não podem publicar código específico de plataforma sob licença de código aberto. No entanto, ainda é possível portar jogos para consoles graças a serviços prestados por empresas terceirizadas
O motor gráfico de Godot usaOpenGL ES 3.0 para todas as plataformas suportadas; caso contrário,OpenGL ES 2.0 é usado. Futuro suporte paraVulkan está sendo desenvolvido, que também inclui a possibilidade de suporte para Metal usando Molten VK. O mecanismo suporta mapeamento normal, especularidade, sombras dinâmicas usando mapas de sombra, iluminação global integrada e dinâmica e efeitos de pós-processamento de tela inteira como flor, DOF,HDR e correção de gama. Uma linguagem de shader simplificada, semelhante aGLSL, também está incorporada. Shaders podem ser usados para materiais e pós-processamento. Como alternativa, eles podem ser criados manipulando nós em um editor visual.
Godot também inclui um motor gráfico2D separado que pode operar independentemente do motor3D. O mecanismo2D oferece suporte a recursos como luzes, sombras, sombreadores, conjuntos de blocos, rolagem paralela, polígonos, animações, física e partículas. Também é possível misturar2D e 3D usando um 'nó da janela de visualização'.
O Godot possui um sistema de animação sofisticado com a capacidade de criar esqueletos (skeletons), inversão cinética (inverse kinematic) e deformação (morphing).
O Godot tem um sistema de física integrado para2D e3D que suporta colisões, objetos rígidos, cinética de corpos e simulação de viaturas.
O Godot dá suporte à múltiplas plataformas. Num projeto, desenvolvedores têm controle do lançamento paradesktops, dispositivos móveis, web e consoles. Também permite a especificação de compressão de texturas e opções de resolução para cada plataforma que o jogo suporta.
Atualmente, dá-se suporte nativo às plataformasWindows,OS X,Linux,FreeBSD,Android,iOS,BlackBerry 10,HTML5. Também há suporte em desenvolvimento paraWindows Runtime.[29]