جون روميرو في محرر البلاط ، الذي أنشأ أكثر من 30 لعبة


مقدمة


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

قبل وقت طويل من ظهور Unity 3D ، أصدرت شركات مثل id Software و Epic و 3D Realms و Blizzard و BioWare أدوات مع ألعابها ، على أمل أن يسمح ذلك للأشخاص بإنشاء محتوى ، وزيادة حجم المجتمع وحياة اللعبة. لم يحب الكثير من الناس استخدام هذه الأدوات فحسب - بل أصبحوا لهم أبواب صناعة الألعاب. أصبح المحتوى الذي أنشأوه لاحقًا جزءًا من سيرتهم الذاتية.


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

في هذا المقال ، تشرفت بالتحدث مع جون روميرو روميرو حول TEd ، محرر البلاط الذي تم إنشاؤه بواسطة id Software ، والذي ساعد في إصدار 33 لعبة.

الاجتماع الأول مع محرر المستوى



ديفيد Lightbone : مرحبًا جون. شكرًا لك على الوقت الذي قضيته في الدردشة معي!

جون روميرو : لا مشكلة!

DL : قبل أن نناقش TEd ، أريد أن أعود خطوة إلى الوراء: في أوائل الثمانينيات ، كان هناك عدد قليل جدًا من المحررين الذين جاءوا مع اللعبة. في مقابلتك من Honoring the Code ، قلت إن مولد التضاريس من Pegasus] [ كان أحد محرري المستوى الأول الذين جربتهم. هل يمكنك التحدث عن هذه التجربة؟
جونيور : في المرة الأولى التي رأيت فيها بيغاسوس] [في كلية سييرا ، في المكتب مع شركة آبل. كان هذا أحد البرامج الأولى التي رأيتها على Apple. عندما لعبت ، لاحظت أن هناك خيار لتوليد التضاريس. فكرت: من الرائع أن المطورين قاموا ببناء مثل هذه الأداة لتوليد اللعب.

من المضحك أن نفكر الآن أن هذه كانت واحدة من أولى الألعاب التي قامت بإنشاء التعديلات. انا كذلك
في المرة الأولى التي رأيت فيها شيئًا كهذا ، واعتقدت أنه رائع. إنه أمر مضحك ، لكنني لم أفكر أبدًا: "مرحبًا ، لماذا لا يكون هذا في ألعاب أخرى؟" ، لم أتوقع هذا من الألعاب!

شاشة Pegasus II Apple II Title

قنابل Pegasus II Apple II

TED ، محرر البلاط


JL : حسنا ، دعنا ننتقل إلى الحديث عن TEd.

[بينما كنا نتحدث ، أطلقت جهازي DOSBox حتى أتمكن من مشاهدة TEd و Deluxe Paint]

شاشة البداية سبلاش

طلاء فاخر

أول شيء أريد التحدث عنه هو شاشة التوقف TEd. مكتوب عليه طلاء فاخر لخرائط البلاط. أي شخص يعرف القليل عن تاريخ id البرمجيات يدرك أن Adrian Carmack استخدم Deluxe Paint ...

JR : تم استخدامه من قبل صناعة الألعاب بأكملها.

JL : بالضبط! لذا ، كان أول ما لفت نظري هو أن القوائم العليا من Deluxe Paint و TEd متشابهة جدًا ، سواء في المظهر أو في الشعور. هل حاولت أن تجعل شيئًا مألوفًا لمستخدمي الطلاء ديلوكس ، أو استخدمت بعض الأجزاء المأخوذة من الطلاء ديلوكس؟

JR : قبل معرف البرمجيات ، كتبت عدة أدوات للكمبيوتر الشخصي في SoftDisk. لقد كتبت Pixel Puzzle Maker ، أداة أحجية الصور المقطوعة لـ Softdisk تسمى Pixel Puzzler. كتبت قائمة منسدلة لـ Pixel Puzzle Maker ، ثم أجريت بعض التغييرات عليها. يبدو أنني كتبت أدوات أخرى للكمبيوتر الشخصي في Softdisk ، وعندما كنت أعمل على معرف ، يبدو أنني قمت بإنشاء أداة أخرى ، لأنه كان من السهل جدًا إنشاء هذا النظام باستخدام قائمة منسدلة.

لم يكن يعتمد على Deluxe Paint ، لأنني لم أستخدم مطلقًا Deluxe Paint ، لكنني اعتقدت أن العمل مع القائمة المنسدلة أسهل بكثير من استخدام مجموعة كاملة من المفاتيح الساخنة ... على الرغم من وجود الكثير من المفاتيح الساخنة!

نتيجة الصورة للقرص الأزرق الكبير اللغز بكسل

Pixel Puzzler 5

DL : بالحديث عن اختصارات لوحة المفاتيح: لاحظت أوجه تشابه أخرى. اعتدنا اليوم على حقيقة أن Control-Z هو إلغاء إجراء ، ولكن في تلك الأيام ، على الأقل في حالة Deluxe Paint و TEd ، تم الإلغاء بالضغط على مفتاح "U".

JR : [يضحك] واو. هل أتيت بهذا؟

JL : نعم! هنا ، انظر ، لقد ملأت المربعات ، نقرت على "U" وألغيت ...

[أرسم بعض المربعات ثم اضغط على "U" للتراجع عن الإجراء السابق]

JR : [يضحك] لطيف.

أوه ، وبالمناسبة ، لقد قمت بتشغيله في DOSBox ، وإذا قمت بتمرير الشاشة ، فستكون بطيئة جدًا مقارنة بكيفية عملها على 386 في تلك الأيام. طار البرنامج فقط.

JL : حقاً؟ لا تمزح؟

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

[ملاحظة المؤلف: تحدث جون عن تمرير EGA باستخدام وضع المزلاج في StackExchange: http://gamedev.stackexchange.com/questions/6488/how-did-they-make-the-screen-move-in-dangerous-dave ]

DL : حسنًا ، لقد قلت إن TED لديه الكثير من مفاتيح الاختصار. عند استخدام TEd ، غالبًا ما كان عليك قراءة ملف تعليمات لفهم كيفية استخدام هذه الأدوات.

JR : نعم بالطبع. أعتقد أن البعض ما زال يتذكر WordStar ، التي كانت مجرد مجموعة من مفاتيح الاختصار.

JL : [يضحك]

JR : في تلك الأيام ، لعبنا Ultima ، واستخدم Ultima كل حرف من لوحة المفاتيح ، لذلك كان من السهل تذكر أشياء كهذه.

نتيجة صورة لعبة ألتيما 1



[ملاحظة المؤلف: لقد اكتشفت دليل Ultima 1 ، وتبين أن جون على حق تمامًا ... تم إرفاق إجراء بكل مفتاح على لوحة المفاتيح تقريبًا!]

JL : هذا أمر مؤكد! لذلك ، في هذه المرحلة من تطوير صناعة الألعاب ، عندما يتعلق الأمر بتصميم المستوى ، كان عليك أن تأخذ ورقة رسم بياني وتضع بلاطات ، ثم تدخلها في الكمبيوتر.

JR : نعم.


CI_NES_TheLegendOfZeldaBreath_ZeldaOldman.gif

[ملاحظة المؤلف: بعد هذه المقابلة ، أرسل لي جون رسمًا على ورقة بيانية للعبة Mach Six التي أنشأها. يمكنك أيضًا قراءة مقالة Gamasutra حول كيفية استخدام Nintendo لورق الرسم البياني لتطوير مستويات Zelda الأولى على NES]

JL : إذن ، في أي مرحلة قررت ID Software أنه يلزم إنشاء TEd؟

JR : عندما عملت في Dangerous Dave في عام 1988 ، كنت بحاجة إلى إنشاء مستويات له ، وفكرت: "لماذا لا تستخدم اللعبة نفسها وتدعها تخلق مستويات يمكن حفظها." هذا بالضبط ما فعلته مع Dangerous Dave.

عندما رأى John Carmack هذا - وعمل لدى Apple II - كان منبهرًا جدًا لأنه كان معتادًا على استخدام النص للإشارة إلى الرسومات. عندما قررنا إنشاء شيء معًا لأول مرة ، كتبت TEd 1.0 ، وبعد بضعة أشهر تطورت إلى TEd 5.0 ، والتي تم استخدامها لتطوير 33 لعبة تم إصدارها.

نتيجة صورة DAVEROUS DAVE 1

نتيجة صورة DAVEROUS DAVE 1

DL : Wow ... عندما تتحدث عن 33 لعبة تم إصدارها ، فأنت لا تعني فقط مشروعات معرفات تم إنشاؤها ، على سبيل المثال ، سلسلة Commander Keen و Wolfenstein ، ولكن أيضًا المشاريع الخارجية ، على سبيل المثال ، Rise of the Triad؟

JR : بالطبع! المزيد من الممر 7 والألعاب لـ Gamer's Edge: Shadow Knights و Slordax و Dangerous Dave and The Haunted Mansion و Rescue Rover 1 و 2 و BioMenace ... مجموعة كاملة من الألعاب!

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

JR : بالضبط. في TEd 5.0 تم إنشاء جميع هذه الألعاب.



JL : جيد. أنا مهتم بما يلي: في مرحلة ما ، قررت أنت والأشخاص من id Software التبديل من الألعاب ثنائية الأبعاد إلى ثلاثية الأبعاد. هل ناقشت حتى فكرة إنشاء محرر جديد بدلاً من TEd؟

JR : نعم ، قمنا بحل هذه المشكلة بسرعة. اعتقدنا: "سيتم استخدام مصفوفة ثنائية الأبعاد لتمثيل المستوى. رائع ، نحن فقط نطبق TEd على ذلك. " نعم هذا كل شيء! [يضحك] كانت بسيطة للغاية.

JL : أود أن أطرح سؤالًا آخر: يقتبس توم هول في ملف المساعدة لـ Rise of the Triad: "عاجلاً أم آجلاً ، يتمكن المبرمج من كتابة ما يمكن أن يفخر به - إجراء ذكي وأنيق وسريع البرق ، والذي يصبح المعيار لـ كود المبرمجين الآخرين. ومع ذلك ، لا ينطبق هذا على إجراء ملء TEd. تملأ هذه الخوارزمية البطيئة والغبية مستوى بيانات واحد بطريقة بطيئة مؤلمة. اضغط على ESC عندما تجمد. "

JR : [يضحك]



جوليان : [يضحك] فلماذا كتبت هكذا؟ هل هذا الإجراء ملء أي تاريخ؟

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

[بينما كنا نتحدث ، بدأت إجراء تعبئة Flood Fill ، وتعطل TEd إلى DOSBox مع ظهور خطأ "القسمة على صفر"]

JR : [يضحك]

JL : [يضحك] بالتأكيد! هذا مضحك لأنني لعبت قليلا مع المحرر قبل المقابلة وفكرت: "أنا لا أفهم لماذا قال ذلك ، كل شيء يعمل بشكل جيد بالنسبة لي!"

JR : [يضحك] حسنًا ، لم يطلعنا على خطأ القسمة على صفر أيضًا ... أعتقد أن المشكلة هي أنك لم تحدد مربعًا. يسقط البرنامج عندما تحاول ملء بدون بلاطة.

[لقد قمت بإعادة تشغيل TEd ، الذي عرض مربع حوار إعداد الرسومات]



هل ترى نافذة إعداد الرسومات هذه؟ يسمح TEd بتحرير البطاقات في CGA و EGA و VGA. يقوم بنقل جميع البيانات الرسومية إلى ذاكرة XMS بحيث يمكن استرجاعها من XMS عند تبديل أوضاع الرسوم. أي إذا كانت لعبتك تدعم جميع أوضاع الرسوم الثلاثة ، فستسمح لك بتحميل هذه المربعات. يمكنك تحميل مربعات VGA بحيث عندما تقوم بالتبديل إلى وضع VGA ، يتم تحميلها كلها واستقرارها في الذاكرة.

جوليان : نعم ، قرأت أنها كانت ثورية بما فيه الكفاية في ذلك الوقت.

JR : نعم. أدركت أيضًا هذا الاحتمال: إذا كان المؤشر في مكان ما على المستوى ، فيمكنك الضغط على Alt-L ، وبعد ذلك سيتم تحميل اللعبة وستكون في هذا المكان من المستوى. دعونا نتحقق مما إذا كان هذا يعمل.

[أنقل المؤشر إلى المستوى واضغط على Alt-L. تظهر رسالة الخطأ]

جوليان : [يضحك] وأردت أيضًا التحدث عن هذا معك ...

JR : [يضحك]


DL : عندما جربت TEd ، أخذت لقطة شاشة لهذا الخطأ لأنني أردت أن أسألك عنه. لن ترى مثل هذه الرسائل اليوم في Photoshop أو Maya ... [يضحك]

JR : بالطبع ، بالطبع! تم كتابة هذه الأداة لي وتوم [هول] فقط.

JL : بالطبع! أردت أن أسألك عن هذا: هل كتبت رسالة الخطأ هذه خصيصًا لتوم؟

JR : بالطبع! كان فقط لتوم. لن أرتكب مثل هذا الخطأ. [يضحك]

جوليان : [يضحك] تخيل رد فعله الأول.

JR : أوه نعم ، انفجر يضحك.

[ثم أظهر لي جون أنك بحاجة إلى إضافة اسم اللعبة القابلة للتنفيذ بعد TEd القابل للتنفيذ حتى يعرف المحرر ما يتم تشغيله عند الضغط على Alt-L]

JL : نجاح باهر ، عملت!

JR : نعم ، لكنك انتقلت إلى بداية اللعبة. أعتقد أنه حدث ذلك أنك تستخدم نسخة إصدار اللعبة ، والتي تتجاهل معلمة سطر الأوامر. النسخة التجارية لا تسمح بذلك ، وإلا سيغش اللاعبون!

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

JR : نعم بالطبع! [يضحك]

مستقبل أدوات التطوير


جوليان : أود إنهاء المناقشة بمناقشة مستقبل أدوات تطوير اللعبة.

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

اليوم هناك أدوات مثل SnapMap (محرر مستويات Doom الجديدة) التي يمكن للجميع الوصول إليها ، ولكن لديهم مرونة أقل بكثير. هناك برمجة نصية بصرية ، أي أنه ليس على المستخدمين تعلم البرمجة أو البرمجة. في الوقت نفسه ، يعد إنشاء موارد اللعبة اللائقة المظهر لمعظم الناس مهمة لا يمكن تحقيقها.

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

نتيجة صورة للخريطة

نتيجة صورة للخريطة

JR : هذا تطور طبيعي. فريق تطوير SnapMap هو الأشخاص الذين بدأت مسيرتهم باللعب Doom واستخدام TEd. الشركة التي بنيت في برمجيات الهوية كانت تسمى Escalation Studios . فعلت قيامة الموت. لقد عرفت هؤلاء الناس لأكثر من عشرين عاما. إنهم لاعبون متشددون للغاية ، بعد Doom World ، ثم Quake World. لقد كانوا مع الشركة منذ وقت فعلنا الموت. هؤلاء هم الناس الذين كرسوا حياتهم لخلق مستويات لسنوات عديدة.

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

JL : نعم ، يبدو هذا منطقيا. أي أن هذا ليس بديلاً ، بل هو الخطوة الأولى على طريق التنمية.

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

نصيحة جون لمبرمجي الأدوات


DL : في سؤالي الأخير ، أريد أن أعود إلى حيث بدأنا: عرض استعادي للألعاب الكلاسيكية.

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

لذا ، ما النصيحة التي تقدمها لمطوري الأدوات الحديثة؟

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

JL : بالتأكيد.

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

JL : حق! [يضحك]

JR : إنه لأمر رائع أيضًا عندما يكون مبرمجو الأدوات والمستخدمون في نفس الغرفة ويتم إنشاء الأداة بأكبر قدر ممكن من التواصل بين الفريقين.

JL : أوافق.

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

JL : [يضحك]

JR : لا تنس أن الأدوات تعيش لفترة أطول من الألعاب.

JL : هذه نصيحة عظيمة. شكرًا جزيلاً ، أقدر حقًا أنك استغرقت وقتًا للتحدث معي.

JR : شكرا!

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


All Articles