Após 7 meses de desenvolvimento, foi lançada a versão do motor de jogo gratuito Godot 3.3, adequado para criar jogos 2D e 3D. O motor suporta uma linguagem fácil de aprender para a lógica do jogo, um ambiente gráfico para design de jogos, um sistema de implantação de jogos com um clique, amplas capacidades de animação e simulação de processos físicos, um depurador integrado e um sistema de identificação de gargalos de desempenho. O código do motor de jogo, do ambiente de design de jogos e das ferramentas de desenvolvimento associadas (motor físico, servidor de som, backends de renderização 2D/3D, etc.) é distribuído sob a licença MIT.
Os códigos-fonte do motor foram tornados abertos em 2014 pelo estúdio OKAM, após dez anos de desenvolvimento de um produto proprietário de nível profissional, que foi usado na criação e publicação de muitos jogos para PC, consoles e dispositivos móveis. O motor suporta todas as principais plataformas de desktop e móvel (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), bem como desenvolvimento de jogos para Web. Compilações binárias prontas para uso foram formadas para Linux, Windows e macOS.
Em um ramo separado, um novo backend de renderização baseado na API gráfica Vulkan está em desenvolvimento, que será oferecido na próxima versão do Godot 4.0, em vez dos backends de renderização atuais via OpenGL ES 3.0 e OpenGL 3.3 (o suporte para OpenGL ES e OpenGL será mantido através da operação do backend mais antigo OpenGL ES 2.0/OpenGL 2.1 sobre a nova arquitetura de renderização baseada em Vulkan). A transição do Godot 3.x para o Godot 4.0 exigirá uma reestruturação das aplicações devido à quebra de compatibilidade no nível da API, mas um longo ciclo de suporte será garantido para a ramificação do Godot 3.x, cuja duração dependerá da demanda dos usuários por essa API.
A ramificação Godot 3.3 é completamente compatível com Godot 3.2 e continua o desenvolvimento das versões estáveis do motor, para as quais será fornecido um ciclo de suporte prolongado. Inicialmente, em vez do Godot 3.3, estava planejada a liberação da atualização 3.2.4, mas as versões 3.2.x eram percebidas pelos usuários como correções, apesar da implementação de novas funcionalidades da ramificação 4.0. Portanto, o projeto adotou um esquema clássico de versionamento semântico. Em particular, a atualização do terceiro dígito agora indicará apenas a presença de correções, o segundo - a inclusão de novas funcionalidades, e o primeiro - a presença de mudanças que impactam a compatibilidade. A ramificação 3.x.x será acompanhada paralelamente à 4.x.x até que o Godot 4.x esteja completamente estabilizado e adaptado para todo o hardware atual.
Godot 3.3 é notável pela adição das seguintes novidades:
- Uma versão do editor foi preparada para funcionar em um navegador web.

- Adicionada a possibilidade de exportar jogos para a plataforma Android no formato AAB (Android App Bundle), além dos pacotes APK. O formato AAB permite organizar o carregamento apenas das bibliotecas nativas necessárias para a execução no dispositivo atual (por exemplo, armeabi-v7a ou arm64-v8a). Para a plataforma Android, também foi implementada a possibilidade de incorporar elementos baseados no motor Godot em aplicativos na forma de subcomponentes (subview), utilizando parte da janela. Foram adicionados também suporte para áreas cegas na tela (arredondamentos e recortes para a câmera), eventos de mouse e entrada de teclado externo.

- Foi proposto uma nova API para a construção e distribuição de plugins para a plataforma iOS, permitindo que plugins (ARKit, GameCenter, InAppStore) sejam movidos para um repositório separado e desenvolvidos independentemente do motor Godot. Anteriormente, essa API foi implementada para a plataforma Android.
- As ferramentas de exportação de jogos para Web (plataforma HTML5) foram aprimoradas. Para jogos executados no navegador, foi adicionada suporte para multithreading e scripts GDNative, mas devido a limitações da plataforma HTML5, sua implementação não é compatível com as variantes para jogos nativos. Além disso, a implementação de threads está vinculada à API SharedArrayBuffer, que não está disponível em todos os navegadores. Foram fornecidos três modos de exportação separados — Regular, Threads e GDNative. No perfil multithread, também foi adicionado suporte para a API AudioWorklet, permitindo uma saída de som de melhor qualidade sem bloquear o thread principal. O suporte a controladores e teclados virtuais foi significativamente aprimorado.

- Foi adicionada suporte para a construção de jogos para o novo hardware da Apple, equipado com o chip ARM M1. Foi adicionada suporte para anexar assinaturas digitais a arquivos executáveis gerados para macOS.
- Da branch 4.0, foi migrada uma API modernizada para a organização de multithreading, que utiliza recursos do padrão C++14, aumentando a confiabilidade do funcionamento em diferentes plataformas e otimizando o desempenho.
- Da branch 4.0, foi transferida uma otimização que usa a estrutura BVH (Hierarquia de Volumes de Limite) em vez do método Octree para a divisão espacial dinâmica durante o renderização. A BVH agora é usada por padrão e resolve muitos problemas de desempenho.
- Foi implementada uma implementação unificada de 2D Batching (Batching, uma otimização para reduzir chamadas de renderização ao considerar a disposição relativa dos objetos), que pode ser aplicada tanto para OpenGL ES 3 quanto para OpenGL ES 2. A própria otimização agora abrange mais objetos, incluindo linhas e polígonos.
- Adicionado um novo construtor de mapas de luz (lightmapper), que aplica o método de traçamento de caminho e suporta a supressão de ruídos utilizando a biblioteca oidn (Open Image Denoise). O novo lightmapper utiliza CPU para cálculos e resolve a maior parte dos problemas de qualidade que afetavam o antigo processador. Além disso, uma versão do lightmapper que utiliza GPU foi preparada, mas está vinculada à API Vulkan e aparecerá apenas na versão 4.0.

- Da ramificação Godot 4.0, muitas melhorias relacionadas ao renderização foram transferidas, como o skinning programático rápido, transformações otimizadas para objetos 3D ocultos, um número personalizável de fontes de luz para cada objeto e melhor renderização de sombras usando filtro PCF.

- No motor de simulação de processos físicos, a manipulação de diversos tipos de colisões foi aprimorada.
- Adicionadas plenas capacidades de cópia e colagem de nós ao editor, permitindo a transferência entre diferentes cenas.
- O modo de inspeção foi aprimorado, proporcionando destaque visual para subrecursos.

- Adicionada a capacidade de definir configurações padrão para recursos importados.

- Realizadas melhorias na usabilidade do editor 3D, incluindo a adição de uma grade 3D dinâmica infinita e uma implementação significativamente melhorada para rotação e seleção usando gizmos (indicadores de eixos de coordenadas).

- Nos recursos de trabalho em grupo, foi adicionada proteção contra alterações em cenas que já estão abertas por outros usuários (uma advertência é exibida se forem detectadas versões mais recentes dos arquivos abertos ao salvar).
- Melhorias no importação de arquivos no formato FBX.

- Adicionado o plugin OpenXR com suporte para o padrão homônimo para a criação de aplicativos de realidade virtual e aumentada. No porto HTML5 para criação de jogos usando tecnologias de realidade virtual, foi adicionada a compatibilidade com a especificação WebXR.

- Adicionada suporte para carregar e reproduzir áudio no formato MP3 (anteriormente não suportado devido a patentes).
- No GraphEdit, foi adicionada suporte para um mini-mapa de toda a estrutura, exibido no canto inferior direito, permitindo que você tenha uma visão geral de todos os nós.

Fonte: opennet.ru











