محرك Godot المدعوم: 4.3 (v1.2.0+) | 4.2 (إصدارات v1.1.x)
LimboAI هو مكون إضافي مفتوح المصدر لـ C++ لـ Godot Engine 4 يوفر مزيجًا من أشجار السلوك وآلات الحالة ، والتي يمكن استخدامها معًا لإنشاء سلوكيات الذكاء الاصطناعي المعقدة. يأتي مزودًا بمحرر شجرة السلوك، والوثائق المضمنة، ومصحح الأخطاء المرئي، ومشروع تجريبي شامل مع برنامج تعليمي، والمزيد! بينما يتم تنفيذه في C++، فهو يدعم GDScript بشكل كامل لإنشاء المهام والحالات الخاصة بك.
إذا كنت تستمتع باستخدام LimboAI، فيرجى التفكير في دعم جهودي بالتبرع على Ko-fi؟ مساهمتك ستساعدني على مواصلة تطويره وتحسينه.
أشجار السلوك هي هياكل هرمية قوية تستخدم لنمذجة سلوك العملاء في اللعبة والتحكم فيه (مثل الشخصيات والأعداء). لقد تم تصميمها لتسهيل إنشاء سلوكيات غنية ومعيارية للغاية لألعابك. لمعرفة المزيد حول أشجار السلوك، راجع مقدمة لأشجار السلوك ومشروعنا التجريبي، والذي يتضمن برنامجًا تعليميًا.
يوجد المشروع التجريبي في المجلد
demo
وهو متاح بشكل منفصل في الإصدارات . قم بتشغيلdemo/scenes/showcase.tscn
للبدء. ويتضمن أيضًا برنامجًا تعليميًا يعرّف بأشجار السلوك من خلال أمثلة توضيحية.
مقاطع فيديو YouTube التي أنتجها العديد من المبدعين
أشجار السلوك (BT):
خطط Blackboard: تحديد المتغيرات في مورد BehaviorTree وتجاوز قيمها في عقدة BTPlayer.
محرر الخطة: إدارة المتغيرات وأنواع البيانات الخاصة بها وتلميحات الخصائص.
نطاقات Blackboard: منع تعارض الأسماء وتمكين التقنيات المتقدمة مثل مشاركة البيانات بين العديد من الوكلاء.
معلمات Blackboard: تصدير معلمة BB، والتي يمكن للمستخدم توفير قيمة لها أو ربطها بمتغير Blackboard (يمكن استخدامها في المهام المخصصة).
دعم المفتش لتحديد متغيرات السبورة (محرر مخصص لخصائص StringName
المصدرة التي تنتهي بـ "_var").
يمكنك بسهولة إنشاء موارد BehaviorTree
وتحريرها وحفظها في المحرر.
قم بتنفيذ موارد BehaviorTree
باستخدام عقدة BTPlayer
.
قم بإنشاء سلوكيات معقدة من خلال دمج المهام وتداخلها في تسلسل هرمي.
التحكم في تدفق التنفيذ باستخدام المهام المركبة والزخرفية والشرطية.
أنشئ مهام مخصصة من خلال توسيع الفئات الأساسية: BTAction
و BTCondition
و BTDecorator
و BTComposite
.
وثائق الطبقة المضمنة.
نظام Blackboard: يمكنك مشاركة البيانات بسلاسة بين المهام باستخدام Blackboard
.
استخدم مهمة BTSubtree
لتنفيذ شجرة من ملف مورد مختلف، مما يعزز التنظيم وقابلية إعادة الاستخدام.
مصحح الأخطاء المرئي: فحص تنفيذ أي BT في مشهد قيد التشغيل لتحديد المشكلات واستكشاف الأخطاء وإصلاحها.
تصور BT داخل اللعبة باستخدام عقدة BehaviorTreeView
(للأدوات المخصصة داخل اللعبة).
مراقبة أداء الشجرة باستخدام شاشات الأداء المخصصة.
آلات الحالة الهرمية (HSM):
قم بتوسيع فئة LimboState
لتنفيذ منطق الحالة.
تعمل عقدة LimboHSM
كجهاز حالة يدير مثيلات LimboState
والانتقالات.
LimboHSM
هي حالة بحد ذاتها ويمكن أن تكون متداخلة ضمن مثيلات LimboHSM
الأخرى.
مستند إلى الحدث: ترتبط الانتقالات بالأحداث ويتم تشغيلها بواسطة آلة الحالة عند إرسال الحدث ذي الصلة، مما يسمح بفصل أفضل للانتقالات عن منطق الحالة.
اجمع بين أجهزة الحالة وأشجار السلوك باستخدام BTState
للذكاء الاصطناعي التفاعلي المتقدم.
خيار التفويض: باستخدام Vanilla LimboState
، قم بتفويض التنفيذ إلى وظائف رد الاتصال الخاصة بك، مما يجعلها مثالية للنماذج الأولية السريعة وازدحام الألعاب.
؟ ملاحظة: يتطلب إعداد جهاز الحالة وتهيئته رمزًا؛ لا يوجد محرر واجهة المستخدم الرسومية.
تم اختباره: تمت تغطية مهام شجرة السلوك وHSM من خلال اختبارات الوحدة.
GDExtension: يمكن استخدام LimboAI كملحق. بناء المحرك المخصص ليس ضروريًا.
العرض التوضيحي + البرنامج التعليمي: اطلع على مشروعنا التجريبي الشامل، والذي يتضمن مقدمة لأشجار السلوك باستخدام الأمثلة.
اتبع دليل الخطوات الأولى لمعرفة كيفية البدء باستخدام LimboAI والمشروع التجريبي.
يمكن استخدام LimboAI إما كوحدة نمطية C++ أو كمكتبة GDExtension مشتركة. يعد إصدار GDExtension أكثر ملاءمة للاستخدام ولكنه محدود إلى حد ما في الميزات. أيًا كان اختيارك للاستخدام، سيظل مشروعك متوافقًا مع كليهما ويمكنك التبديل من أحدهما إلى الآخر في أي وقت. راجع استخدام GDExtension.
للحصول على أحدث الإصدارات، انتقل إلى Actions → All Builds ، وحدد إصدارًا من القائمة، ثم قم بالتمرير لأسفل حتى تجد قسم Artifacts .
للتعرف على إصدارات الإصدار، تحقق من الإصدارات .
قم بتنزيل الكود المصدري لمحرك Godot ووضع مصدر الوحدة هذا في دليل modules/limboai
.
راجع وثائق محرك Godot للحصول على إرشادات حول كيفية البناء من التعليمات البرمجية المصدر.
إذا كنت تخطط لتصدير لعبة باستخدام وحدة LimboAI، فستحتاج أيضًا إلى إنشاء قوالب تصدير.
لتنفيذ اختبارات الوحدة، قم بتجميع المحرك باستخدام tests=yes
وتشغيله باستخدام --test --tc="*[LimboAI]*"
.
ستحتاج إلى أداة إنشاء SCons ومترجم C++. انظر أيضًا التجميع.
قم بتشغيل scons target=editor
لإنشاء مكتبة المكونات الإضافية لنظامك الأساسي الحالي.
سوف تقوم SCons تلقائيًا باستنساخ مستودع godot-cpp/ إذا لم يكن موجودًا بالفعل في دليل limboai/godot-cpp
.
بشكل افتراضي، يتم وضع الأهداف المبنية في المشروع التجريبي: demo/addons/limboai/bin/
تحقق من scons -h
للتعرف على الخيارات والأهداف الأخرى.
التوثيق عبر الإنترنت: مستقر، وأحدث
الخطوات الأولى
مقدمة لأشجار السلوك
إنشاء مهام مخصصة في GDScript
مشاركة البيانات باستخدام البلاك بورد
الوصول إلى العقد في شجرة المشهد
آلات الدولة
باستخدام GDExtension
استخدام LimboAI مع لغة C#
مرجع الطبقة
المساهمات هي موضع ترحيب! يرجى فتح المشكلات الخاصة بتقارير الأخطاء أو طلبات الميزات أو تغييرات التعليمات البرمجية. للحصول على إرشادات مفصلة حول المساهمة في التعليمات البرمجية أو الوثائق، راجع صفحة المساهمة لدينا.
إذا كانت لديك فكرة لمهمة شجرة السلوك أو ميزة يمكن أن تكون مفيدة في مجموعة متنوعة من المشاريع، فافتح مشكلة لمناقشتها.
بحاجة الى مساعدة؟ لدينا خادم Discord: https://discord.gg/N5MGC95GpP
أكتب عن تطوير LimboAI على Mastodon: https://mastodon.gamedev.place/@limbo.
يخضع استخدام كود المصدر هذا لترخيص على طراز MIT يمكن العثور عليه في ملف الترخيص أو على https://opensource.org/licenses/MIT
تم ترخيص شعار LimboAI والأصول الفنية للمشروع التجريبي بموجب ترخيص Creative Commons Attribution 4.0 International الذي يمكن العثور عليه على https://creativecommons.org/licenses/by/4.0/