Après 10 mois de développement lancement du moteur de jeu libre , adapté à la création de jeux 2D et 3D. Le moteur supporte un langage de script simple pour la logique du jeu, un environnement graphique pour la conception de jeux, un système de déploiement des jeux en un clic, de nombreuses fonctionnalités d'animation et de simulation des processus physiques, un débogueur intégré et un système d'analyse des performances. sous licence MIT.
Le code du moteur a été en 2014 par le studio , après dix ans de développement d'un produit propriétaire professionnel, utilisé pour créer et publier pour PC, consoles de jeux et appareils mobiles. Le moteur supporte toutes les plateformes de bureau et mobiles populaires (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), ainsi que le développement de jeux pour le Web. Des versions binaires prêtes à l'emploi sont disponibles pour Linux, Windows et macOS.
Dans évolue de rendu basé sur l'API graphique Vulkan, qui sera proposé dans la prochaine version de Godot 4.0, en remplacement des backends de rendu existants via OpenGL ES 3.0 et OpenGL 3.3 (le support d'OpenGL ES et d'OpenGL sera maintenu grâce au fonctionnement de l'ancien backend OpenGL ES 2.0/OpenGL 2.1 sur la nouvelle architecture de rendu basée sur Vulkan). La migration de Godot 3.2 vers Godot 4.0 nécessitera une refonte des applications en raison des ruptures de compatibilité au niveau de l'API, mais la branche Godot 3.2 bénéficiera d'un long cycle de support, dont la durée dépendra de l'intérêt des utilisateurs pour cette branche. Le portage d'innovations non impactant la stabilité à partir de la branche 4.x dans les versions intermédiaires 3.2.x n'est également pas exclu, telles que la prise en charge , , et la plateforme .
Les principales nouveautés de Godot 3.2 :
- Ajout du support des casques de réalité virtuelle Oculus Quest, réalisé sur la base pour la plateforme Android. Pour le développement de systèmes de réalité augmentée pour iOS, le support du cadre . Pour Android, le support du cadre se développe, mais n'est pas encore prêt et sera inclus dans l'une des versions intermédiaires 3.3.x ; l'interface de l'éditeur visuel de shaders.

- interface de l'éditeur visuel de shaders. nouveaux nœuds pour créer des shaders plus avancés. Pour les shaders implémentés avec des scripts classiques, un support pour les constantes, les tableaux et les modificateurs « varying » a été ajouté. De nombreux shaders spécifiques au back-end OpenGL ES 3.0 ont été portés pour OpenGL ES 2 ;
- La prise en charge du rendu physiquement correct des matériaux (PBR) est synchronisée avec les capacités des nouveaux moteurs de rendu PBR, tels que Blender Eevee et Substance Designer, afin d'assurer une représentation similaire de la scène dans Godot et les paquets de modélisation 3D utilisés ;
- L'optimisation de divers paramètres de rendu a été réalisée pour améliorer les performances et augmenter la qualité de l'image. De nombreuses fonctionnalités du back-end GLES3 ont été transférées à GLES3, y compris la prise en charge de la méthode de lissage MSAA (Multisample anti-aliasing) et divers effets de post-traitement (glow, flou de profondeur de champ et BCS) ;
- Un support complet pour l'importation de scènes et de modèles 3D au format glTF 2.0 (GL Transmission Format) a été ajouté, ainsi qu'un support initial pour le format FBX, permettant d'importer des scènes avec animation depuis Blender, mais encore incompatible avec Maya et 3ds Max. Un support pour les peaux de squelette lors de l'importation de scènes via glTF 2.0 et FBX a été ajouté, permettant d'utiliser un seul squelette dans plusieurs maillages.
Le travail d'amélioration et de stabilisation du support glTF 2.0 a été réalisé en collaboration avec la communauté des développeurs du paquet Blender, où un support amélioré pour glTF 2.0 sera proposé dans la version 2.83 ; - Les fonctionnalités réseau du moteur ont été étendues avec le soutien des protocoles WebRTC et WebSocket, ainsi que la possibilité d'utiliser UDP en mode multicast. pour utiliser des hachages cryptographiques et travailler avec des certificats. Une interface graphique pour le profilage de l'activité réseau a été ajoutée. Le développement d'un port Godot pour
WebAssembly/HTML5 a commencé, ce qui permettra de lancer l'éditeur dans le navigateur via le Web ; - Révisé pour la plateforme Android et le système d'exportation. Désormais, deux systèmes d'exportation distincts sont proposés pour la création de paquets pour Android : un avec un moteur précompilé, et l'autre permettant de créer des versions personnalisées basées sur des variantes personnalisées du moteur. La configuration des versions personnalisées peut se faire au niveau du plugin pour Android, sans modification manuelle du modèle source ;
- L'éditeur a ajouté le support de la sélection des fonctionnalités individuelles, par exemple, il est possible de supprimer les boutons pour appeler l'éditeur 3D, l'éditeur de scripts, la bibliothèque de ressources, les nœuds, les panneaux, les propriétés et d'autres éléments qui ne sont pas nécessaires au développeur (cacher les éléments superflus permet de simplifier considérablement l'interface);
- Ajout d'un support initial pour l'intégration avec les systèmes de gestion de versions de code et réalisation d'un plugin pour le support de Git
dans l'éditeur; - Offre la possibilité de redéfinir la caméra pour un jeu en cours d'exécution via une fenêtre dans l'éditeur, ce qui permet d'évaluer différents modes dans le jeu (vue libre, inspection des nœuds, etc.);
- Proposition de mise en œuvre d'un serveur LSP (Language Server Protocol) pour le langage GDScript, permettant de transmettre des informations sur la sémantique de GDScript et les règles d'auto-complétion du code vers des éditeurs externes, tels que le plugin VS Code et Atom;
- De nombreuses améliorations ont été apportées à l'éditeur de scripts GDScript intégré : possibilité de définir des signets à des positions dans le code, mise en œuvre d'un panneau minimap (pour un aperçu rapide de l'ensemble du code), amélioration de l'auto-complétion des entrées, fonctionnalités du mode de conception visuelle des scripts;
- Ajout d'un mode de création de jeux en pseudo-3D, permettant d'utiliser un effet de profondeur dans des jeux en 2D en définissant plusieurs couches formant une perspective fictive;

- Dans l'éditeur 2D, le support des atlas de textures;
- Dans l'interface graphique, le processus de placement des ancres et des limites des zones a été modernisé;
- Pour les données textuelles, ajout de la possibilité de surveiller en temps réel les changements des paramètres des effets, support des balises BBCode et possibilité de définir ses propres effets;
- générateur de flux sonores, permettant de créer des ondes sonores basées sur des images individuelles et un analyseur spectral;
- À l'aide de la bibliothèque la possibilité de décomposer des maillages concaves en parties convexes précises et simplifiées a été réalisée. Cette fonctionnalité simplifie considérablement la génération de formes de collision pour les maillages 3D existants;

- La possibilité de développer la logique de jeu en C# en utilisant Mono pour les plateformes Android et WebAssembly a été mise en œuvre (auparavant, C# était pris en charge pour Linux, Windows et macOS). Le support de C# 8.0 a été réalisé sur la base de Mono 6.6. Un support initial pour la compilation anticipée (AOT, ahead-of-time) a également été mis en œuvre pour C#, qui a été ajouté à la base de code, mais n'est pas encore activé (pour WebAssembly, un interpréteur est encore utilisé). Il est désormais possible de connecter des éditeurs externes pour l'édition de code C#, tels que MonoDevelop, Visual Studio for Mac et Jetbrains Rider ;
- Considérablement élargi et amélioré . Une version partielle a été publiée en russe ( guide d'introduction pour démarrer).
Source : opennet.ru



