هذا المقال عبارة عن ترجمة لفصل كتاب Game Engine Black Book: DOOM ، وهو تحليل مفصل للهيكل الداخلي لإحدى أكثر ألعاب الألعاب إثارة في العالم. يتحدث هذا الفصل عن العملية المعقدة المتمثلة في نقل DOOM
إلى Super Nintendo والدور الرئيسي الذي لعبه مطور Star Fox
لأرجونوت غيمز.كتب المؤلف والمبرمج فابيان سانغلار ، ويمكن الآن شراء النص الكامل في شكل ورقي ورقمي .تم إصدار نظام Super Nintendo Entertainment System في اليابان عام 1990 ، وفي العام التالي ظهر في الولايات المتحدة وأوروبا.
أصبحت سليل 16 بت من NES 8 بت. في اليابان ، حققت شركة Super Famicom (FAMIly COMputer) نجاحًا فوريًا ، وتم بيع الدفعة الأولية بالكامل التي تبلغ 300 ألف جهاز في غضون ساعات. كان الإثارة قوية لدرجة أن الحكومة طلبت من نينتندو في المستقبل الإفراج عن لوحات المفاتيح الخاصة بهم في عطلة نهاية الأسبوع من أجل تجنب الاضطرابات.
لضمان وحدة ألعاب عالية الجودة ، قامت Nintendo بإنشاء نظام تحكم لا يرحم. كان للناشرين الحق في إطلاق خمس مباريات فقط في السنة. لتطبيق هذه القاعدة ، تحتفظ Nintendo بالحق في تصنيع الخراطيش لنفسها فقط ؛ تم إجبار الناشرين على شرائها من نينتندو. لكي يتمكن الجميع من اللعب وفقًا للقواعد (وأيضًا لحماية الألعاب من النسخ) ، قبل بدء اللعبة ، تحقق وحدة التحكم في SNES من وجود شريحة CIC. لقد كانت آلية دفاع قوية كانت قادرة فقط على التصدع في نهاية عمر SNES.
على مدار الأعوام التسعة الأولى من عمر وحدة التحكم ، تم إصدار 721 لعبة ، ومن بينها عدد من الفعاليات مثل
Super Mario World و
Zelda III [
The Legend of Zelda: A Link to the Past ]
وماريو Kart و
F-Zero و
Super Metroid و
Donkey Kong البلد . تم بيع ما يقرب من 50 مليون وحدة تحكم على مدار الوقت بالكامل ، لذلك تعتبر SNES واحدة من أكثر لوحات المفاتيح شعبية في التاريخ ، سواء من حيث حجم المبيعات أو كتالوج الألعاب.
SNES متفوقة تقنيا في مجال الرسومات ثنائية الأبعاد. يحتوي معالج 65C816 من 16 بت بتردد 3.58 ميغاهرتز على 128 كيلوبايت من ذاكرة الوصول العشوائي. لقد كان يتحكم في وحدة معالجة الصورة (PPU) (وحدة معالجة الصور) التي تبلغ سعتها 64 كيلوبايت من ذاكرة الوصول العشوائي ، والتي تعاملت مع معالجة العفريت الكبيرة ويمكن أن تدعم ما يصل إلى 256 لونًا بدقة 256 × 240. يتألف نظام الصوت في وحدة التحكم من مجموعة قوية من معالج Sony SPC700 ذي 8 بت ومعالج إشارة رقمي 16 بت مزود بذاكرة وصول عشوائي (RAM) مخصصة تبلغ 64 كيلو بايت.
على الرغم من المحرك المثير للإعجاب لمعالجة العفاريت ثنائية الأبعاد وخاصة وظيفة Mode 7 ، إلا أن الآلة تفتقر إلى القوة اللازمة لعمليات مكلفة حسابيًا مثل الحوسبة ثلاثية الأبعاد. أدركت Nintendo بوضوح أن 3D سيكون المرحلة المهمة التالية في تطوير الألعاب ، لكنها لم تكن لديها القدرة على تنفيذه. بناءً على إرادة القدر ، وجدت شركة بريطانية صغيرة حلاً لهذه المشكلة.
ألعاب الأرغونوت
في عام 1982 ، طورت Jez San ألعابًا بمفردها مصممة حصريًا لأجهزة الكمبيوتر C64 و Atari ST و Amiga. كان بحاجة إلى شركة لبيع إبداعاته. رؤية أوجه التشابه بين اسمه (J. سان) وجايسون (جايسون) من أسطورة Argonauts ، أطلق عليه اسم Argonaut Games plc.
لم تبقى الشركة فرقة فردية لفترة طويلة. بحلول عام 1990 ، كان قد جمع أشخاص موهوبين في مكتب الشركة في لندن ، وأصبح مهتمًا بوحدة التحكم المحمولة Nintendo Game Boy ، التي تم إصدارها في عام 1989. تمكن الفريق من جعل مآثر شبه مستحيلة على ما يبدو: قاموا بإنشاء محرك ثلاثي الأبعاد باستخدام السلكي وكسروا دفاع CIC لتثبيته على Game Boy.
"انخفض شعار Nintendo من أعلى الشاشة ، وعندما وصل إلى المنتصف ، فحص أداة تحميل التشغيل لمعرفة ما إذا كان الشعار في المكان المناسب أم لا.
تم إطلاق اللعبة فقط إذا كانت هذه الكلمة في المكان الصحيح من ROM. إذا أراد شخص ما إنشاء لعبة دون الحصول على إذن من Nintendo ، فسيتعين عليه استخدام كلمة Nintendo دون ترخيص ؛ لذلك ، يمكن أن نينتندو رفع دعوى قضائية العلامات التجارية. لقد اكتشفنا أنه كان مجرد مقاوم ومكثف - أجزاء تكلف نحو سنت - وتوصلنا إلى كيفية خداع الحماية. يقرأ النظام كلمة Nintendo مرتين - أولاً لعرضها على الشاشة أثناء عملية التمهيد ، للمرة الثانية - للتحقق من صحتها قبل بدء اللعبة من الخرطوشة. لقد كان خطأً فادحًا - في المرة الأولى التي تقرأ فيها وحدة التحكم كلمة Nintendo ، جعلناها تعيد Argonaut حتى تنخفض إلى أعلى الشاشة. في الاختبار الثاني ، طبقنا القدرة على المقاوم والمكثف بحيث كانت الكلمة الصحيحة هي نينتندو ، وتم تحميل اللعبة دون أي مشاكل "- Jez San ، من مقابلة مع Eurogamer تم تسجيلها في عام 2014.
في معرض CES '90 ، جعله محركه التجريبي من كشك Nintendo كل الطريق إلى مكتب الشركة في كيوتو. لم يعلم جيز عن ذلك ، لكنه اختار الوقت المثالي. في ذلك الوقت فقط ، كانت نينتندو تعمل في اليابان على ألعاب Super Famicom ، والتي كان من المفترض أن تُظهر وقت إصدار وحدة التحكم تفوقها التكنولوجي.
كان Super Mario World في بدايته ، ولكن جهاز محاكاة الطيران
Pilotwings كان بالفعل لعبة أكثر تعقيدًا.
لمحاكاة التضاريس ، استخدم
Pilotwings وضع Mode 7 لجهاز PPU (قادر على إجراء تحويلات متقاربة مثل التدوير ، وتوسيع ، وتقطيع الصورة إلى أجزاء) ، وكذلك وضع HDMA. ومع ذلك ، لا تزال الطائرة نفسها هي العفاريت المرسومة باليد ثنائية الأبعاد. هذا أزعج منتج اللعبة ، Shigeru Miyamoto ، لأنه لم يسمح للكاميرا بالتناوب بسلاسة حول الطائرة (كانت العفاريت المقطوعة إلى قطع غير متساوية).
في ذلك الوقت ، لم يكن نينتندو يحب العمل مع شركات خارجية ، وحتى أكثر من ذلك مع الأجانب. لكن هذه المرة ، استثنوا ودعوا Jeza إلى مكتبهم الرئيسي في كيوتو مع Dylan Cuthbert ، الذي عمل في المحرك ثلاثي الأبعاد.
التقى الشباب (جيسو 23 عامًا ، ديلان 18 عامًا) مع جميع نواب رئيس نينتندو: مياموتو ، جامبي يوكوي ، تاكيهيرو إيزوشي ، ياسوهيرو ميناجاوا وجينو تاكيدا. لقد تم عرض كل شيء من السر SNES إلى
ماريو و
Pilotwings السري . ثم سُئلوا عما إذا كان من الممكن إيجاد طريقة لجعل الطائرات ككائنات مضلعة حقيقية.
"أخبرتهم أن هذا هو أفضل ما يمكنهم تحقيقه ، إلا إذا سمحوا لي بتصميم المعدات حتى تصبح SNES أفضل في ثلاثي الأبعاد. والمثير للدهشة أنه على الرغم من أنني لم أقم بتجهيز أي معدات من قبل ، إلا أنهم قالوا "نعم" وأعطوني مليون دولار لأبيعها. " - jes san
وعدهم Jez بجرأة بزيادة "عشرة أضعاف" في الإنتاجية ، لذلك قبلت Nintendo بكل سرور اقتراح تطوير معدات خاصة للعبة.
سيتعين إصدار Pilotwings بواسطة طائرات sprite للقبض على Super Famicom ، ولكن سيتم استخدام الشريحة ، التي سميت فيما بعد Super FX ، لمشروع آخر من نينتندو.
كان يطلق عليه
ستار فوكس .
نجم الثعلب
وفقًا للاتفاقية ، كان لـ Nintendo الحق في جميع القرارات المتعلقة بتصميم اللعبة ، كما مولت ألعاب Argonaut لإنتاج ليس فقط المعدات ، ولكن أيضًا محرك ثلاثي الأبعاد للعبة. بدأ Jez-San على الفور في توظيف متخصصين بريطانيين كان يعرفهم.
لتطوير المعدات ، وقع اتفاقية مع Flare Technology (نفس الأشخاص الذين كانوا يقومون بتصميم Atari Jaguar). تم تسمية مشروع بن تشيز ، روب ماكولاي ، وجيمس هاكفيل باسم رياضيات الأرجونوت دوران / إدخال أو ماريو. ونتيجة لذلك ، تبين أن الجهاز الذي قاموا بإنشائه قوي للغاية لدرجة أنهم أطلقوا على المزاح Super NES "مربع لتركيب الرقاقة الخاصة بنا". نظرًا لأنه كان من المستحيل ترقية وحدة التحكم ، تم لحام الشريحة في كل خرطوشة ألعاب جديدة ، مما أدى إلى زيادة كبيرة في سعر التجزئة.
"لقد طورنا رقاقة Super FX بطريقة لم يسبق لنا أن صممنا بها المعدات - أولاً أنشأنا البرنامج ومجموعة التعليمات الخاصة بنا لتحسين البرنامج. لا أحد فعل ذلك! بدلاً من إنشاء شريحة ثلاثية الأبعاد ، قمنا بشكل أساسي بتطوير معالج دقيق RISC يعمل بكامل طاقته ، وكان له وظائف رياضية ووظائف عرض البكسل ، بينما تم التعامل مع الباقي بواسطة برنامج. كانت أول وحدة لمعالجة الفيديو في العالم (وحدة معالجة الرسومات) ، ولدينا براءات اختراع تثبت ذلك ". - Jez Sun
عمل كارل غراهام وبيت وارنز في المحرك في مكتب الشركة في لندن ، بينما انتقل ديلان كوثبرت وكريستر وامبل وجايلز جودارد (ثم كولين ريد) إلى مكاتب نينتندو في كيوتو وعملوا عن كثب مع فريق مياموتو.
توج المشروع بنجاح تجاري وتكنولوجي. تم إصدار
Star Fox في 21 فبراير 1993 وباع أربعة ملايين نسخة.
مزيد من تاريخ العلاقة بين الشركتين أمر محزن. تم الانتهاء من تكملة إصدار Megahit
Star Fox 2 من قبل Argonauts وجاهزة للإصدار في عام 1996 ، ولكن Nintendo قاطعت المشروع فجأة ، خوفًا من تأثيره على إصدار Nintendo 64. لم يعجب Argonaut بهذا ، وتدهورت العلاقة مع Nintendo. في وقت لاحق ، جذبت نينتندو جودارد وومبيلا له. يمكن أن ينضم إليهم ديلان كوثبيرت ، لكن تم منعه من ذلك من خلال شرط اتفاقية حظر المنافسة. لقد استقال من Argonaut ، وهو يعمل في Sony ، ومن المقرر أن يعمل على PlayStation.
انتهى "طلاق" الشركتين عندما لم تسمح نينتندو لأرجونوت باستخدام شخصية يوشي في لعبة المنصة التي خططت الشركة لإصدارها على PS1. نتيجة لذلك ، استبدلوا Yoshi بتماسيح ودعا اللعبة
Croc: Legend of the Gobbos . أصدرت نينتندو في وقت لاحق لعبة
ماريو 64 ، التي تشبه ميكانيكاها بشكل
مثير للريبة
كروك ... وفازت بالسوق لمدة عام تقريبًا.
تتميز رقاقة MARIO بتصميم بسيط يعتمد على معالج RISC ذي 16 بت بتردد 10.74 ميجاهرتز وذاكرة تخزين مؤقت i 512 بايت. كان لديه مجموعة من التعليمات الخاصة به ، والتي تم تحسينها لإجراء العمليات الحسابية الرياضية ، ومخزن الإطار الخاص به ، والذي تم تحسينه لوضع وحدات البكسل. كانت مهمته هي تقديم مخزن مؤقت للإطار ، تم نقل البيانات منه بشكل دوري إلى ذاكرة الوصول العشوائي (SNES) باستخدام DMA. يمكن أن يعرض ما يصل إلى 76،458 مضلعًا في الثانية ، مما يوفر
Star Fox بمعدل 15 إطارًا في الثانية.
بعد أن شهدت نجاح
Star Fox الهائل ، أصبحت استوديوهات أخرى مهتمة بتقنياتها. تم إصدار نسخة جديدة من الشريحة تسمى GSU ، قادرة على العمل على تردد 21.4 ميغاهيرتز. تم استخدام الجيل الأول من GSU في أربع مباريات:
Dirt Racer و
Dirt Trax FX و
Stunt Race FX و
Vortex .
كان للجيل الثاني (GSU-2) نفس المعالج بتردد قدره 21.4 ميغاهرتز واتصالات إضافية ملحومة بالناقل لزيادة حجم ذاكرة الوصول العشوائي (ROM) والإطار المؤقت المدعومين. تم استخدامه في ثلاث مباريات:
DOOM ،
Super Mario World 2: جزيرة Yoshi و
Winter Gold .
إذا قمت بفتح خرطوشة DOOM ، يمكنك رؤية جميع المكونات المذكورة أعلاه:
[1] 16 بت GSU-2 ،
[2] مخزن مؤقت للإطار 512 كيلو بايت تمت كتابة GSU عليه ،
[3] ذاكرة وصول عشوائي سعة 2 ميجابايت ، تم تخزين الكود والموارد فيه ،
[4] وحدة من ستة محولات و
[5] ] رقاقة CIC لحماية النسخ.
"كان نمو الإنتاجية بعشرة أضعاف من جهتي مجرد مبالغة كبيرة. لم نكن نعرف ما إذا كان هذا ممكنًا بالفعل. لكن هذا سمح لنا بالمبالغة ، وفي الوقت نفسه تجاوز الوعود. بدلاً من زيادة بمقدار عشرة أضعاف في الأداء ثلاثي الأبعاد ، قمنا بالفعل بزيادة هذا الرقم بمقدار 40 مرة. في بعض المناطق ، مثل الحوسبة ثلاثية الأبعاد الرياضية ، كان النمو أكثر من مائة ضعف. لا يمكن للرقاقة إجراء العمليات الحسابية ثلاثية الأبعاد فقط والعمل مع رسومات المتجهات ، ولكن أيضًا توفير التناوب وتوسيع نطاق العفاريت ، وكانت هذه الوظيفة مطلوبة للغاية في ألعاب Nintendo ، على سبيل المثال ، Super Mario World 2: Yoshi's Island. " - jes san
حقيقة مثيرة للاهتمام: تمكن بعض المعجبين من جمع كل الألعاب (721 اسمًا) من كتالوج SNES. عادة ، يمكن رؤية خرطوشة
DOOM من بعيد. تم السماح بثلاث ألعاب فقط في علبة رمادية غير قياسية. اثنان كانا أحمر -
DOOM و
Maximum Carnage ، و
Killer Instinct كان أسود.
الموت على سوبر نينتندو
جاء
DOOM على SNES بفضل عبقرية وتصميم شخص واحد: راندي ليندن. لقد أحب هذه اللعبة وقرر نقلها إلى وحدة التحكم الشائعة حتى يتمكن عدد أكبر من اللاعبين من الاستمتاع بها. لم يتمكن Randy من الوصول إلى التعليمات البرمجية المصدر ، ولا إلى موارد إصدارات اللعبة للكمبيوتر أو وحدة التحكم. كان عليه أن يبدأ من الصفر.
للحصول على الموارد ، يمكنه استخدام "مواصفات
الموت غير الرسمية" التي كتبها ماثيو فيل. ووصف بالتفصيل هيكل ملفات .wad. العفاريت ، والقوام ، والموسيقى ، والمؤثرات الصوتية والخرائط راندي المستخرجة من DOOM.WAD. مع المحرك ، كانت القصة مختلفة تماما.
"كانت DOOM لعبة ثورية حقًا ، وأردت أن يقوم الأشخاص الذين لا يمتلكون كمبيوتر شخصي بلعبها . كانت DOOM على SNES من أفضل البرامج التي يمكن إنجازها.
لقد بدأت المشروع بمفردي وأنشأت نموذجًا وظيفيًا بالكامل ، وأظهرت العرض التوضيحي الخاص به في البرامج المنحوتة. ساعدتني مجموعة من الموظفين المنحوتين على إكمال اللعبة حتى يمكن إصدارها في الوقت المحدد لقضاء الإجازات.
كانت عملية التطوير معقدة لعدة أسباب ، والسبب الرئيسي في ذلك الوقت لم تكن هناك أنظمة تطوير لشريحة SuperFX. قبل بدء اللعبة نفسها ، كتبت مجموعة كاملة من الأدوات - المجمع ، رابط ، مصحح الأخطاء.
تتألف مجموعة تطوير الأجهزة من خرطوشة Star Fox التي تم اختراقها (لأنها تحتوي على رقاقة SuperFX) وزوج من وحدات التحكم في اللعبة المعدلة المتصلة بكل من موصلات SNES ومتصلة بمنفذ Amiga الموازي. لتنزيل الكود وتعيين نقاط التوقف وفحص الذاكرة عند نقل البيانات بين جهازين ، تم استخدام بروتوكول تسلسلي.
أرغب في الحصول على المزيد من المستويات في اللعبة ، لكن لسوء الحظ ، احتلت اللعبة أكثر ذاكرة الوصول العشوائي المتاحة وفرة واحتلتها بالكامل تقريبًا. أذكر بشكل غامض أن حوالي 16 بايت كانت حرة ، أي أنه لم يعد هناك مساحة متبقية! ومع ذلك ، تمكنت من استيعاب دعم Super Scope ، الماوس ومودم XBand! نعم ، يمكنك حتى اللعب مع شخص ما عبر الإنترنت! "- راندي ليندن في مقابلة مع Gaming Reinvented
في هذا الإصدار ، تجدر الإشارة إلى كيف كان على راندي أن "يقطع الزوايا" مع مراعاة إمكانيات وقيود محرك الميناء.
في الشكل 6.8 ، يمكن ملاحظة أنه على الرغم من 600 كيلوبايت فقط من ذاكرة الوصول العشوائي ، فقد بقي الطابق الأزرق (وإن كان من نفس اللون). لاحظ أن الشكل الهندسي لم يتغير (لا بد أنه كان من الصعب للغاية تحقيق ذلك ، لأن راندي لم يكن لديه DoomED ولا doombsp) ، وفي E1M1 ، تم الحفاظ على جميع الخطوات من الأصل.
كان محرك Reality ، كما أسماه راندي ، قادرًا على العمل مع هندسة البطاقات من جهاز كمبيوتر شخصي ، لكنه على الأرجح واجه مشاكل مع سرعة ملء وملمس أخذ العينات ، لأن أنسجة السقف والأرض غائبة تمامًا.
توضح لقطة الشاشة أعلاه أن النافذة لا تُعرض بالفعل في وضع ملء الشاشة. هذه المشكلة لا تتعلق فقط بـ
DOOM -
Star Fox و
Star Fox 2 وجميع الألعاب مع Super FX كان عليها تقليل حجم مساحة العمل. على الأرجح ، كان هذا بسبب معدل نقل SNES المحدود ، والذي لم يسمح بنقل DMA للتجربة بملء الشاشة.
من بين 256 × 216 بكسل من الدقة "الأصلية" لوحدة التحكم ، يمكن رسم 216 × 176 فقط ، وتم استخدام 216 ×144 فقط للثلاثي الأبعاد (تم رسم شريط الحالة على 32 سطرًا). تم تكرار الخطوط الرأسية ، أي أن محرك Reality Engine كان قادرًا على تقديمها بدقة 108 × 144 فقط. وحتى مع وجود مثل هذه الدقة المنخفضة ، كان متوسط معدل الإطارات هو 10 إطارًا في الثانية ، وهذا إنجاز كبير. معدل الإطارات "المنخفض" لم يردع اللاعبين عن لعب
DOOM . وفقًا لراندي ليندن ، بيعت الخراطيش جيدًا.
قائمة الميزات المتبرع بها من أجل ذاكرة الوصول العشوائي الثمينة شملت دقة العفريت ، والتي كان لا بد من تخفيضها بشكل كبير في بعض الأحيان كان من الصعب تفكيكها (على عكس سلاح اللاعب ، والذي تم تقديمه بدقة أعلى). اضطررت إلى إزالة جميع أشكال الأعداء ، باستثناء العفاريت التي تنظر إلى المشغل ، والتخلص من معارك الوحوش مع بعضهم البعض ، ونشر الصوت (تم إيقاظ الوحوش فقط عن طريق الاتصال البصري) ، وقطع معظم المؤثرات الصوتية (جميع الوحوش بدت وكأنها عفريت).
حقيقة مثيرة للاهتمام: حظرت نينتندو في البداية استخدام الدم في الألعاب على SNES. بحلول الوقت الذي تم إصدار
DOOM فيه ، ظهر إجراء تصنيف ESRB على الساحة. بالنظر إلى كمية الدم واللحوم ، فليس من المستغرب أن
تحصل DOOM على SNES على تصنيف M ("من 17 عامًا").
النص الكامل لـ Game Engine Black Book: DOOM
متاح على موقع Fabien Sanglar.