الشبكة العربية لمطوري الألعاب

خبير مدير همام البهنسي مشاركة 1



السلام عليكم...

هذا الموضوع مخصص لعرض مشروع ذو طبيعة بحثية في مجال الروبوتات والهندسة المدنية. قد لا يكون هذا الموضوع مثير للبعض من رواد المنتدى لكونه لا يتحدث عن أي من الجوانب الفنية أو البرمجية المتعلقة بصناعة الألعاب بشكل مباشر.

ولكن نظراً لكون هذا العمل يعتمد على الكثير من المفاهيم الرياضية والبرمجية المستخدمة في صناعة الألعاب مثل خوارزميات البحث عن مسار، كشف تصادم، ... الخ. أحببت المشاركة فيه لعله يثير عند البعض المزيد من الاستفسارات والمسائل المفيدة في صناعة الألعاب.

المشروع باختصار شديد، هو عبارة عن محاولة لتطوير نظام موحد لتخطيط حركة آليات الإنشاء بناء على خوارميات البحث المستخدمة في الروبوتات.

من الجانب البرمجي للمشروع، المشروع تم تطويره كمقبس للسوفت إيماج (Softimage Plugin)، حيث يمكن للمستخدم:
1- نمذجة المسألة وتحديد جميع الخصائص المطلوبة ضمن البرنامج.
2- الحصول على نتيجة الحل وعرضها ضمن البرنامج.
3- التفاعل مع البيئة بشكل فوري ومعاينة النتائج مباشرة بناءً على التغييرات التي يقوم بها المستخدم.

بالنسبة للجانب البحثي، يعالج هذا المشروع العديد من التحديات البحثية في مجال تخطيط حركة الروبوتات، بعض من هذه التحديات موجودة نفسها في صناعة الألعاب وتحديداً في مسألة البحث عن مسار، ولكن بالطبع مع فارق التعقيد في كلا الحالتين.

فيما يلي بعض من هذه التحديات مع مقارنة سريعة بين تطبيقها الحالي في المشروع وبين تطبيقاتها في صناعة الألعاب:
1- ضرورة حل مسألة البحث في مسار في عوالم ذات أبعاد فائقة (Super Dimension)، في مجال صناعة الألعاب تكون هذه المسألة محصورة بشكل عام في عوالم ثنائية أو ثلاثية البعد، في حالة تخطيط آليات الإنشاء المسألة عادة تحتاج لعوالم رباعية البعد أو أكثر لتمثيل المسألة حسب درجة تعقيد الآلية.
2- إمكانية التخطيط في الزمن الفوري (Real-Time Planning)، هذا التحدي هو الأهم في مجال الألعاب، الأمر ذاته ينطبق في حالة آليات الإنشاء حيث من الضروري إمكانية تحديث الخطة وتعديلها بشكل فوري بناءً على تغيرات البيئة.
3- مراعاة الخصائص الهندسية أثناء حل المسألة لضمان أمان الآلية، هذه النقطة تظهر أحياناً في الألعاب عند مراعاة الخصائص التصميمة في اللعبة أثناء البحث عن مسار لشخصيات اللعبة.
4- الحصول على الحل الأفضل، هذه النقطة ضرورية في حالة تخطيط آليات الإنشاء ولكنها ليست بنفس الضرورة في حال الألعاب. ففي حال آليات الإنشاء الأولوية القصوى للأمان ومراعاة الخصائص الهندسية بينما في حال الألعاب فالأمر يختلف، حيث نجاح الذكاء الصناعي للعبة يعتمد على طريقة تصرف الشخصيات ضمن اللعبة وقدرتهم على البحث على المسار الأفضل ضمن البيئة.

للمهتمين بقراءة المزيد من التفاصيل عن هذا المشروع يمكنهم زيارة الرابط التالي:
http://www.inframez.com/hbahnassi/iceplanner/

وبالطبع لنقاش أي فكرة أو تفصيلة عن هذا المشروع تبقى هذه المشاركة هي المكان الأفضل لهذا الأمر.

أخيراً أعتذر عن الإطالة وشكراً...

محترف  انس مشاركة 2

السلام عليكم
استاذ همام، يهمني في الموضوع مسألة كشف التصادم. هل من معلومات عن كيفية حل مثل هذه المسائل، عندما تواجه الروبوت/الشخصية عدة عقبات في نفس الوقت، بما انك ذكرة ان الحساب الفوري هو اهم ميزة فكيف يتم حساب التصادم بالسرعة التي تسمح بتوفير : الاداء اللازم ؟

خبير مدير همام البهنسي مشاركة 3

في الحقيقة مسألة كشف التصادم كانت أحد المسائل التي لم أتعمق فيها رغم أهميتها. السبب في ذلك هو وجود الكثير من الأبحاث الناضجة في هذا المجال. لذلك اقتصر عملي في هذا الجانب في تطبيق ماهو معروف دون تقديم أي جديد.
 
أحد الأساليب المعروفة التي اتبعتها لتحسن أداء كشف التصادم هو الاعتماد على أشكال مبسطة جداً لكشف التصادم بدل من المجسمات الأصلية. هذا التبسيط كان كافي للسماح بالقيام بعملية كشف التصادم بشكل فوري من خلال الخوارزميات الحالية.
 
ولحسن الحظ، بسبب أهمية هذا الجانب معظم هذه الخوارزميات مطبقة في مكاتب برمجية جاهزة للاستفادة منها. أحد المواقع الهامة التي تقدم قائمة بالعديد من المكاتب البرمجية لهذا الغرض بالذات هو:
http://gamma.cs.unc.edu/research/collision/packages.html

مبتدئ  Islam Merabtene مشاركة 4

نعم توجد الكثير من المكتبات المتخصصة في كشف التصادمات و تسييرها, أنا شخصيا أستعمل Bullet Physics ولكن توجد محركات أخرى مثلNewton GD , Havok , Natural Motion
أنا أعمل حاليا على إنشاء Rag Doll و تحريكه بواسطة قوى فيزيائية, أريد ان احقق نتيجة قريبة من التي حققتها شركة Natural Motion

http://naturalmotion.com/euphoria
شاهدوا الفيديو و سترون روعة ما أتحدث عنه

سؤال : هل ستستعمل تقنية ال Inverse Kinematic في هذا المشروع ؟ فأنا مهتم بها

خبير مدير همام البهنسي مشاركة 5

وفي 21 مايو 2011 05:36 ص، قال Islam Merabtene متحمساً:

سؤال : هل ستستعمل تقنية ال Inverse Kinematic في هذا المشروع ؟ فأنا مهتم بها

نعم... قمت بالاعتماد على أحد خوارزميات الحركة العكسية (Inverse Kinematics) في هذا المشروع لحل مسألة تحديد برامترات الحركة اللازمة لبلوغ هدف معين.