عوالم منسية: كيسي موراتوري

بواسطة Abdulrahman

تطوير البرمجيات بمستوى عالي من الجودة أمر متشعب وصعب، بهندسة البرمجيات نقول عن “جودة” البرمجيات بأنها المظلة التي يستظل تحتها كل شيء يخطر ببالك عن المنتج البرمجي من جودة جمع المتطلبات، تصميم النظام، التطبيق البرمجي، الاختبار والصيانة والتي تعتبر أمر شبه حتمي ومستمر للكثير من المنتجات.

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

 

 

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

 

مجال تطوير الألعاب ليس كمجال تطبيقات المواقع أو الهواتف فيما يخص العلوم المستخدمة، من الممكن أن تصبح مطور تطبيقات هواتف أو مواقع ممتاز من غير الحاجة للعلوم الرياضية(اعتمادا على انعدام الحاجة الرياضية الخاصة بالتطبيق)، في حين أن الألعاب ستحتاج خبرة في الجبر(Algebra)، علم الهندسة(Geometry)، علم المثلثات(Trigonometry)، وأمور تتعلق بالجاذبية بالألعاب يغطيها التفاضل والتكامل (Calculas)، الجبر الخطي (Linear Algebra)، المعادلات التفاضلية الجزئية وغيرها بالطبع. أيضا الأداء بالألعاب محوري، أي نعم بأنه محوري بمجالات أخرى لكن بالألعاب يعتبر من المسلمات في حين أن مجالات برمجية مختلفة قد تضحي بشيء منه في سبيل خواص أخرى كالأمان وغيرها.

 

 

 

هذا الجزء الأول من المقالة، الجزء الآخر هو تسليط الضوء على “كيسي موراتوري Casey Muratori ” أحد الباحثين والمختصين بتطوير محركات الألعاب، سبق وأن عمل على مشاريع مشهورة بعالم الألعاب كأداة لتطوير الرسوم المتحركة للشخصيات تدعى Granny 3D تم استخدامها من قبل ألآف الألعاب من بينها ألعاب ” Gears of War” و “Destiney” ، عمل أيضا على مشروع مختص ببعض الفورمات الخاصة بالفيديو يدعى Bink 2، أيضا عمل على تطوير لعبة The Witness والتي لعلها تكون موضوع آخر مثير للإهتمام لاحقا مع مطورها الرئيسي “جوناثن بلو”.

 

 

 

في عام ٢٠١٤ قرر كيسي بناء لعبة كاملة باسم Handmade hero من الصفر من دون الاستعانة بأي محرك أو أي مكتبة، وتم بناء المشروع حتى هذه اللحظة من خلال تطوير محرك جديد بلغة ++c واللعبة بشكل عام بهذه اللغة(وهذا الشائع)، الجميل بالأمر بأن مراحل تطوير اللعبة منذ أول دقيقة حتى هذه اللحظة تم تسجيلها وبثها عبر قناة باليوتيوب وأيضا عبر بث مباشر من خلال تويتش، كل سطر برمجي تم شرحه بتفصيل، كل خطوة تم توثيقها من خلال مئات الساعات التي تم تسجيلها بقناة المشروع على اليوتيوب، شرح تفصيلي من شخص يملك سنين طويلة جدا من الخبرة البرمجية.

 

 

 

 

 

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

 

 

روابط ذات صلة:

شاركنا تعليقك