سكام

برنامج SCUMM ( أداة إنشاء البرامج النصية لـ Maniac Mansion ) هو محرك ألعاب فيديو طُوّر في شركة Lucasfilm Games، التي أُعيد تسميتها لاحقًا إلى LucasArts ، لتسهيل تطوير لعبة المغامرات الرسومية Maniac Mansion (1987). وقد استُخدم لاحقًا كمحرك لألعاب المغامرات اللاحقة من LucasArts وألعاب Humongous Entertainment .

يقع SCUMM في مكان ما بين محرك الألعاب ولغة البرمجة ، مما يسمح للمصممين بإنشاء مواقع وعناصر وتسلسلات حوارية دون كتابة أي كود برمجي بلغة البرمجة الأصلية للعبة . كما يسمح هذا بجعل ملفات نص اللعبة وبياناتها قابلة لإعادة الاستخدام عبر منصات متعددة . يُعد SCUMM أيضًا بيئة حاضنة لمحركات الألعاب المدمجة مثل محرك بث الموسيقى التفاعلي ( iMUSE ) ، ومحرك بث الرسوم المتحركة التفاعلي ( INSANE )، وCYST (محرك الرسوم المتحركة داخل اللعبة)، وFLEM (لوضع وتسمية العناصر داخل الغرفة)، وMMUCAS. وقد تم إصدار SCUMM على المنصات التالية: 3DO ، Amiga ، Apple II ، Atari ST ، CDTV ، Commodore 64 ، FM Towns & Marty ، Macintosh ، Nintendo Entertainment System ، MS-DOS ، Microsoft Windows ، Sega CD (Mega-CD)، و TurboGrafx-16 / PC Engine. تم نقل العديد من ألعاب SCUMM بشكل رسمي وغير رسمي إلى أنظمة أخرى من خلال استخدام برنامج ScummVM مفتوح المصدر .

تاريخ

تمت برمجة النسخة الأصلية بواسطة رون جيلبرت (بمساعدة أولية من تشيب مورنينغستار المعروف أيضًا باسم UnXman) عام ١٩٨٧، [ ١ ] : ٣٤:٢١، ثم جرى تحسين النسخ اللاحقة بواسطة أريك ويلموندر (المعروف أيضًا باسم SCUMM Lord ) وبراد ب. تايلور. هذه لغة رموز قدمت تقنيات برمجة رائدة، وكانت رموز مثل PRINE أول ما استُخدم فيها.

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

طُوِّر برنامج SCUMM ليكون أداةً تُحوِّل الأوامر المقروءة بشريًا إلى رموز بحجم بايت ، يقرأها برنامج مُفسِّر تنفيذي لعرض اللعبة على اللاعب. على سبيل المثال، walk dr-fred to laboratory-doorيُحوَّل أمر SCUMM إلى أمر بحجم 4 بايت. لم يرغب المطورون في تضمين تفاصيل مُحدَّدة عن اللعبة في النص البرمجي، لذا كان بإمكان المُحلِّل التعرُّف على الشخصيات من خلال أسمائها في النص البرمجي بدلًا من الأرقام الداخلية. الاستثناء الوحيد كان عرض حوار الشخصية بلون نص مختلف في لعبة Maniac Mansion ، حيث كان لا بد من تضمين الرقم، ولكن تم تعديل ذلك لاحقًا عند إصدار Zak McKracken . [ 2 ] تضمنت النصوص البرمجية القدرة على تعدد المهام ، مثل قيام الشخصيات في الخلفية بتنفيذ سلوكيات أثناء انتظار اكتمال إجراءات الشخصيات في المقدمة. [ 2 ] مكّنت الأدوات المُدمجة من إنشاء نماذج أولية سريعة للعبة. كان بإمكان مُبرمجي النصوص البرمجية العمل مع الرسومات الأولية للشخصيات والخلفيات التي رسمها الفنانون لتحسين نصوصهم البرمجية مع تقديم ملاحظات للفنانين. [ 2 ]

كان برنامج SCUMM مسؤولاً عن تجزئة النصوص البرمجية وجمع جميع الأصول الأخرى (مثل الرسومات والصوت) في حزمة واحدة. سُمّي المترجم القابل لإعادة الاستخدام SPUTM، وهو اختصار لـ SCUMM Presentation Utility (™)، والذي أُعيد تسميته عند شحن اللعبة إلى اسم ملفها التنفيذي. كان SPUTM يُفسّر النصوص البرمجية، ويُحمّل الأصول من القرص، ويتعامل مع تفاعلات المستخدم الأخرى مع اللعبة. [ 2 ] لم يكن SPUTM علامة تجارية مسجلة، ولكن وفقًا لويلموندر، أرادوا "تسميته على اسم سائل جسدي آخر ". [ 2 ] أُعيد استخدام SCUMM لاحقًا في العديد من ألعاب المغامرات اللاحقة من LucasArts، حيث تم تحديثه وإعادة كتابته عدة مرات. ووفقًا لويلموندر، احتوت نسخة SCUMM الخاصة بلعبة Maniac Mansion على حوالي 80% من الأوامر التي استُخدمت في الإصدارات اللاحقة من المحرك، مع عدم الحاجة إلى تعديل معظم الأوامر الرئيسية. [ ٢ ] طُوِّرت أدوات ومحركات أخرى بالتزامن مع SCUMM للمساعدة في التطوير، وسُمِّيت بأسماء سوائل الجسم الأخرى. [ ٢ ] استُخدم SPIT لإدارة خطوط النصوص على أجزاء مختلفة من الشاشة. استُخدم FLEM لتحديد غرفة معينة، وتتبع الكائنات داخلها، وتحديد مستويات القطع لتحريك الشخصيات. استُخدم MMUCAS مع FLEM لتجميع الغرفة وكائناتها في ملف واحد، مما يُمكِّن المبرمجين من إجراء تغييرات سريعة دون الحاجة إلى إعادة تجميع وصف الغرفة. استُخدم BYLE، ثم CYST لاحقًا، لتحريك الشخصيات وتغيير حجمها، واستُخدم الأخير للرسومات الأكثر تعقيدًا في ألعاب LucasArts اللاحقة.

بعد مغادرته شركة LucasArts وتأسيسه شركة Humongous Entertainment عام 1992، أبرم جيلبرت صفقة مع LucasArts تمنح Humongous ترخيصًا لاستخدام محرك SCUMM في تطوير ألعابها، بشرط أن يواصل تطوير تحسينات على المحرك لاستخدامها من قبل الشركتين. [ 3 ] بالنسبة للعبة Full Throttle ، عمل الفريق على دمج SCUMM مع محرك الرسوم المتحركة INSANE الذي طُوّر سابقًا للعبة Star Wars: Rebel Assault . على الرغم من أن ويلمندر نجح في تشغيل النظامين معًا لإصدار Full Throttle ، إلا أن التفاعل بينهما لم يكن مستقرًا دائمًا، وقضى وقتًا قبل إصدار The Curse of Monkey Island لجعل SCUMM يعمل فوق محرك INSANE، مستبدلًا بعض أجزاء محرك SCUMM الأصلية في INSANE. [ 2 ]

داخليًا، لم تكن معظم آليات عمل محرك SCUMM موثقة، إذ اعتقد ويلمندر أنه سهل التعلم نسبيًا، لكنه غيّر هذا النهج قبل إصدار لعبة The Secret of Monkey Island . لتدريب الموظفين الجدد على المحرك، ألحقهم جيلبرت بجامعة SCUMM ، وهي دورة تدريبية لمدة أسبوع تعلموا خلالها كيفية استخدام محرك SCUMM. بعد ذلك، أُتيحت الفرصة لهؤلاء الموظفين الجدد، الذين يُطلق عليهم اسم "scummlets" ، لاستكشاف نماذج أعمال وتطويرها لتحديد أنسب مكان لهم في فريق التطوير. [ 2 ]

تخلّت شركة LucasArts نهائيًا عن محرك SCUMM عام 1998 عندما انتقلت إلى محرك GrimE ، مستخدمةً لغة البرمجة Lua المجانية ، في لعبتي Grim Fandango و Escape from Monkey Island . واستمرت شركة Humongous Entertainment في استخدام المحرك لجميع ألعابها على الحاسوب، بما في ذلك سلسلة Backyard Sports ، حتى إصدار Backyard Soccer 2004 عام 2003. [ 4 ] : ​​3:34:00 طُوّرت الألعاب اللاحقة باستخدام محرك YAGA المبني على لغة Python ، ومنها Putt-Putt: Pep's Birthday Surprise و Pajama Sam: Life Is Rough When You Lose Your Stuff!، وهما اللعبتان الوحيدتان من Humongous اللتان لم تُطوّرا باستخدام محرك SCUMM.

في مارس 2016، كشف ويلموندر أنه سيشارك وثائق التصميم للعديد من ألعاب المغامرات الخاصة بشركة LucasArts وشفرة المصدر لمحرك SCUMM، والتي يخطط لتوفيرها بتنسيق رقمي عبر GitHub . [ 5 ]

تصميم

يستبدل برنامج Loom (1990) واجهة SCUMM التقليدية للأفعال بتعاويذ يتم تشغيلها على مغزل موسيقي . [ 6 ]

تعتمد معظم ألعاب SCUMM على نموذج تصميم يعتمد على الفعل والمفعول به. [ 7 ] يمتلك اللاعب الذي يتحكم بشخصيته مخزونًا، وعالم اللعبة مليء بالأشياء التي يمكن للاعب التفاعل معها باستخدام مجموعة متنوعة من الأفعال. [ 7 ] في الألعاب الأولى، كانت مجموعة كبيرة من هذه الأفعال تظهر غالبًا أسفل الشاشة، [ 8 ] ولكن مع إصداري Full Throttle (1995) و The Curse of Monkey Island (1997)، تم اختصارها إلى "رمز فعل" يظهر عند مؤشر الماوس مع خيار استخدام عيني الشخصية (للنظر ) ، أو يديها (للاستخدام ، والتقاط ، والدفع ، والسحب ، إلخ)، أو فمها (للتحدث ، والأكل ، والاستنشاق ) . [ 9 ] [ 10 ] قامت ألعاب Humongous Entertainment بتبسيط هذه الواجهة، من خلال رسم بياني شفاف لمؤشر الماوس يتحول إلى اللون عندما يتفاعل اللاعب مع عنصر ما، أو يتحول إلى سهم للإشارة إلى نقطة نقر تنقل اللاعب إلى شاشة جديدة. [ 11 ]

تتضمن الألغاز عمومًا استخدام الفعل المناسب مع المفعول به المناسب [ 9 ] ، مثل "استخدام قطاعة البسكويت مع شجرة المطاط". [ 12 ] يُنتج خيار "التحدث إلى" عادةً حوارات، حيث يختار اللاعب من قائمة أسئلة أو تعليقات مُعدة مسبقًا، وتُجيب الشخصية التي يتحدث إليها برد مُعد مسبقًا. [ 9 ] الاستثناء الملحوظ لهذا النموذج العام هو لعبة Loom (1990)، التي لا تستخدم واجهة الفعل والمفعول به القياسية، بل تستبدل معظم الأفعال بمجموعة من التعاويذ التي تُعزف على آلة موسيقية.

إعادة التنفيذ

المترجم

ScummC عبارة عن مجموعة أدوات (تتضمن مُجمِّع نصوص ومُجمِّع أزياء، ومحرر صناديق المشي، ومجموعة الأحرف، وأدوات الرسومات والصوت وMIDI)، قادرة على ترجمة لغتها الخاصة الشبيهة بلغة JavaScript إلى بايت كود SCUMM v6 ، والذي يمكن تشغيله مباشرةً في ScummVM . يُمكّن هذا البرنامج أي شخص يمتلك المهارات اللازمة من إنشاء ألعاب SCUMM جديدة وأصلية، بميزات تُضاهي Day of the Tentacle و Sam & Max Hit the Road . [ 13 ]

يهدف مشروع مشابه يُدعى ScummGEN إلى تحقيق نفس الهدف، باستخدام أدوات سهلة الاستخدام. [ 14 ]

Scummbler هو مُجمِّع لرمز SCUMM البرمجي، للإصدارات من 3 إلى 5 من محرك SCUMM. [ 15 ] [ 16 ] يستخدم البرنامج نصوصًا برمجية مُفكَّكة من ملفات اللعبة الأصلية، يتم استرجاعها باستخدام أداة فك ضغط مثل ScummPacker [ 17 ] [ 18 ] (من تطوير مُطوِّر Scummbler أيضًا)، وأداة descumm من ScummVM. يمكن إعادة إدراج هذه النصوص البرمجية في ملفات اللعبة الأصلية، مما يجعلها مفيدة لتعديل الألعاب الموجودة، مثل الترجمة. كما يتوفر أيضًا مُشفِّر/مُفكِّك صور، [ 19 ] [ 20 ] وأداة للمساعدة في تحويل ملفات الصوت إلى نص. [ 21 ] [ 22 ]

مترجمون فوريون

ScummVM هو مشروع برمجي مجاني ومفتوح المصدر لإنشاء عميل محمول لمحرك SCUMM يعتمد على مكتبة Simple DirectMedia Layer (SDL)، مما يسمح بتشغيل العديد من ألعاب محرك SCUMM على أنظمة لا تعمل عليها الإصدارات الأصلية أو تواجه مشاكل في التشغيل، بما في ذلك أنظمة Windows و Macintosh الحديثة، و Linux (بما في ذلك الأجهزة المحمولة - Android و GP2X و GP2X Wiz و Maemo وغيرها)، و BeOS - Haiku ، وAmigaOS (الإصدارات 3.x و4.0، بالإضافة إلى نسخها MorphOS و AROS )، و Atari TOS (بما في ذلك الإصدارات اللاحقة - EmuTOS و MagiC و FreeMiNT وغيرها)، و Palm OS ، و Windows Mobile ( Pocket PC )، و Dreamcast ، و PlayStation 2 ، و PlayStation Portable ، و Nintendo DS ، وWii ، و Symbian (SeriesXX وUIQ)، وiOS ( iPad و iPhone و iPod Touch )، و webOS ، ومنصات QNX - Playbook . [ 23 ]

scvm هو مترجم لغة SCUMM طوّره مؤلف ScummC. [ 13 ] اعتبارًا من أبريل 2008، كان في مرحلة تجريبية، وكان الهدف منه أن يصبح مصحح أخطاء برمجية لتطوير ScummC. أما hiscumm فهو محاولة لنقل scvm وبعض أجزاء ScummVM إلى منصة Haxe ، لإنتاج مترجم لغة مزود بواجهة خلفية Adobe Flash . [ 24 ] [ 25 ]

الإشارات والنكات الداخلية

كانت الإشارات الداخلية إلى الألعاب سمة شائعة في ألعاب المغامرات من إنتاج شركة LucasArts . استخدم المطورون اسم محركهم لإضفاء طابع فكاهي في العديد من الألعاب.

فرقة "ريزر أند ذا سكاميتس" (Razor and the Scummettes) ، وهي فرقة بانك ذُكرت في لعبة "مانياك مانشن" (Maniac Mansionوحانة "سكام" (SCUMM) في سلسلة ألعاب "مونكي آيلاند" (Monkey Island)، كلاهما مُشتقّان من لغة البرمجة "لوا" (Lua bar). في لعبة "إسكيب فروم مونكي آيلاند" (Escape from Monkey Island) ، التي وقعت ضحيةً لعملية استحواذ عدائية، تُصبح حانة "سكام" (SCUMM) حانة "لوا" (Lua bar) ، في إشارة إلى لغة البرمجة التي حلّت محلّ المحرّك المُستخدم في الألعاب السابقة. كما تُذكر "سكام" (SCUMM) ضمن مكوّنات مشروب "غروغ" (grog) في لعبة " ذا سيكريت أوف مونكي آيلاند" (The Secret of Monkey Island) .

انظر أيضاً

ملحوظات

  1. عُرفت لاحقًا باسم LucasArts.

مراجع

  1. تقرير ما بعد وفاة استوديو كلاسيك: ألعاب لوكاس فيلم ، جيم سبوت ، 24 مارس 2014 ، تم الاطلاع عليه في 21 فبراير 2023
  2. 1 2 3 4 5 6 7 8 9 10 بيفان، مايك (21 يوليو 2013). "مذكرات سكام: قصص وراء أحد أعظم محركات الألعاب على الإطلاق" . غاماسوترا . تم الاسترجاع في 30 مايو 2024 .
  3. "مقابلة مع رون جيلبرت" . استوديوهات نايت دايف . 22 يونيو 2014. تم الاطلاع عليه في 16 أكتوبر 2023 .
  4. سيفالدي، فرانك (30 أكتوبر 2020)، "أسرار جزيرة القرد - أمسية مع رون جيلبرت" ، مؤسسة تاريخ ألعاب الفيديو ، تم الاطلاع عليه في 21 فبراير 2023
  5. كير، كريس (23 مارس 2016). "المشارك في ابتكار SCUMM يكشف عن كنز دفين في تصميم الألعاب" . غاماسوترا . تم الاطلاع عليه في 30 مايو 2025 .
  6. "مصممو الألعاب بالتفصيل: برايان موريارتي" . مركز ألعاب جامعة نيويورك . جامعة نيويورك . تم الاطلاع عليه بتاريخ 28 يوليو 2026 .
  7. 1 2 وير، غريغوري (20 نوفمبر 2008). "رأي: غريم فاندانغو وسرد القصص في الألعاب" . مطور الألعاب . تم الاسترجاع في 28 يوليو 2026 .
  8. بيفان، مايك (12 يوليو 2013). "مذكرات سكام: قصص وراء أحد أعظم محركات الألعاب على الإطلاق" . مطور الألعاب . تم الاسترجاع في 28 يوليو 2016 .
  9. 1 2 3 السرعة القصوى (ملف PDF) (دليل المستخدم). شركة لوكاس آرتس للترفيه. الصفحات 6-9 . 
  10. لعنة جزيرة القرود (ملف PDF) (دليل المستخدم). شركة لوكاس آرتس للترفيه. الصفحات 14-17 . 
  11. SPY Fox: Operation Ozone (ملف PDF) (دليل المستخدم). Humongous Entertainment. الصفحات 4-5 . 
  12. "لعنة جزيرة القرود - أدلة اللعب وشرحها" . موقع Adventure Gamers . تم الاطلاع عليه بتاريخ 28 يوليو 2026 .
  13. 1 2 بيدل، ألبان (26 يناير 2023)، ScummC - مُجمِّع Scumm ، مؤرشف من الأصل في 4 سبتمبر 2015 ، تم استرجاعه في 21 فبراير 2023
  14. "ScummGEN" . كود جوجل . مؤرشف من الأصل في 16 يوليو 2010. تم الاطلاع عليه في 21 فبراير 2023 .
  15. دوغال مايرز، لورانس. "المحتال" . JestarJokin.net . مؤرشف من الأصل في 2 أغسطس 2014. تم الاطلاع عليه في 21 فبراير 2023 .
  16. "Scummbler" . BitBucket . تم الاسترجاع في 21 فبراير 2023 .
  17. دوغال مايرز، لورانس. "ScummPacker" . JestarJokin.net . مؤرشف من الأصل في 8 نوفمبر 2013. تم الاطلاع عليه في 21 فبراير 2023 .
  18. "ScummPacker" . BitBucket . تم الاسترجاع في 21 فبراير 2023 .
  19. دوغال مايرز، لورانس. "برنامج ترميز الصور SCUMM" . JestarJokin.net . مؤرشف من الأصل في 15 فبراير 2015. تم الاطلاع عليه في 21 فبراير 2023 .
  20. "برنامج Scumm Image Encoder" . BitBucket . تم الاطلاع عليه بتاريخ 21 فبراير 2023 .
  21. دوغال مايرز، لورانس. "سكام سبيكس" . JestarJokin.net . مؤرشف من الأصل في 15 فبراير 2015. تم الاطلاع عليه في 21 فبراير 2023 .
  22. "ScummSpeaks" . BitBucket . تم الاطلاع عليه بتاريخ 21 فبراير 2023 .
  23. قائمة توافق SCUMMVM مؤرشفة بتاريخ 15 يونيو 2006 على موقع Wayback Machine
  24. أوركهارت، جيمس (7 مارس 2008). "ما لا يجب كتابته في haXe، الجزء الثاني" . CuppaDev . مؤرشف من الأصل في 19 مايو 2015.
  25. ^ أوركهارت، جيمس (11 فبراير 2019)، جامسو / هيسكوم ، استرجاعها 19 مارس، 2021
  • تاريخ سكام