أظهر نشر رمز VVVVVV مدى وقاحة الألعاب في الداخل

صورة

في الأسبوع الماضي ، احتفل مبتكر Dicey Dungeons Terry Cavana بالذكرى العاشرة للعبته الطويلة VVVVVV ، من خلال نشر شفرة المصدر [ الترجمة على Habré]. شرح ببساطة ، إنه يعني أنه يمكن لأي شخص الآن معرفة كيفية إنشاء اللعبة ، لأنه يمكن دراسة كل سطر من التعليمات البرمجية بعناية.

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

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


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

كتب المطور جيمس باتون في مناقشة لرمز اللعبة على تويتر: " تم إطلاق كل لعبة عملت عليها في اللحظة التي كانت فيها الروث والعصي التي أبقت المبنى بأكمله مدمرين على شفا كارثة".

تقريبا كل مطور تحدثت إليه يقول نفس الشيء.

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

في حالة VVVVVV ، نتجت مناقشة مستفيضة عن جزء منفصل من الكود المصدري ، الذي له بنية فوضوية للغاية. في الواقع ، فهي تساعد في تحديد حالة اللعبة: على سبيل المثال ، في cutscene أو جزء من الحوار. في الوضع الطبيعي ، يتم تجميع العديد من هذه الحالات بشكل منفصل - يتم كتابة رمز الألعاب المصغرة بشكل منفصل عن آليات القفز - على سبيل المثال ، ولكن ليس في حالة هذه اللعبة. على سبيل المثال ، في Cavan code ، تنتشر حالات الألعاب المرتبطة بالشاشات في أجزاء مختلفة من البرنامج وتختلط بعناصر مثل أوضاع اللعبة والقائمة الرئيسية.


اليوم ، انتقلت لعبة فيديو VVVVVV إلى #OpenSource واكتشف شخص ما إنشاء عدة مئات من المفاتيح في التعليمات البرمجية. # برمجة هذا جميل ومثير للاشمئزاز.

قام Zack Gage ، الذي كان يعمل على ألعاب محمولة مثل Pocket-Run Pool و Really Bad Chess ، بتفكيك تصميم المحول الشهير هذا ، قائلاً: "هذا مثال رائع على ما لم يعرفه تيري على الأرجح عندما بدأ في كتابة اللعبة "كم عدد القطع التي ستحتوي عليها ، وكيف ستعمل القائمة الرئيسية ، وعدد الحالات الغريبة المحتملة المحتملة للأنماط الغريبة."

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

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

إن Gage قريب جدًا من طريقة التفكير هذه - أخبرنا أن النظر إلى الوراء في تطور لعبة Ridiculous Fishing ، "حرفيًا لا يفهم كيف يدير الكود العمل ، لأنه مكتوب بشكل سيء للغاية." حتى أعضاء الفريق الآخرون لا يفهمون تمامًا كيف تعمل لعبتهم.

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

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

ولكن على الرغم من كل الرعب الذي تسببت به لعبة VVVVVV على الشبكات الاجتماعية ، فإن Cavana لا يبدو أنه يفقد إحساسه بروح الدعابة والنكات حول كل شيء.


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

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



كيف يمكن لمطوري اللعبة حل المشكلات باستخدام الاختراقات السريعة يمكن العثور عليها في سلسلة الترجمات "الحيل القذرة في كود لعبة الفيديو":

الحيل القذرة في رمز اللعبة

للمطورين حول الحيل البرمجيات الأكثر قذرة في الألعاب

الأعمال المثيرة القذرة وذاكرة الوصول العشوائي

الحيل القذرة لعبة فيديو المطور

Source: https://habr.com/ru/post/ar483874/


All Articles