الجمعة، 15 مايو 2015

الفيزياء في لعبة Angry Birds


كيف تمكنت Rovio من كتابة مثل هذه التفاعلات الواقعية في اللعبة , لا شك بأن معظمكم يعرف لعبة Angry Birds. كما أننا متأكدون بأنكك لعبتموها – فهي متاحة لشرائها وتحميلها على الكثير من أنظمة التشغيل، كما أنها متوفرة مجاناً على متصفح غوغل كروم وأندرويد، بالرغم من وجود الإعلانات المزعجة.كما أننا واثقون جداً بأنك تتقنها أفضل مننا.

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

وسيبدو لكم أن إطلاق وطيران الطيور والاصطدام والتحطم وإصابة الخنازير وتهدم الهياكل، جميعها تبدو طبيعية وحقيقية للغاية. بكلمات أخرى، هذه اللعبة هي ترجمة واقعية لمعرفتنا وتجربتنا برمي الكرات والحجارة وهذا ما يمكننا من توقع كيف يجب على الطيور أن تطير عند إطلاقها من المنجنيق.

إذاً كيف تمكن مطورو البرامج لدى Rovio، وهي الشركة المنتجة لـ Angry Birds، من برمجة مثل هذه التفاعلات الواقعية في اللعبة؟

تتلخص هذه التفاعلات في بعض الخوارزميات (البسيطة إلى حدٍ ما)، دعونا أولاً نلقي نظرة على طيران الطائر الأحمر، باختصار، هذا الطائر يتحرك مثل كرة المدفع: يطير ومن ثم يصطدم بشيءٍ ما، سنبدأ من نقطة انطلاق الطائر من المنجنيق: حيث ينطلق بسرعة معينة وزاوية معينة، فماذا يحدث بعد ذلك؟

بالنسبة للسرعة فقد راعى المبرمجون فكرة أن السرعة الافقية لأي جسم مقذوف تبقى ثابتة عندما نهمل مقاومة الهواء بينما تتغير السرعة العامودية صعوداٌ ثم هبوطا. (طلاب البكالوريا رح تحبونا كتير أنا أكيد). وبشكل يتطابق مع ما تشاهده دوما في مكتبك وغرفتك عندما ترمي كرة صغيرة مثلا باتجاه سلة القمامة.

أما من ناحية المسافة فقد راعى المبرمجون أيضا أن اي جسم نرميه أو نقذفه سيتحرك راسماً منحنيا قد يظنه البعض قوس دائرة ولكنه في الواقع يختلف عنها ويدعى بالقطع المكافئ. وفي الحقيقة فإن Rovio تعرض خط المسار باستخدام نفثات صغيرة من "الدخان" على فترات منتظمة كما لو أنهم يحسبون المسار بهذه الطريقة الذكية.

المرونة

دعونا الآن نلقي نظرة على هذا المنجنيق الصغير، هو عبارة عن حبل مرن مطاط، كلما شُدَّ أكثر، كلما كان الجهد المطبّق عليه أكبر، وكانت القوة التي ينطلق بها الطائر أكبر وسرعته في البداية أكبر أيضاً.وبالتالي بكل بساطة سيبني المبرمجون اللعبة بحيث تكون القوة أكبر كلما شددت الحبل أكثر. لذلك يقوم اللاعبون دوماً بشد الحبل أقصى ما يمكن للحصول على أكبر سرعة إنطلاق فهذا سيؤدي إلى أكبر ضرر ممكن لمخابئ الخنازير عند ضربها.

فيزياء التصادم

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

في لعبة Angry Birds، جميع التصادمات تحدث بين جسم متحرك وآخر ثابت، وهي الحالة الأسهل للمحاكاة. علاوةً على ذلك، نحن أقرب للظن بأن السبب وراء جعل معظم الطيور دائرية الشكل هو سهولة تمثيل التصادم المحتمل. ففي حالة حركة الاجسام الكروية كالطيور في اللعبة يمكن بتقريب مقبول أن نشبه حركتها بحركة نقطة صغيرة جداً وذلك ما يفسر ما قد يلاحظه بعض اللاعبين من أن الطائر فعليا كان من المفترض انو يصطدم جانبه بلوح خشبي مثلا ولكنه يتابع إلى أن يرتطم بشكل مباشر (وليس جانبيا) بجسم ما. وهو ما قد يشكل جزء غير مطابق للواقع من اللعبة.

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

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

كل هذا يؤدي بنا إلى نتيجة بأن لعبة Angry Birds تقوم بالمراوغة في بعض التفاصيل إلى حد ما: فهناك انفجارات، تحطم، نقاط مكافأة، غيوم من الريش وما إلى ذلك، جميعها تساعد على إخفاء بعض من عدم المنطقية في التصادم.

ولكن بالمجمل، تعتبر لعبة Angry Birds مثالاً ممتازاً عن كيفية استخدام الفيزياء لإنتاج لعبة واقعية وثنائية الأبعاد.


التعليقات
0 التعليقات

0 التعليقات: