Après 6 mois de développement, la version gratuite du moteur de jeu Godot 3.4 a été publiée, adaptée à la création de jeux 2D et 3D. Le moteur prend en charge un langage facile à apprendre pour la logique de jeu, un environnement graphique pour la conception de jeux, un système de déploiement en un clic, de vastes capacités d'animation et de simulation physique, un débogueur intégré et un système de détection des goulots d'étranglement en matière de 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 audio, backend de rendu 2D/3D, etc.) est distribué sous la licence MIT.
Les codes sources du moteur ont été ouverts 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 versions binaires prêtes à être exécutées ont été générées pour Linux, Windows et macOS.
Un nouveau backend de rendu basé sur l'API graphique Vulkan est en cours de développement dans une branche distincte, qui sera proposé dans la prochaine version Godot 4.0, en remplacement des backends de rendu actuels utilisant OpenGL ES 3.0 et OpenGL 3.3 (le support d'OpenGL ES et OpenGL sera maintenu en assurant la compatibilité de l'ancien backend OpenGL ES 2.0/OpenGL 2.1 avec la nouvelle architecture de rendu basée sur Vulkan). La transition de Godot 3.x à Godot 4.0 nécessitera une refonte des applications en raison de la rupture de la compatibilité au niveau de l'API, mais un long cycle de support sera assuré pour la branche Godot 3.x, dont la durée dépendra de la demande de l'API par les utilisateurs.
Godot 3.4 est remarquable pour l'ajout des nouveautés suivantes :
- L'interface utilisateur pour l'édition des thèmes a été retravaillée, offrant un processus visuel d sélection des nœuds et permettant de modifier le design sans quitter le mode aperçu.

- Des améliorations ont été apportées à l'éditeur pour améliorer la convivialité : une fonction de chargement rapide des ressources a été ajoutée en mode d'inspection, la création de nœuds à des positions arbitraires est désormais permise, une nouvelle interface d'exportation de modèles a été ajoutée, des opérations supplémentaires avec gizmo (système de boîtes englobantes) ont été mises en œuvre et l'éditeur d'animation basé sur des courbes de Bézier a été amélioré.

- Un mode de retour en arrière a été ajouté, permettant d'annuler toutes les modifications de la scène causées par l'application d'animations via AnimationPlayer, au lieu d'annuler chaque propriété individuellement.
- Une option a été ajoutée dans les paramètres pour modifier le niveau de zoom de la zone de visualisation 2D (2D viewport), qui peut être utilisée, par exemple, pour agrandir ou réduire les éléments 2D, indépendamment du mode d'étirement actuel.
- L'API File a été mise à jour pour permettre le travail avec des fichiers (y compris PCK) dont la taille dépasse 2 Go.
- Des modifications ont été apportées pour améliorer la fluidité du rendu en calculant les changements dans les images sans se lier au minuteur du système et en résolvant les problèmes de synchronisation des sorties lors de l'utilisation de vsync.
- Le système de traitement des entrées InputEvents prend désormais en charge la liaison aux codes de scan, reflétant le placement physique des touches sur le clavier, indépendamment de la disposition active (par exemple, les touches WASD en disposition QWERTY seront automatiquement associées aux touches ZQSD en disposition AZERTY).
- Des interfaces AESContext et HMACContext ont été ajoutées pour accéder aux algorithmes de chiffrement AES-ECB, AES-CBC et HMAC depuis les scripts. Il est également désormais possible de sauvegarder et de lire des clés publiques RSA pour générer et vérifier des signatures numériques.
- Le moteur de rendu a été mis à jour avec un support initial pour l'arrêt du rendu des objets qui se trouvent dans le champ de vision de la caméra, mais qui ne sont pas visibles en raison de leur obscurcissement par d'autres objets (comme ceux situés derrière un mur). Le découpage raster (au niveau des pixels) par superposition sera réalisé uniquement dans la version Godot 4, tandis que Godot 3 inclut certaines méthodes géométriques de découpage des objets qui se chevauchent et un support pour le découpage par portails.

- Un nouveau méthode de tonalité ACES Fitted a été ajoutée, permettant d'atteindre un plus grand réalisme et une précision physique grâce à l'augmentation du contraste des objets lumineux.

- Ajout de la prise en charge de la forme de l'émission de particules tridimensionnelles sous forme d'anneau ou de cylindre creux.
- Les performances de génération d'objets convexes à partir de maillages ont été considérablement améliorées dans le moteur de simulation des processus physiques, et le mode de suivi des collisions a été retravaillé dans l'interface d'inspection. Pour le moteur de physique 2D, la prise en charge de la structure BVH (Bounding Volume Hierarchy) a été ajoutée pour le découpage spatial dynamique. Dans le moteur de physique 3D, la prise en charge de la fonction HeightMapShapeSW a été implémentée et des outils de synchronisation avec KinematicBody3D ont été ajoutés.
- Ajout de la possibilité d'exporter des scènes 3D au format glTF, par exemple pour ouvrir des maillages préparés dans Godot dans Blender.
- Ajout de la prise en charge du mode de compression d'images WebP sans perte, qui est désormais appliqué par défaut pour la compression des textures au lieu du format PNG.
- Dans le port pour la plateforme Android, un support initial de l'API Scoped storage et d'un nouveau moyen de chargement de ressources supplémentaires (Play Asset Delivery) pour les fichiers exécutables au format AAB (Android App Bundle) a été ajouté.
- Pour la plateforme HTML5, il est désormais possible d'installer sous forme d'applications PWA (Progressive Web Apps). Une interface JavaScriptObject a été ajoutée pour interagir entre Godot et JavaScript (par exemple, il est possible d'appeler des méthodes JavaScript à partir des scripts Godot). La prise en charge de l'AudioWorklet a été mise en œuvre pour les builds multithread.
- Ajout du support des systèmes sur puce Apple Silicon (M1) pour la plateforme macOS.
Source : opennet.ru




