HeadlinesBriefing favicon HeadlinesBriefing.com

استخدام مكتبات C++ في Godot مع Conan

Hacker News •
×

أصبح Godot أحد أكثر محركات الألعاب شعبية في السنوات الأخيرة. إنه مجاني، مفتوح المصدر بموجب رخصة MIT، وصغير بما يكفي لتنزيله وبدء استخدامه في دقائق. معظم ألعاب Godot تُكتب بلغة GDScript، وهي لغة البرمجة الخاصة بالمحرك. ومع ذلك، في وقت ما أو آخر، غالبًا ما تحتاج العديد من المشاريع إلى شيء موجود بالفعل كمكتبة C أو C++: مكتبة محاكاة، قاعدة بيانات، بروتوكول شبكة، بيئة تشغيل تعلم آلي. لا يمكن لـ GDScript استدعاء الكود الأصلي، لكن Godot يمكنه تحميله من خلال GDExtension، و godot-cpp، الروابط الرسمية لـ C++، يتيح لك كشف هذا الكود كفئات محرك عادية.

كتابة كود C++ هي الجزء السهل. الجزء الصعب هو عملية البناء: يجب أن يتطابق godot-cpp مع إصدار Godot الخاص بك، وكل مكتبة تضيفها يجب تجميعها لكل منصة تشحنها إليها. في هذه المقالة، نقدم جولة قصيرة حول Godot، ونشرح كيف تعمل امتدادات C++، ونُظهر كيفية إدخال مكتبات C++ إلى لعبة Godot باستخدام Conan و godot-cpp 10، المتاحة الآن في Conan Center. كمثال، سنستخدم flecs، مكتبة نظام الكيانات والمكونات، لمحاكاة 100,000 جسيم داخل مشهد Godot.

يقوم GDExtension بتحميل مكتبة مشاركة (.dll، .so، .dylib، أو .wasm على الويب) في بناء Godot الرسمي غير المعدل في وقت التشغيل. يتحدث المحرك إلى المكتبة من خلال واجهة برمجة تطبيقات C ثابتة. يُعد GDExtension هو الأسلوب الموصى به لمعظم المشاريع، وهو الطريقة التي تُوزع بها العديد من الإضافات الشعبية اليوم. بما أن واجهة برمجة التطبيقات C طويلة ومعقدة للاستخدام مباشرة، يحافظ فريق Godot على godot-cpp، وهي مكتبة C++ تلفها بواجهة برمجة تطبيقات قريبة جدًا من تلك المستخدمة داخل المحرك. بدءًا من الإصدار 10.0، إصدار واحد من godot-cpp يعمل مع أي إصدار Godot من 4.3 فصاعًا.

سنستخدم flecs لمحاكاة 100,000 جسيم داخل مشهد Godot، هاربة من مؤشر الماوس. قم بتنزيل الفيديو لرؤية المحاكاة الكاملة أثناء العمل.

كيانات رئيسية: الشركات: Conan، Godot، Hacker News