Godot est devenu l'un des moteurs de jeu les plus populaires des dernières années. Il est gratuit, open source sous licence MIT, et suffisamment petit pour être téléchargé et commencé à utiliser en quelques minutes. La plupart des jeux Godot sont écrits en GDScript, le langage de script propre au moteur. Cependant, tôt ou tard, de nombreux projets ont besoin de quelque chose qui existe déjà sous forme de bibliothèque C ou C++ : une bibliothèque de simulation, une base de données, un protocole réseau, un environnement d'exécution d'apprentissage automatique. GDScript ne peut pas appeler de code natif, mais Godot peut le charger via GDExtension, et godot-cpp, les bindings officiels en C++, vous permet d'exposer ce code comme des classes normales du moteur.
Écrire le code C++ est la partie facile. La partie difficile est la compilation : godot-cpp doit correspondre à votre version de Godot, et chaque bibliothèque que vous ajoutez doit être compilée pour chaque plateforme sur laquelle vous livrez. Dans cet article, nous offrons une courte visite de Godot, expliquons comment les extensions C++ fonctionnent, et montrons comment apporter des bibliothèques C++ dans un jeu Godot avec Conan et godot-cpp 10, maintenant disponible dans Conan Center. En exemple, nous utiliserons flecs, une bibliothèque de système d'entités et de composants, pour simuler 100,000 particules à l'intérieur d'une scène Godot.
GDExtension charge une bibliothèque partagée (.dll, .so, .dylib, ou .wasm sur le web) dans une version officielle et non modifiée de Godot au moment de l'exécution. Le moteur parle à la bibliothèque via une interface C stable. GDExtension est l'approche recommandée pour la plupart des projets, et c'est ainsi que de nombreux plugins populaires sont distribués aujourd'hui. Parce que l'interface C est verbeuse à utiliser directement, l'équipe Godot maintient godot-cpp, une bibliothèque C++ qui l'enveloppe avec une API très proche de celle utilisée à l'intérieur du moteur. Depuis la version 10.0, une seule version de godot-cpp fonctionne avec n'importe quelle version de Godot à partir de 4.3.
Nous utiliserons flecs pour simuler 100,000 particules à l'intérieur d'une scène Godot, s'enfuyant du curseur de la souris. Téléchargez la vidéo pour voir la simulation complète en action.
Entités clés : Entreprises : Conan, Godot, Hacker News