HeadlinesBriefing favicon HeadlinesBriefing.com

C++-Bibliotheken in Godot mit Conan

Hacker News •
×

Godot ist in den letzten Jahren zu einem der beliebtesten Spiele-Engines geworden. Es ist kostenlos, Open Source unter der MIT-Lizenz, und klein genug, um es herunterzuladen und innerhalb weniger Minuten zu verwenden. Die meisten Godot-Spiele werden in GDScript geschrieben, der Skriptsprache des Engines. Doch früher oder später benötigen viele Projekte etwas, das bereits als C- oder C++-Bibliothek existiert: eine Simulationsbibliothek, eine Datenbank, ein Netzwerkprotokoll, eine Laufzeit für maschinelles Lernen. GDScript kann keinen nativen Code aufrufen, aber Godot kann ihn über GDExtension laden, und godot-cpp, die offiziellen C++-Bindungen, ermöglichen es Ihnen, diesen Code als reguläre Engine-Klassen offenzulegen.

Die C++-Code zu schreiben, ist der einfache Teil. Der schwierige Teil ist der Build: godot-cpp muss zu Ihrer Godot-Version passen, und jede Bibliothek, die Sie hinzufügen, muss für jede Plattform kompiliert werden, auf die Sie verkaufen. In diesem Beitrag geben wir einen kurzen Überblick über Godot, erklären, wie C++-Erweiterungen funktionieren, und zeigen, wie man C++-Bibliotheken in ein Godot-Spiel mit Conan und godot-cpp 10 bringt, das jetzt in Conan Center verfügbar ist. Als Beispiel verwenden wir flecs, eine Entity-Component-System-Bibliothek, um 100.000 Partikel innerhalb einer Godot-Szene zu simulieren.

GDExtension lädt eine gemeinsame Bibliothek (.dll, .so, .dylib oder .wasm im Web) in einen offiziellen, unveränderten Godot-Build zur Laufzeit. Der Motor spricht mit der Bibliothek über eine stabile C-Schnittstelle. GDExtension ist der empfohlene Ansatz für die meisten Projekte, und es ist so, wie viele beliebte Plugins heute verbreitet werden. Da die C-Schnittstelle direkt zu verwenden ziemlich umgangssprachlich ist, pflegt das Godot-Team godot-cpp, eine C++-Bibliothek, die sie mit einer API einwickelt, die sehr ähnlich ist, was innerhalb des Motors verwendet wird. Seit Version 10.0 funktioniert eine einzige godot-cpp-Version mit jeder Godot-Version ab 4.3.

Wir werden flecs verwenden, um 100.000 Partikel innerhalb einer Godot-Szene zu simulieren, die vor dem Mauszeiger fliehen. Laden Sie das Video herunter, um die vollständige Simulation in Aktion zu sehen.

Wichtige Entitäten: Unternehmen: Conan, Godot, Hacker News