À LA DEMANDE DES TRAVAILLEURS ! Tiré de l'opennet.
Après 10 mois de développement, la version du moteur de jeu libre a été publiée Godot 3.2, adapté à la création de jeux 2D et 3D. Le moteur prend en charge un langage de script facile à apprendre pour la logique de jeu, un environnement graphique pour la conception de jeux, un système de déploiement de jeux en un clic, de larges possibilités d'animation et de simulation de processus physiques, un débogueur intégré et un système de détection des goulets d'étranglement en performance. Le code du moteur de jeu, de l'environnement de conception de jeux et des outils de développement associés (moteur physique, serveur sonore, backends de rendu 2D/3D, etc.) est distribué sous licence MIT.
Le code source du moteur a été ouvert en 2014 par le studio OKAM, après dix ans de développement d'un produit propriétaire de niveau professionnel, qui a été utilisé pour créer et publier de nombreux jeux pour PC, consoles de jeux et appareils mobiles. Le moteur prend en charge 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 builds binaires prêtes à l'emploi sont disponibles pour Linux, Windows et macOS.
Un nouveau backend de rendu basé sur l'API graphique Vulkan est en développement dans une branche distincte, qui sera proposée dans la prochaine version de Godot 4.0, remplaçant les backends de rendu actuels basés sur OpenGL ES 3.0 et OpenGL 3.3 (le support d'OpenGL ES et d'OpenGL sera maintenu via le fonctionnement de l'ancien backend OpenGL ES 2.0/OpenGL 2.1 sur la nouvelle architecture de rendu basée sur Vulkan). La transition de Godot 3.2 à Godot 4.0 nécessitera une refonte des applications en raison de 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 la demande des utilisateurs pour cette branche. Le portage des nouveautés de la branche 4.x, telles que le support de la compilation AOT, ARCore, DTLS et la plateforme iOS pour les projets en C#, ne peut pas être exclu dans les versions intermédiaires 3.2.x.
Les principales nouveautés de Godot 3.2 :
- Le support des casques de réalité virtuelle Oculus Quest a été ajouté, réalisé via un plugin pour la plateforme Android. Pour le développement de systèmes de réalité augmentée pour iOS, le support du cadre ARKit a été ajouté. Le support du cadre ARCore pour Android est en cours de développement, 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 des shaders a été repensée. De nouveaux nœuds ont été ajoutés pour créer des shaders plus avancés. Pour les shaders implémentés par des scripts classiques, la prise en charge des constantes, des tableaux et des modificateurs « varying » a été ajoutée. De nombreux shaders spécifiques à l_backend OpenGL ES 3.0 ont été portés pour OpenGL ES 2.
- La prise en charge du rendu de matériaux physiquement correct (PBR) a été synchronisée avec les capacités des nouveaux moteurs de rendu PBR, tels que Blender Eevee et Substance Designer, afin d'assurer un affichage 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) ;
- Prise en charge complète de l'importation de scènes et de modèles 3D au format glTF 2.0 (GL Transmission Format) ajoutée, ainsi qu'une prise en charge initiale du format FBX, permettant d'importer des scènes avec animation depuis Blender, mais actuellement incompatible avec Maya et 3ds Max. La prise en charge des squelettes lors de l'importation de scènes via glTF 2.0 et FBX a été ajoutée, permettant d'utiliser un seul squelette sur plusieurs maillages. Le travail d'amélioration et de stabilisation du support de glTF 2.0 a été réalisé en collaboration avec la communauté des développeurs du paquet Blender, dans lequel un support amélioré de glTF 2.0 sera proposé dans la version 2.83.
- Les capacités réseau du moteur ont été étendues avec la prise en charge des protocoles WebRTC et WebSocket, ainsi que la possibilité d'utiliser UDP en mode multicast. Une API pour l'utilisation de hachages cryptographiques et la gestion des certificats a été ajoutée. Une interface graphique pour le profilage de l'activité réseau a été ajoutée. Les travaux ont commencé pour créer un port Godot pour WebAssembly/HTML5, permettant d'exécuter l'éditeur dans le navigateur via le Web.
- Le plugin pour la plateforme Android et le système d'exportation ont été repensés. Désormais, deux systèmes d'exportation distincts sont proposés pour former des paquets Android : l'un avec un moteur précompilé, et l'autre permettant de créer ses propres constructions basées sur des variantes personnalisées du moteur. La configuration de ses propres constructions peut être effectuée au niveau du plugin Android, sans modification manuelle du modèle source.
- L'éditeur a ajouté la prise en charge du désactivation sélective de certaines fonctionnalités, par exemple, il est possible de supprimer des boutons pour accéder à l'éditeur 3D, à l'éditeur de scripts, à la bibliothèque de ressources, aux nœuds, aux panneaux, aux propriétés et à d'autres éléments qui ne sont pas nécessaires pour le développeur (masquer l'inutile permet de simplifier considérablement l'interface).
- Ajout du support initial pour l'intégration avec les systèmes de gestion de code source, avec un plugin pour supporter Git dans l'éditeur;
- Introduite la possibilité de redéfinir la caméra pour un jeu en cours dans la fenêtre de l'éditeur, permettant d'évaluer différents modes de jeu (vue libre, inspection de nœuds, etc.);
- Proposition d'une implémentation du serveur LSP (Language Server Protocol) pour le langage GDScript, permettant de transmettre des informations sur la sémantique GDScript et les règles d'autocomplétion du code vers des éditeurs externes, comme le plugin VS Code et Atom;
- De nombreuses améliorations ont été apportées à l'éditeur de script GDScript intégré : ajout de la possibilité de mettre des signets à des emplacements dans le code, mise en œuvre d'un panneau minimap (pour un aperçu rapide de l'ensemble du code), amélioration de l'autocomplétion des entrées, et élargissement des possibilité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;
- Le support des atlas de textures a été réintroduit dans l'éditeur 2D;
- 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 suivre en temps réel les modifications des paramètres d'effets, prise en charge des balises BBCode et possibilité de définir ses propres effets;
- Ajout d'un générateur de flux audio, permettant de créer des ondes sonores sur la base d'images individuelles et d'un analyseur spectral;
- Avec la bibliothèque V-HACD, mise en œuvre de la possibilité de décomposer des maillages concaves en parties convexes précises et simplifiées. Cette fonctionnalité simplifie considérablement la génération de formes de collision pour les maillages 3D existants;
- Mise en œuvre de la possibilité de développer la logique de jeu en C# en utilisant Mono pour les plateformes Android et WebAssembly (auparavant, le C# était supporté pour Linux, Windows et macOS). Sur la base de Mono 6.6, support de C# 8.0 a été réalisé. Un support initial de la compilation anticipée (AOT, ahead-of-time) a également été ajouté à la base de code, mais n'est pas encore activé (un interpréteur est toujours utilisé pour WebAssembly). Pour l'édition de code C#, possibilité de connecter des éditeurs externes tels que MonoDevelop, Visual Studio pour Mac et Jetbrains Rider;
- Documentation considérablement élargie et améliorée. Une traduction partielle de la documentation en russe a été publiée (le guide d'introduction pour débutants a été traduit).
Télécharger la dernière version
Source : linux.org.ru

