قصص حول محرك SCUMM

الصورة

يمكن اعتبار SCUMM ببساطة "أحد" محركات ألعاب الفيديو ، ولكن هذا المحرك يتسبب في الكثير من المشاعر مثل الألعاب التي تتم على أساسها.

بالحديث عن العصر الذهبي لمغامرة LucasArts ، لا يمكنك تجاهل محرك SCUMM ، "Script Creation Utility for Maniac Mansion" ("أداة إنشاء البرنامج النصي لـ Maniac Mansion") ، والتي تم استخدامها في أكثر الألعاب التي يتم تذكرها في جميع الأوقات ، مثل Full Throttle ، Day of the Tentacle ، وصل Sam & Max إلى الطريق ، وبالطبع قصر Maniac .

تم كتابة SCUMM بواسطة Aric Wilmunder مع مصمم الألعاب الشهير Ron Gilbert ، مما يوفر الفرصة لإنشاء هذه الألعاب. اتصل Wilmunder والصحفي Mike Bevan مؤخرًا ببعضهما البعض عبر البريد الإلكتروني وناقشا SCUMM والقصص المحيطة به. تقدم المقالة أجزاء مختارة من هذه المحادثة ، مسجلة من كلمات Wilmunder.

قررنا أنه من المهم نقل كلمات Wilmunder ، لأن SCUMM ليس مجرد محرك أو تقنية. بالنسبة للعديد من المطورين ، كانت هذه طريقة لنقل رؤيتهم الفنية لآلاف الأشخاص في واحدة من أكثر الفترات التي لا تنسى في تاريخ ألعاب الفيديو.

تطور المحرك


واحدة من الميزات التي ميزت LucasArts من معظم المطورين الآخرين هي أن الكثير منا جاء من الحواسيب المركزية ، لذلك قمنا بتطوير أدوات ومجمعين على محطات عمل Sun ، ثم أنشأنا معدات سمحت لنا بتنزيل الشفرة والبيانات إلى المنصات المطلوبة. بدأ كل شيء مع Atari 800 ، ثم تم توظيف Ron [Gilbert] للعمل مع C64 ، لذلك تم إنشاء نظام مماثل لهذه المنصة.

كانت الميزة الأكثر أهمية هي أنه يمكننا تطوير أدوات في لغة C ، أو ، كما هو الحال في SCUMM ، استخدم YACC لمعالجة التعليمات البرمجية ووضع علامة عليها. استخدم معظم المطورين نفس الجهاز لكتابة التعليمات البرمجية وتنفيذها ، لذلك استخدمت أدواتهم إمكانيات نظام أساسي واحد فقط.

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

بدأ تطور الفرصة في وقت مبكر جدا. كنت أول مطور داخلي يعمل على جهاز كمبيوتر ، وفي ذلك الوقت كانت الأدوات والمترجمون وقحة للغاية. على سبيل المثال ، قام المترجمون C ، في حالة حدوث أخطاء ، بإنتاج أوصاف "تفصيلية" للغاية. على جهاز الكمبيوتر ، يمكنك الحصول على رسالة مثل "File: walk.c Line: 409 Error: 4004" ، وبعد ذلك كان عليك الذهاب إلى الرمز ومعرفة المشكلة ، أو الحصول على الدليل وتحويل رمز الخطأ إلى شيء أكثر قابلية للفهم. في بعض الأحيان كانت أوصاف الخطأ مربكة أيضًا. نظرًا لعدم وجود محررين جيدين لكتابة التعليمات البرمجية على جهاز كمبيوتر ، فقد استخدمت المحررين في Sun ، ثم قمت بنقل الملفات. عندما حدثت أخطاء على جهاز الكمبيوتر ، قمت بإعادة تجميع التعليمات البرمجية وتصحيحها على محطة عمل Sun. شجعني هذا على كتابة كود أنظف يعمل على جهازين مختلفين تمامًا منذ البداية.

كانت هناك العديد من الصعوبات الإضافية على جهاز الكمبيوتر ، لأن عناصر التحكم والأصوات والرسومات كانت مختلفة تمامًا. على سبيل المثال ، لم تكن الفئران دائمًا معدات قياسية ، لذلك تم تصميم التحكم للماوس أو عصا التحكم أو لوحة المفاتيح. هذا سهّل نقل محرك اللعبة إلى منصات أخرى ، لأن الإدارة أصبحت معيارية. بالنسبة للصوت ، دعمنا السماعة الداخلية ، ويبدو أيضًا أنها بطاقة صوت CMS (سلف Adlib) ، بالإضافة إلى نظام صوت لأجهزة الكمبيوتر Tandy. كانت الرسومات أيضًا وحدات لأننا دعمنا شاشات Hercules بالأبيض والأسود ، ورسومات CGA بأربعة ألوان ، و 16 لونًا EGA ، و VGA في وضع 16 لونًا ، و Tandy Graphics في وضع رسومي آخر. لتنفيذ ذلك ، تم تقديم جميع الرسومات في مخزن مؤقت للذاكرة ، ثم قامت الإجراءات المتخصصة للغاية بنسخ المخزن المؤقت إلى بطاقة الفيديو. استخدمنا ما يسمى بنظام "المستطيلات القذرة" ، الذي يتتبع المناطق التي تم تحديثها ، لذلك قمنا بنسخ الأجزاء الضرورية فقط من الشاشة.


أريك ويلمندر

التواصل على SCUMM


كانت SCUMM لغة مجمعة. على سبيل المثال ، قام الأمر walk-fred إلى المختبر-باب بتحويل الأمر Walk إلى أمر أحادي البايت. يحدد البايت التالي الممثل أو الشخصية التي كان هذا الأمر مخصصًا لها ، وتم تحويل كائن باب المختبر إلى رقم مزدوج البايت ، أي أنه تم تخفيض الأمر بأكمله إلى أربعة بايت من البيانات. إذا كنت لا تعرف ، البايت هو جزء من ذاكرة الكمبيوتر التي يمكن أن تحتوي على قيمة عددية من 0 إلى 255. كما نرى ، فإن اللغة المرمزة فعالة للغاية. لم يكن المترجم يعرف أبدًا من هو الممثل الذي دمرته. كان مجرد رقم الممثل ، لذلك حاولنا دائمًا تجنب المهمة الصعبة لأي معلومات محددة حول اللعبة مباشرة في المترجم.

الاستثناء الوحيد لهذه القاعدة في Maniac هو اللون الذي عرض به الممثل النص ...

عند تطوير Maniac ، كان لدينا بعض الاستثناءات للقاعدة التي مفادها أن المترجم لا يجب أن يكون قد قام بترميز قيم اللعبة. في ذلك ، كان علي تحديد الألوان المستخدمة للممثلين ، ولون عرض عباراتهم. ضمنت شفرة المصدر هذه القيم في المترجم. بعد نقل Maniac إلى الكمبيوتر وقبل إصدار Zak McKracken ، تمت إضافة أمرين جديدين بحيث يمكن التحكم في هذه القيم من البرامج النصية. قام "set-actor-talk-color" و "set-actor-color" بإزالة أوامر لعبة معينة من المترجم بحيث يتحكم البرنامج النصي في كل شيء.

أنا أتحدث عن مترجم ، لذلك دعونا نلقي نظرة فاحصة عليه. المترجم هو برنامج أطلقه المستخدم النهائي. يقوم بتهيئة الرسومات والأصوات ، ويقرأ الملفات من القرص ، ويفسر النصوص البرمجية في هذه الملفات لتنفيذ اللعبة. عندما تم إصدار اللعبة ، قمنا بإعادة تسمية المترجم ليصبح "Monkey.exe" أو "Dig.exe" ، ولكن أثناء التطوير كانت هذه الأداة تسمى SPUTM ، والتي تعني "SCUMM Presentation Utility (tm)". الاسم ليس في الواقع علامة تجارية (TM) ، لكننا أردنا فقط تسميته كمائع آخر للجسم.

SCUMM ، أو Script Creation Utility for Maniac Mansion ، كانت أداة لترميز البرامج النصية وجمع جميع موارد اللعبة في ملفات أصدرناها على الأقراص. يجب أن يحتوي إصدار SCUMM المستخدم في Maniac على ما يقرب من 80٪ من الفرق المستخدمة في الألعاب اللاحقة ، مثل Full Throttle . بعد الانتهاء من تطوير اللغة ، لم تتغير الأوامر الأكثر أهمية. "السير من برنارد إلى الساعة" و "السير على دراجة نارية" هما في الأساس نفس الشيء.

تعدد المهام SCUMM


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

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

جميع أنواع الأدوات المفيدة ذات الأسماء المثيرة للاشمئزاز


إلى جانب SCUMM و SPUTM ، كانت هناك العديد من الأدوات الأخرى التي قمنا بتطويرها لإنشاء الألعاب. كان SPIT محرر خط بسيط لإنشاء تنسيقات نصية مختلفة لأجزاء مختلفة من الواجهة. يمكن أن يحتوي مربع الحوار في أعلى الشاشة على خط واحد ، ويمكن استخدام الخط الآخر لشاشة حفظ اللعبة ، وتم استخدام الخط الثالث لأوامر الفعل للواجهة في أسفل الشاشة (Walk-To ، Pick-Up ، Look At ، وما إلى ذلك). كان FLEM أداة رسومية تستخدم لإدارة الغرف. كان من الممكن وضع علامة على الأشياء في الغرفة ، وحالتها (الأبواب المغلقة أو المفتوحة) وبالتالي إنشاء مناطق تحدد الأماكن المتاحة للممثلين المتحركين. سمح لك FLEM أيضًا بعرض طائرات القطع ، والتي كانت طبقات تخفي فاعلًا يتجاوز الأشياء أو الأسطح. في Maniac كان هناك سطح واحد فقط ، ولكن في الألعاب اللاحقة يمكن أن يكون هناك ما يصل إلى ثلاث طائرات ، يمكن للممثل أن يختبئ وراءها.


قصر مهووس

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

BYLE هي أداة الرسوم المتحركة الأصلية التي نستخدمها لرسم الممثلين وتحريكهم. كان لدى BYLE محرك رسوم متحركة بسيط يمكن برمجته لتدوير الرسوم المتحركة من إطار إلى آخر. بالإضافة إلى ذلك ، فهم "الاتجاه" ، أي أنه كان من الممكن تغيير الجانب الذي انقلب فيه الممثل. كان من الممكن ضغط الممثلين بطرق مختلفة ، وهذا سمح لنا بعمل رسوم متحركة بسيطة وسريعة للغاية ، على سبيل المثال ، في بداية يوم اللامسة ، تأخذ مساحة صغيرة ، وللحرف متعدد الألوان ، على سبيل المثال ، بن ثروتل ، آخر طريقة الضغط مطلوبة فقط مع 16 أو 32 لونًا. بمرور الوقت ، كنا بحاجة إلى رسوم متحركة أكثر تعقيدًا ، لذلك تم تطوير أداة CYST جديدة ، والتي استخدمت نفس تنسيق البيانات ، ولكن تم تبسيط إدارة الصور الكبيرة إلى حد كبير.

لفترة قصيرة جدًا ، كان لدينا أداة تسمى SMEGMA. كان لدى أحد المبرمجين طفلًا ، وأخبرنا أن أول إفرازات معوية للطفل تتكون من هذه المادة. اتضح أنه كان مخطئًا ، وتسمى المادة بالعقي (العقي). لم نكتشف ما هو Smegma ، لقد أحببنا الاسم للتو. ولكن بمجرد التحقق من معنى الكلمة ، وبعد يومين قاموا بتغيير الاسم. ربما يمكنك أن تتخيل أن الوقوف بجوارنا في غرفة الطعام كان مزعجًا إلى حد ما ، فقد ناقشنا SCUMM و BYLE و MMUCUS و FLEM وما إلى ذلك. [ملاحظة عبر: إحدى قيم حثالة هي البذور ، الصفراء هي الصفراء ، والمخاط هو المخاط ، FLEM متناسق مع البلغم هو البلغم.]

تحديث SCUMM


يتم انتقاد SCUMM لعدم إجراء تغييرات ثورية ، وبدلاً من ذلك تم تحسينه تدريجيًا. مثال واضح على ذلك هو الرسومات. بدأنا بدعم رسومات 16 لونًا بدقة 320 × 200. مع زيادة عدد البطاقات الرسومية ، تحولنا إلى 256 لونًا ودقة 640 × 480. في نظام الصوت ، بدأنا مع السماعة الداخلية لشركة IBM وانتقلنا إلى صوت ستريو متعدد القنوات. يمكن أن تنمو الأحرف التي كان يبلغ طولها بضع وحدات بكسل إلى ارتفاع الشاشة بالكامل تقريبًا. تطورت الواجهات أيضًا: من الواجهة الأولية مع أوامر الفعل إلى واجهة المستخدم المعقدة استنادًا إلى أيقونات مشابهة لنمط Mac الحديث.

كانت إحدى الخطوات المهمة هي دمج محرك INSANE ، وهو نظام فيديو تم تطويره من أجل Rebel Assault. لقد استأجرت في البداية فينس لي للعمل على نسخة من إحدى ألعاب SCUMM لـ Amiga ، لكنه أثبت مهاراته في البرمجة بسرعة على منصات مختلفة. أثناء العمل على SCUMM ، رآني أقوم بعمل عزل الأجزاء الأساسية المعتمدة على الآلة من النظام لتبسيط إمكانية النقل إلى أجهزة الكمبيوتر الأخرى. أثناء تطوير INSANE ، حاول نقل هذا النهج إلى مستوى جديد وأضاف القدرة على دفق الفيديو وفرعه ، لذلك اعتبرنا أنه من المهم جدًا تنفيذ هذا النظام في SCUMM. كان الخنق الكامل الخطوة الأولى في هذه العملية. بفضل موسيقى الروك أند رول من Gone Jackals ، عندما بدأ شخص ما اللعبة في الغرفة المجاورة ، لاحظها الآخرون بسرعة. كان محرك Throttle غير كامل بشكل واضح: عندما بدأ INSANE ، كان يجب إيقاف نظام SCUMM. لذلك ، بين Throttle و Monkey 3 ، حاولت دمج هذين النظامين بشكل كامل. لقد طردت نظام الفيديو والمؤشر الأصلي ، حتى نظام الخطوط ، لذلك تم تشغيل SPUTM بالفعل فوق INSANE. اتضح أننا وضعنا المزيد والمزيد من البيض في سلة واحدة ، لكن الفوائد كانت كبيرة. على سبيل المثال ، إذا أضفت دعمًا لليابانية أو الكورية ، فيمكن لكلا المنتجين على محرك Rebel Assault والمنتجات على SCUMM دعم اليابانية والكورية.

منصة متعددة مثيرة للإعجاب


بفضل سهولة النقل ، تم تشغيل ألعاب SCUMM على أكثر من اثني عشر نظامًا وحوالي اثنتي عشرة لغة. بدأنا مع Commodore 64 ، ثم كان هناك جهاز كمبيوتر IBM ، و Atari ST ، و Amiga ، ووحدة تحكم Nintendo ثمانية بت ، و Fujitsu Towns ، و [Fujitsu] FM Marty ، و Sega CD ، و CDTV ، و Mac ، كما تمت إضافة iPhone مؤخرًا مع iPad. ليس سيئًا لنظام تم تطويره قبل 25 عامًا.

مع مشاريع مثل ScummVM ، التي كتبها مشجعو مترجم SCUMM ، يمكن دعم المنصات الجديدة. تم اختيار جزيرة Monkey Island كواحدة من الألعاب الخمس المعروضة في متحف سميثسونيان للفن الأمريكي وتثبت أن القصة الجيدة غالبًا ما تكون أكثر أهمية من التكنولوجيا الجديدة لألعاب اليوم الواحد.

لم يعرف الجميع أن SCUMM كان أيضًا أساسًا للعديد من الألعاب التعليمية الشائعة مثل Putt-Putt و Freddi Fish و Spy Fox ، بالإضافة إلى سلسلة Backyard Baseball / Football / Soccer التي طورتها Humongous Entertainment. إذا نظرت إلى الداخل ، يمكنك العثور على نفس الفرق ونفس الرمز تقريبًا مثل إخوانهم LucasArts.

تعلم SCUMM


في ذلك الوقت ، كان جميع المصممين مبرمجين أيضًا ، لذا كان SCUMM ، على الرغم من أنه كان فريدًا في العديد من الجوانب ، بسيطًا جدًا للتعلم والترميز. خلال Maniac أو Zak ، لم يكن المحرك يحتوي على دليل ، ولكن قبل Monkey تم تعيين مجموعة من 6-8 من المبدعين الجدد. تم كتابة دليل لهم والتدريب الأسبوعي (جامعة Scumm ، "جامعة Scumm"). للدورات ، أخذ رون أحدث لعبة وحذف كل شيء باستثناء غرفة واحدة منها ووضع أشياء تظهر إمكانات المحرك فيها.

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

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


سر جزيرة القرد

ميزة SCUMM


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

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

SCUMM حياة طويلة


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

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

أطلق Scumm 2.0 على نظام زاك . في معتوه استخدام الإصدار 1.0 في زاك - 2.0 نحن نفعل، في القرد - 3.0، وفي إنديانا جونز أنت والتوسع الحملة الصليبية الأخيرة - شيء من هذا القبيل 3.0 أو 3.1. أحتاج إلى حفر قليلاً للعثور على أرقام الإصدارات الدقيقة. بالإضافة إلى ذلك ، كان هناك عدد من القضايا الخاصة. أول إصدار 256 لونًا من Indiana Jones كان إعلانًا لشركة تصنيع بطاقات الرسومات. لقد جعلت الرمز يعمل ، ولكن في ذلك الوقت كان هناك عدد قليل من البطاقات 256 لونًا في السوق ، لذلك عقدنا صفقة وزودنا اللعبة ببطاقة الفيديو.

فوائد اللغات المفسرة


عمل رون مع مترجمين لبعض الوقت. طور فرقًا جديدة يمكن إضافتها إلى Commodore Basic ، لذلك قام بهندسة عكسية لهذا النظام. عند إنشاء Maniac ، اعتقد أن هذا سيكون أفضل نهج ، وكان لدى Chip Morningstar خبرة في العمل مع جامعي اللغات ، لذلك تم تطوير اللغة بشكل أساسي بفضل تعاونهم. المفارقة هي أن تشيب كانت تعمل في مشروع الموئل في ذلك الوقت.، والتي بدلاً من أجزاء التعليمات البرمجية المفسرة لرمز التجميع 6502 تم دعمها ، والتي تغيرت وانتقلت إلى الذاكرة. تسبب فشل أي من هذه الأجزاء في فشل النظام بأكمله. من ناحية أخرى ، استخدم SCUMM حوالي 80 أمرًا فقط ، وتم تعبئة الأوامر بالبايت بقيم من 0 إلى 255. إذا كانت قيمة الأمر أكبر من 80 ، أبلغ النظام عن خطأ ، لذلك يمكن لـ SCUMM أن يوضح بسرعة أنه كان ينفذ أوامر غير صحيحة . A الموئل ببساطة "تحطمت" وكان من الصعب جدا تتبع الخلل. أعتقد أنه في وقت لاحق ، ستقرر تشيب استخدام لغة مترجمة.



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

العمل مع رون جيلبرت الفذة


كان العمل مع رون ممتعًا للغاية. إليك زوجان من الحكايات ...

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

***

في وقت آخر ، عملنا أنا ورون في المساء في مبنى في Kerner Boulevard ، بجوار Industrial Light & Magic ، وكان لدينا خلاف خطير حول كيفية تنفيذ جزء التعليمات البرمجية. غالبًا ما كنت أعمل أنا ورون حتى الساعة العاشرة حتى الحادية عشرة مساءً ، لذلك كنا نعرف المنظفات جيدًا. حتى أن أحدهم أصبح فيما بعد محرر أفلام. حسنًا ، في تلك الليلة كنت متأكدًا من أن حل المشكلة الخاص بي كان صحيحًا ، كان رون متأكدًا من أن أسلوبه كان أفضل ، لسبب ما نما النزاع تدريجيًا وانتهى في مسابقة صراخ. أخيرا ، نهض رون ، وبدا لي وبخ ، وخرج وضرب الباب بكل قوته. أعتقد أنني اعتقدت أنني تخلصت منه وعادت إلى كتابة التعليمات البرمجية. بعد حوالي خمس دقائق ، عاد رون وقال بهدوء: "حسنًا ، لقد انتهينا من ذلك. الآن دعونا نكتشف كيفية حل هذه المشكلة ".في غضون بضع دقائق ، عدنا بالفعل إلى اللوحة وعملنا على الحل ، واستمعنا بعناية أكبر لبعضنا البعض. ونتيجة لذلك ، ابتكرنا حلًا مختلطًا استعار أفضل أفكارنا. كان رون سيد التعاون الحقيقي.

***

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

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

***


رون جيلبرغ ، أريك ويلمندر ، نوح فالستين ، حوالي عام 1985 (صورة من Mobygames )

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

***

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

***

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

صديقي سكوم


25 سنة هي فترة طويلة جدا. لا أعتقد أن هناك قائمة عامة بجميع الألعاب التي استخدمت SCUMM ، ولكن ربما كانت هناك 30-40 لعبة مختلفة بين LucasArts و Humongous. أعلم - شعر بعض المصممين أن SCUMM يحد من قدراتهم. قال أحدهم أن استخدام SCUMM يشبه محاولة تحريك فيل بممحاة.

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

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

الصورة

إجابتي على السؤال حول لعبتي المفضلة على SCUMM تظل كما هي لسنوات عديدة. أحبها دائمًا وأنا فخور جدًا بأحدث لعبة نعمل عليها. مع كل لعبة جديدة ، حاولنا تجاوز الحدود ونفعل ما لم يفعله أحد من قبلنا. لطالما فكرت: لماذا نعمل على الإطلاق إذا لم نتخذ خطوة جديدة في الفن أو التكنولوجيا؟ لدي لحظات مفضلة ، على سبيل المثال ، الرسوم المتحركة الأولية في Day of the Tentacle أو الفكاهة من Sam و Max أو موسيقى Full Throttle أو القدرة على تحريك الشخصيات الثلاثة المهووسة . كان كل إنجاز خاصًا ، لكنهم جميعًا ، مثل الأطفال الأصليين ، يحتلون مكانة خاصة في القلب.

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


All Articles