وسام البهنسي

مدونة مبرمج معماري

عبر المنصات… عبر السدم

السلام عليكم،

 

أولاً اسمحوا لي أن أبارك لنفسي إطلاق لعبة هايبر فويد (Hyper Void) 😁، أو كما نسميها ضمنياً أنا وأخي عبر السدم.

 

هذه هي اللعبة الثانية التي تطرح في الأسواق وتعمل بتقنيات إنفريمز (INFramez) (بالمناسبة تم تحديث موقع إنفريمز فلا تنسوا زيارته في حلته الجديدة!). اللعبة الأولى كانت قريش على الحاسب الشخصي في 2007. أما في 2015 فتأتي عبر السدم بنمط مختلف تماماً عن قريش. قريش لعبة استراتيجية على غرار Age of Empires، بينما عبر السدم لعبة تصويب في الفضاء تعمل على عدة منصات (بليستيشن 3 و 4 وإكس بوكس 1 والحاسب الشخصي)، وقد استغرق تطويرها ما يزيد قليلاً عن السنة والنصف بفريق من شخصين ومعونة موسيقية.

 

بالنسبة لي فإن عبر السدم مرحلة كبيرة استطعنا تجاوزها، وتتضمن:

 

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

 

غلاف هايبر فويد

 

وأودّ في الجزء المتبقي من هذه التدوينة أن أتحدث قليلاً عن تجربتي مع المنصات المختلفة التي مررت بها في عبر السدم.

 

الحاسب الشخصي

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

بلايستيشن 3

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

بلايستيشن 4

هو الأسهل والأكثر سلاسة بين كافة المنصات. هذه المرة تداركت سوني الوضع وجعلت أدوات تطوير بلايستيشن 4 جزءاً من الحزمة التقليدية. إلا أنها أيضاً تضيف عليها طيفاً واسعاً من الأدوات المتقدمة لمعاينة الأداء وتصحيح الأخطاء. كما أن تشغيل اللعبة في وضع تقصي الأخطاء (debugging) على عدة التطوير سرييييييع جداً وكأنك تشغلها على الحاسب الشخصي، بعكس البلايستيشن 3 حيث كنت تحتاج للانتظار حوالي 15 إلى 20 ثانية عند بدء كل جلسة. في المحصلة، العمل على عدة تطوير بلايستيشن 4 كان قمة بالمتعة والسلاسة. بالنسبة لعبر السدم فقد نجحت باختبارات جودة سوني من الجولة الأولى، وهذا يعود بفضل (احم احم) التزامي بعدم ترك أية أخطاء في أية لحظة أثناء فترة التطوير، لكنه أيضاً بسبب جهود سوني لتبسيط المتطلبات على هذا الجهاز رغم تقدم إمكانياته…

إكس بوكس 1

كما لكم أن تتوقعوا، بالنسبة لمايكروسوفت فإن أدوات تطوير إكس بوكس 1 تنضوي بشكل طبيعي تحت عباءة فيجوال ستوديو وتقدم عدة تطوير شبه مطابقة لويندوز. لكني من ذلك الجيل القديم الذي يتعامل مع عدة التطوير لإصدار ويندوز 95 (الـ HWND و WndProc ومشتقاتها)، لكن الإكس بوكس 1 يتبع النمط الجديد الذي جاء مع ويندوز 8 وهو نفسه المتبع مع تطبيقات ويندوز فون الحديثة… المشكلة أن العبد الفقير لم يكتب حتى الآن أي تطبيق لويندوز فون أو ويندوز 8، وبالتالي أجد عملية التطوير لإكس بوكس 1 غريبة وب��ا خطوات جديدة ومتطلبات لم أعتد عليها من قبل (مثلاً الـ AppManifest)، لكن سرعان ما تعتاد عليها وتدرك فائدتها بعد بعض المعاناة. وبالمجمل، لن تحس بالغربة أبداً مع أي من منصات مايكروسوفت. لذلك، عملية دعم عبر السدم على إكس بوكس 1 كانت سلسة للغاية ومفيدة لتطوير بعض أجزاء المحرك لتتعامل مع واجهة WinRT، كما أنها كانت الأسرع بين بقية المنصات الأخرى.

 

 

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

 

أستودعكم الله! 😊

أضف تعليقاً

Loading