Raylib est un framework simple et facile à utiliser pour apprécier la programmation de jeux vidéo en C et C++. Après 8 ans de développement, le framework passe enfin en version 4 !

Raylib

Cette nouvelle version se veux être une version LTS (Long Term Support ou Support à long terme), ce qui signifie que le support de cette version sera assurée durant une longue période.

Cette version 4 apporte plusieurs changements :

Cohérence des noms : l’API raylib a été complètement revue pour être cohérente sur les conventions de nommage des structures de données et des fonctions, les commentaires et les descriptions ont été revus, ainsi que la syntaxe de nombreux symboles pour la cohérence ; certaines fonctions et structures ont été renommées. Les messages de journal de sortie ont également été améliorés pour montrer plus d’informations aux utilisateurs. Plusieurs articles ont été écrits dans ce processus : analyse raylib_syntax et analyse d’utilisation de l’API raylib. En général, un gros polissage de la bibliothèque pour la rendre plus consistante et cohérente.

Système d’automatisation des événements : cette nouvelle fonctionnalité expérimentale a été ajoutée pour une utilisation future, elle permet d’enregistrer les événements d’entrée et de les rejouer automatiquement. Cette fonctionnalité pourrait être très utile pour automatiser les tests d’exemples, mais aussi pour les tutoriels avec le jeu assisté, les cinématiques en jeu, les speedruns, le jeu AI et plus encore ! Notez que cette fonctionnalité est encore expérimentale.

Contrôle de GameLoop personnalisé : comme demandé par certains utilisateurs avancés, le contrôle de la Gameloop peut être exposé en compilant raylib avec l’indicateur de configuration : SUPPORT_CUSTOM_FRAME_CONTROL. Il est destiné aux utilisateurs avancés qui souhaitent contrôler l’interrogation des événements ainsi que les mécanismes de chronométrage de leurs jeux.

lgl 4.0 : ce module a été complètement découplé de la couche plate-forme et de raylib, maintenant la bibliothèque d’en-tête à fichier unique rlgl ne dépend que des multiples backends OpenGL pris en charge, même la dépendance à raymath a été supprimée. De plus, la prise en charge d’OpenGL 4.3 a été ajoutée, prenant en charge les shaders de calcul et les Shader Storage Buffer Objects (SSBO). Désormais, rlgl peut être utilisé comme une bibliothèque portable autonome complète pour envelopper plusieurs versions d’OpenGL et fournir une API pseudo-OpenGL en mode immédiat simple et facile à utiliser.

raymath 1.5 : Ce module a été revu et de nouvelles conventions ont été adoptées pour le rendre plus portable et autonome :

  • Les fonctions sont autonomes, aucune fonction n’utilise d’autre fonction raymath à l’intérieur, le code requis est directement ré-implémenté.
  • Les paramètres d’entrée des fonctions sont toujours reçus par valeur.
  • Les fonctions utilisent toujours une variable « résultat » pour le retour.
  • Les angles sont toujours en radians (les macros DEG2RAD/RAD2DEG sont fournies pour plus de commodité).

raygui 3.0 : la bibliothèque officielle de l’interface graphique en mode immédiat de raylib (incluse dans raylib/src/extras) a été mise à jour vers une nouvelle version, intégrant la collection d’icônes et ajoutant plusieurs améliorations. Il a été simplifié et contraint pour mieux se concentrer sur sa tâche : fournir une bibliothèque en mode immédiat simple et facile à utiliser pour le développement de petits outils.

raylib_parser : ajout d’un nouvel outil pour analyser raylib.h et tokeniser ses énumérations, structures et fonctions, extrayant toutes les informations requises (nom, paramètres, descriptions…) dans des formats de sortie personnalisés (TXT, XML, JSON…) pour un traitement ultérieur . Cet outil est particulièrement utile pour automatiser la génération de liaisons. Espérons que cet outil facilitera la vie des créateurs de liaisons pour mettre à jour leurs liaisons pour raylib 4.0 ou en ajouter de nouvelles !

Prise en charge officielle de raylib par Zig et Odin : ces deux nouveaux langages de programmation étonnants prennent officiellement en charge raylib, Zig répertorie raylib comme exemple officiel d’interopérabilité C et Odin prend officiellement en charge raylib en tant que bibliothèque fournisseur. De plus, le système de construction Zig pris en charge a été ajouté pour compiler la bibliothèque Raylib et des exemples.

Ce sont quelques-unes des fonctionnalités clés de cette nouvelle version, mais en réalité, il y en a bien plus ! La prise en charge du format de modèle 3D VOX (MagikaVoxel) a été ajoutée, le nouveau référentiel raylib_game_template partagé, les nouvelles fonctions EncodeDataBase64() et DecodeDataBase64() ajoutées, la prise en charge HiDPI améliorée, le nouveau DrawTextPro() avec prise en charge des rotations de texte, le chargement des modèles glTF entièrement revu, ajouté SeekMusicStream() pour la recherche musicale, de nombreux nouveaux exemples et +20 exemples examinés… des centaines d’améliorations et de corrections de bugs !

Vous pouvez voir l’intégralité des modification dans le Changelog sur la page Github du projet : https://github.com/raysan5/raylib/blob/4.0.0/CHANGELOG

Vous pouvez télécharger Raylib sur son site officiel : https://www.raylib.com/

Si vous souhaitez apprendre à programmer des jeux vidéo, vous pouvez rejoindre Gamecodeur à l’adresse suivante : https://www.gamecodeur.fr/acces-premium/

Cet article a été posté dans la catégorie and tagged . Voici le permalink : .

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.