ألعاب الكمبيوتر موجودة تقريبا بقدر أجهزة الكمبيوتر نفسها. على الرغم من أنه من الصعب تصديقه ، إلا أن مغامرة النص في Zork كانت من أشهر وقتها. لكن زورك كان أيضا شيئا أكثر. من أجل قابلية النقل وتوفير المساحة ، تمت كتابة Zork نفسها بلغة التنفيذ Zork (ZIL) ، والتي استخدمت بنشاط المفهوم الجديد تمامًا في ذلك الوقت للبرمجة الموجهة للكائنات ، وتم تنفيذها في جهاز افتراضي. وهذا كله حدث في عام 1979. استخدم المطورون جميع أنواع الحيل لتناسب أكبر قدر ممكن من الإمبراطورية تحت الأرض في أجهزة الكمبيوتر التي تحتوي على 32 كيلو بايت فقط من ذاكرة الوصول العشوائي. ومع ذلك ، لم يكن Zork إنجازًا تكنولوجيًا فحسب ، بل كان أيضًا حدثًا رئيسيًا في تاريخ ألعاب الكمبيوتر. في الوقت نفسه ، قام من الصفر.
DEC PDP-10 الكمبيوتر فليب رقاقة وحدةبدأت ثورة الكمبيوتر خلال الحرب العالمية الثانية ، وفي الخمسينيات والستينيات من القرن الماضي لم يفكر في التوقف. ظهرت المزيد والمزيد من أنظمة الكمبيوتر التي يمكن الوصول إليها للشركات والجامعات للبيع. كان مختبر علوم الكمبيوتر (MIT) التابع لمعهد ماساتشوستس للتكنولوجيا محظوظًا بما يكفي
لارتباطه بـ
ARPA ، الذي زود LCS ومختبر الذكاء الاصطناعي لمعهد ماساتشوستس للتكنولوجيا (الذي كان سابقًا جزءًا من
مشروع MAC MAC )
بموارد حوسبية مهمة ، يتم توفيرها أساسًا بواسطة أنظمة
DEC PDP .
ونتيجة لذلك ، تمكن طلاب مجموعة MIT Dynamic Modeling Group (أجزاء LCS) من الوصول إلى
PDP-10 KA10 ، وهو أقوى آلة في ذلك الوقت. على الرغم من أن PDP-10 هذا كان النموذج الأصلي لعام 1968 مع وحدات ترانزستور
Flip Chip المنفصلة والتفاف حوله ، إلا أنه تم
تعديله بشدة : لقد أضاف دعمًا للذاكرة الافتراضية وصفحات الذاكرة لتوسيع 1،152 كيلو بايت من ذاكرة kernel الأصلية.
كان الكمبيوتر الذي يشغل نظام تشغيل
نظام المشاركة الزمنية غير المتوافق (ITS) الذي تم تطويره في معهد ماساتشوستس للتكنولوجيا نظامًا متعدد الاستخدامات عالي الفعالية.
وبطبيعة الحال ، كانت تستخدم أساسا للعب الألعاب.
هل أنت مستعد للمغامرة؟
في ربيع عام 1977 ، ظهرت لعبة تسمى
Colossal Cave Adventure (أو "Adventure" لفترة قصيرة) على MIT. كانت هذه اللعبة أول لعبة كمبيوتر في هذا النوع من
القصص الخيالية التفاعلية ، حيث سمحت للاعب بالقيام برحلة نصية عبر نظام كبير من الكهوف ، والتي كانت ، وفقًا للشائعات ، مليئة بالكنوز. كما هو الحال تقريبًا في كتب
"اختر مغامرتك" ، يقوم اللاعب باختياره ، والذي ينقله عبر غرف الكهف ، ونتيجة لذلك ، إما يكتشف الكنز والهروب ، أو يقابل وفاته المفاجئة.
مستوحاة من هذه اللعبة ، أدركت مجموعة من طلاب LCS أنهم يستطيعون تجاوز مشروع ستانفورد. اتضح أن نقطة الضعف الرئيسية في Adventure هي أنها كانت مكتوبة باللغة FORTRAN - وهي لغة لم تكن مشهورة بعملها الجيد بنص ديناميكي ، لا سيما لاحتياجات لعبة من النوع الخيالي التفاعلي. في الأساس ، كانت Adventure متشابكة تمامًا في الشفرة ، مما حد من المرونة وعقد القابلية للتوسعة والدعم للعبة.
في Adventure ، كان لكل غرفة معرّف رقمي ، حيث تم ربط الوصف في الجدول. طلب منها طاولة أخرى وصفًا قصيرًا. في جدول آخر ، باستخدام معرفات رقمية ، تم سرد موقع الغرف بالنسبة للغرف الأخرى. هذا يعني أنه لإضافة غرفة ، سيتعين عليك تعديل جميع هذه الجداول يدويًا وتوخي الحذر حتى لا تتسبب في حدوث مشاكل مع هذه التغييرات.
هاكر المنافسة
باستخدام تجربة العمل مع اللغات الطبيعية المتوفرة في مختبرات LCS و AI ، كتب
ديف ليبلينج أولاً محلل بسيط ووضع الأساس لمحرك ألعاب مشابه لمحرك Adventure. للقيام بذلك ، استخدم لغة البرمجة المشتقة من
MDL . بفضل إمكانات معالجة اللغة الطبيعية القوية ، ابتكر
Mark Blanc و
Bruce Daniels و
Tip Anderson ، استنادًا إلى عمل Lebling ، أول لعبة نموذج أولي أصبحت بمرور الوقت ما نسميه اليوم Zork.
كانت ثورة زورك أنه بخلاف أوامر المغامرات البسيطة (حيث كان كل من LAMP GET و GET LAMP متكافئين) ، بفضل إمكانيات MDL الممتازة في معالجة اللغة الطبيعية ، يمكنه التعامل مع جمل كاملة. يمكنه معالجة جمل كاملة وحتى عدة جمل (فرق) مجتمعة في جملة واحدة. إن وجود محلل قوي مقترن بسهولة تصميم غرف جديدة على MDL بأسلوب وجوه المنحى يعني أنه بعد كتابة المحلل اللغوي ومحرك اللعبة ، يمكن توسيع العالم بشكل غير محدود تقريبًا.
يمكن تعيين غرفة في Zork باستخدام قطعة بسيطة من التعليمات البرمجية:
<ROOM "WHOUS" "This is an open field west of a white house, with a boarded front door." "West of House" <EXIT "NORTH" "NHOUS" "SOUTH" "SHOUS" "WEST" "FORE1" "EAST" #NEXIT "The door is locked, and there is evidently no key."> (<GET-OBJ "FDOOR"> <GET-OBJ "MAILB"> <GET-OBJ "MAT">) <> <+ ,RLANDBIT ,RLIGHTBIT ,RNWALLBIT ,RSACREDBIT> (RGLOBAL ,HOUSEBIT)>
هذا يعين "البيت الأبيض" من بداية اللعبة ، وكذلك المخارج من هذه الغرفة ، والخصائص الخاصة للمخارج (على سبيل المثال ، الباب المغلق) والأشياء الموجودة في الغرفة. هذا يضمن أن جميع خصائص الغرفة ، بما في ذلك الوصف والوصف القصير والخصائص والعلامات ، ستكون في مكان واحد. سيتمكن محرك اللعبة بعد ذلك من تبديل الملصقات الفردية (بت) من الغرف ، وتخزين قاعدة بيانات مركزية لجميع الغرف وحالتها الحالية. إدارة اتصالات الغرفة أثناء إنشاء تصميم اللعبة باستخدام أسمائهم ، وليس معرفات رقمية في الجدول.
ضرب بصوت عال
يكفي أن نقول أن Zork كان رائعا للغاية على أجهزة الكمبيوتر المركزية. بناءً على طلب اللاعبين المهتمين الآخرين ، تم نقله إلى نظام التشغيل DEC
TOPS-20 الأكثر شيوعًا لـ PDP-10. على الرغم من أن مطوري Zork كانوا سخاء لدرجة أنهم وزعوه مجانًا ، إلا أنهم قاموا بتوزيع النسخة المشفرة للقراءة فقط. حتى أنهم قاموا بتخزين شفرة مصدر Zork في مجلد آمن على المركزية ITS ، والتي كان عليهم تصحيح نظام التشغيل الرئيسي المفتوح وغير الآمن لنظام التشغيل ITS.
في هذه المرحلة من تاريخ أجهزة الكمبيوتر في العالم ، كان لا يزال هناك عدد غير قليل منها. كان مفهوم الكمبيوتر المنزلي قد بدأ للتو في الظهور: في عام 1977 ، ظهرت أجهزة كمبيوتر مثل
TRS-80 و
Apple II ، لكن حتى هذا النظام كان محدودًا بشكل لا يصدق مقارنة بالإطارات الرئيسية التي كان الطلاب الأمريكيون يلعبون فيها ألعاب المغامرات النصية في ذلك الوقت. تبدو فكرة نقل لعبة مثل Zork - ملف قابل للتنفيذ من 1 ميغابايت - إلى أجهزة الكمبيوتر المنزلية سابقة لأوانها.
في حين أن أجهزة الكمبيوتر المنزلية لا تزال نادرة ، فإن مفهوم بيع البرمجيات للمستهلكين العاديين ظل جديدًا أيضًا. كان هذا هو الوقت الذي ظهر فيه
Atari 2600 للتو في تجارة التجزئة ، حيث أطلق الجيل الثاني من وحدات التحكم في اللعبة ، والتي لم يكن من الممكن لعبها إلا لعبة واحدة بمساعدة الخراطيش المدرجة. كان هذا سوقًا جديدًا ، حيث طرح
الكثير من الأسئلة على طلاب معهد ماساتشوستس للتكنولوجيا ، ستانفورد والمؤسسات التعليمية الأخرى حول معارضة ثقافة القراصنة لعالم البرمجيات التجارية. البعض ، مثل
ريتشارد ستولمن ، لم يغير معتقداتهم منذ أيام طلابهم في معهد ماساتشوستس للتكنولوجيا.
عندما غادر مطورو Zork المعهد ،
أدركوا أن نجاح اللعبة كان في أيديهم: كانت لديهم فرصة لتسويقها ، لتوجيه حياتهم ومهنهم في اتجاه جديد تمامًا بالنسبة إلى أهدافهم الأصلية. لذلك ، تقريبًا بدون أدنى عائق ، في 22 يونيو 1979 ، تأسست شركة Infocom.
الآن نحن بحاجة فقط إلى ذلك
لم يكن هناك سوى تحذير واحد صغير في نقل Zork من أنظمة الكمبيوتر المركزي PDP-10 إلى أجهزة الكمبيوتر المنزلية الصغيرة: في ذلك الوقت ، لم يكن لدى Infocom أي شيء للبيع. توصل المطورون إلى العديد من أفكار الألعاب التي يمكن تكييفها للعمل على أجهزة الكمبيوتر المنزلية ، ولكن القيمة الرئيسية كانت نقل Zork. لقد احتاجوا فقط إلى حل مشكلة تحويل رمز لعبة MDL سعة 1 ميغابايت إلى أجهزة كمبيوتر صغيرة ذات 32 كيلو بايت من ذاكرة الوصول العشوائي (أو حتى أقل) ومحركات صغيرة.
بالإضافة إلى ذلك ، لم يرغبوا في نقل اللعبة بشكل فردي إلى TRS-80 و Apple II ثم إلى أنظمة جديدة. ماذا لو حاولت استخدام رمز MDL موجود؟ يمثل هذا بداية لتطور ما سيُعرف قريبًا باسم
Z-Machine .
بالطبع ، في البداية أرادوا حل مشكلة توافق Zork مع الحواسيب الصغيرة ،
مما يقلل من اللعبة عن طريق حذف المحتوى. لقد تمكنوا من الاقتراب أكثر من حجم المغامرة. ثم قاموا بشيء مماثل مع MDL ، حيث قاموا بإزالة جميع الميزات التي لا يحتاجها Zork. هذه هي الطريقة التي خرجت بها
لغة تنفيذ Zork (ZIL) ، والتي يمكنهم من خلالها بسهولة نقل Zork باستخدام MDL. بعد ذلك ، يمكن إنشاء برنامج التحويل البرمجي ZIL ملفات تنفيذية أصغر بكثير من برنامج التحويل البرمجي MDL.
بالنظر إلى وصف فانوس Zork من النحاس الأصفر على ZIL ، يمكننا أن نرى أنه أسهل في القراءة من MDL:
<الهدف فانوس
(LOC LIVING-ROOM)
(SYNONYM LAMP فانوس ضوء)
(نحاس أصفر)
(DESC "فانوس نحاسي")
(أعلام TAKEBIT LIGHTBIT)
(العمل فانوس- F)
(FDESC "فانوس يعمل بالبطارية على الكأس
الحالة. ")
(LDESC "يوجد فانوس نحاسي (يعمل بالبطارية)
هنا. ")
(الحجم 15)>
كان هذا بالطبع رائعًا ، لكن مع ذلك لم يسمح بإطلاق Zork على TRS-80. بالطبع ، في هذه المرحلة يمكنهم كتابة برنامج التحويل البرمجي ZIL لكل نظام أساسي ، وكذلك ملف ZIL القابل للتنفيذ ، لقضاء الكثير من الوقت في وقت لاحق ، وإعداد كل لعبة على كل منصة مستهدفة. لكن بدلاً من ذلك ، قرروا كتابة جهاز افتراضي: Z-Machine. في الواقع ، كانت
منصة مثالية لألعاب المغامرات القائمة على النصوص التي دعمت مباشرة ملفات ZIL الثنائية ، ونفذت أيضًا العديد من التحسينات ، وأهمها تعبئة الأحرف في 5 بتات ، والتي تشبه
كود Bodo .
بفضل كل هذه التحسينات ، والجهاز الافتراضي ولغتهم البرمجية الخاصة ، تمكنوا من وضع عالم مبتور من Zork I في "ملف محفوظات" يبلغ طوله 77 كيلوبايت إلى جانب مترجم (آلة افتراضية). نظرًا لأنه لا يزال أكثر من 32 كيلو بايت من الذاكرة ثم أجهزة الكمبيوتر الشائعة ، تم تطبيق نظام الذاكرة الظاهرية في الجهاز الظاهري ، حيث تم تحميل البيانات الديناميكية (المتغيرات) فقط في ذاكرة الوصول العشوائي ، وتمت قراءة جميع البيانات الثابتة (النص) من القرص المرن إذا لزم الأمر.
إلى الأمام إلى المستقبل
بلغ حجم الأقراص المرنة من Apple II 140 كيلوبايت ، وكان حجم أقراص TRS-80 180 كيلوبايت ، أي تم حل مشكلة المساحة. كان فقط المترجم الشفهي بحاجة إلى تحسين النظام الأساسي الهدف ، وهذا يعني أنه في المستقبل يمكن استخدام نفس المترجم الشفهي في جميع الألعاب التي تنتجها Infocom ، دون الحاجة إلى النقل إلى منصات منفصلة. لا يزال لديهم الكثير من المحتوى مقطوعة من نسخة المركزية من Zork. كانوا على استعداد لتتمة.
بعد النجاح التجاري الذي حققه Zork I ، واصل المطورون إنتاج أجزاء مقطوعة من النسخة المركزية الأصلية في شكل Zork II و Zork III. سنة بعد سنة ، واصلت مبيعات Zork I نموها ، وأصبحت لعبة لا بد من شرائها ، غالبًا ما تكون مرفقة بأنظمة جديدة. تم تطوير
إصدارات جديدة
من Z-Machine ، حيث تمت إضافة ميزات جديدة للألعاب الأكثر تعقيدًا. اليوم ،
لا يزال بإمكاننا الاستمتاع بألعاب Infocom دون القلق بشأن مشكلات التوافق: تم نشر
مصادر Zork على MDL ، وكذلك الكود المصدري
لألعاب Infocom الكلاسيكية الأخرى . إذا لم تلعب Zork أبدًا أو على الإطلاق منذ فترة طويلة ، فجرّب ومن ثم إلقاء نظرة على ما يحدث داخل اللعبة. يمكن القول دون أدنى امتداد أن مجموعة من المتسللين من جامعات الولايات المتحدة في السبعينيات من المرجح أن تحدد مستقبل عالم ألعاب الفيديو ورواية القصص التفاعلية.