وسام البهنسي

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

ثوم وبصل وأمور أخرى لم تعد مهمة

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

فقط انظر يا سيدي الكريم إلى توزيع أرباح صناعة الألعاب في العالم هذا اليوم.. 50% يحتله سوق الموبايلات، و 40% مشتركة بين ليج أوف ليجيندس والكود. تبقى 10% لكافة الألعاب المتبقية.. كبيرها وصغيرها. إذن نحن نتحدث عما لا يزيد عن 1% ربما موزعة على كل الألعاب المستقلة، حيث الغلبة للكثرة.. الكثرة التي تغرق اللاعب بمئات الألعاب يومياً مما يفقده أي تقدير لتلك الألعاب. والمطور الناجح اليوم هو من يتمكن من جعل لعبته تنتشر "فيروسياً" بين أوساط الناس.. وليكن ذلك بأية وسيلة كانت بغض النظر عن المتعة أو أية قيمة فكرية. وقد كانت الحواجز المالية الملازمة لطباعة الألعاب وتعليبها وتوزيعها في المحلات تقف بالمرصاد لمحاولات التطوير الهزلية، لكن الزمن يتغير والمتاجر الإلكترونية جاءت لتقضي تدريجياً على مبيع الألعاب الملموسة. ويزيد الطين بلة استغلال هذه الظاهرة من قبل مطوري محركات الألعاب وتوجيه محركاتهم لتخفض الحواجز التقنية أكثر وأكثر أمام المستخدم البسيط. وطبعاً على الطريقة الأمريكية يجب أن يأتي أحدهم ويرمي مصطلحاً متعجرفاً ليسوق به هذا التوجه ويجعل منه رسالة سامية، وليكن هذا المصطلح هو شعبوية تطوير الألعاب (democratization)، وهو مصطلح لم أفلح البتة بإتقان لفظه.

والنتيجة؟ أصبحت برمجة الألعاب الأصلية (native programming) فناً منسياً لا يعرف أسراره سوى ثلة صغيرة من الأشخاص الذين يتخذون أماكنهم في شركات إنتاج الألعاب الكبيرة أو شركات تطوير المحركات المعدودة. أما مبرمج الألعاب بمعايير اليوم فإنه يطرح لعبته على 900 منصة دون أن يعرف أية تفاصيل عنها، ثم يستغرب إن لم تعمل لعبته بسرعة على بعض هذه المنصات. يطرح لعبته على ال PS4 أو ال XBoxOne وهو لا يعرف إن كان من الأفضل وضع تلك الكتلة من الذاكرة على ناقل البصل (onion) أم ناقل الثوم (garlic) للحصول على أفضل أداء(*). إذا كنا نسمي هؤلاء مبرمجين، فلا أعرف صراحة ماذا نسمي أمثال توم فورسايث وبروس داوسون ممن يستطيعون برمجة لعبة من تعليمة أسمبلي وحتى آخر سطر كود في المشروع. ربما سيذكرهم التاريخ بعد بضعة سنوات كأناس جاؤوا من أطلانطس!

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

تسألني لم كل هذا الكلام السلبي والمتشائم؟ قلت لك أني كبرت!

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

لست معجباً أبداً...

 

(*) ناقل البصل وناقل الثوم هما اسمان رمزيان يطلقان على نواقل الذاكرة الموجودة في معمارية جهازي الإكس بوكس 1 والبليستيشن 4، حيث يختص ناقل الثوم بسرعة القراءة العالية من جهة معالج الرسوميات، بينما يعمل ناقل البصل بسرعة ممتازة للقراءة والكتابة من المعالج المركزي.

التعليقات (1) -

  • mohammad

    23/11/2017 06:27:14 م | الرد

    احترامنا سيد وسام، عندي ملاحظة صغيرة عن التدوينة لو سمحت...
    وانت عم تنتقد محركات الألعاب بانها السبب بمشاكل التسويق ما عليه اي جدال وانها سمحت لكل من هب ودب يشتغل تطوير العاب صحيح تماما.. بس كلامك مفهوم منو انو محركات الألعاب صارت ادوات للناس الي بتدعي انها مبرمجين مو منطقي ابدا.. طبعا في ناس جديدة عالمجال عم تستخدم محركات الألعاب بس كل مطور العاب بغض النظر عن خبرته بيستخدم محرك العاب كمان...
    هاد الحكي مثلا:  "إذا كنا نسمي هؤلاء مبرمجين، فلا أعرف صراحة ماذا نسمي أمثال توم فورسايث وبروس داوسون ممن يستطيعون برمجة لعبة من تعليمة أسمبلي وحتى آخر سطر كود في المشروع. ربما سيذكرهم التاريخ بعد بضعة سنوات كأناس جاؤوا من أطلانطس!"
    فيه تغييب لمفهومين ال abstraction و don't reinvent the wheel.. طبعا يلي بيستخدم محرك الألعاب "بشكل صحيح" بكون مبرمج (عم نحكي هون عن المحركات القابلة للبرمجة او عالأقل لل scripting مو مثل game maker طبعا)... بس بكون مبرمج ألعاب متلو متل مبرمج التطبيقات يلي بيستخم جافا او .net ليعمل تطبيقات crossplatform.. التنين عم يستفيدو من أدوات موجودة صممها مبرمجين النظم system programmers... فهل صحيح انو نقول انو المبرمج الي ما بيكتب برنامجو بال assembly هو مو مبرمج! حضرتك ما استخدمت محرك ألعاب لتطوير hyper void!؟
    حتى DirectX الهدف من وجودها هو ان يستخدمها المبرمج لحتى ما يفوت بقصص الهاردوير وتصاميم المعالجات.. البرمجة عم تتطور ومع هادا التطور عم تكتر الاختصاصات..
    أرجو منك الرد لأن رأيك بالموضوع جدا مهم بالنسبة الي...

أضف تعليقاً

Loading