لغات البرمجة – كم من الوقت وما هو نوع التعقيد الذي كان سيشارك في كتابة كريس سوير معظم أعاصير Rollercoaster في Assembler? Exchange Exchange Exchange ، Tycoon Rollercoaster: أفضل لعبة محسنة على الإطلاق? | PCGamesn
رولركوستر تريق: أفضل لعبة محسنة في كل العصور
تصبح التجميع معقدة عندما تقوم بكل هذه التحسينات المجنونة (عمليات التأثيرات المتجهة ، والاستفادة من مجموعات التعليمات الخاصة (SSE ، وما إلى ذلك). إذا كنت تفعل هذه الأشياء ، فإن الوقت هو في الواقع في “الكمان هذا الشيء ، والتجميع ، والقياس. تعزز هذا الشيء ، والتجميع ، والقياس. “حلقة وليس في الترميز الفعلي. مع تجميع ماكرو جيد ومبرمج ماهر ، فإن مجموعة الكتابة ليست ضخم التنحي من كتابة رمز C.
كم من الوقت وما هو نوع التعقيد الذي كان سيشارك في كتابة كريس سوير معظم أعاصير Rollercoaster في Assembler?
هل كان من الممكن أن يبدأ بكتابته في C ، ثم يغير أجزاء منه إلى التجميع حسب الحاجة للأداء?
ها ، ها ، ها ، هذا مثل سؤال من شخص يقرأ تعليقاتي القديمة.
3 إجابات 3
من قراءة سيرته الذاتية القاسية ، يبدو الأمر وكأنه عامين (أوائل عام 1997 إلى أواخر عام 1998). بالنظر إلى أنه يبدو أنه شخص “مشروع واحد في وقت واحد” ، فإن مجموعة الأدوات والإطار الزمني ليس رائعًا لـ “تطوير الفريق” ، سأفترض شهرين مستقيم 24 برمجيًا.
في تلك المرحلة ، كان مبرمجًا للألعاب المهنية يعمل في التجميع منذ عام 1983 ، لذلك لن أساوي “عامين من كريس” إلى “عامين” من العمل.
بالنظر إلى أن معظم الألعاب الاحترافية تستغرق حوالي 25 عامًا حتى يتطور فريق ما ، فإن سنوات من شخصين للعبة الرائدة في الصناعة هي إنجاز رائع ، ويقرض العقيدة للأقوال:
- المبرمج الرائع هو 10X أكثر إنتاجية من مبرمج جيد
- المبرمج أكثر أهمية من لغة الإنتاجية
لذلك في هذه الحالة ، كم من الأسرع سيتم كتابة قطب Rollercoaster لو استخدم كريس C أو Java أو JavaScript . ربما لم يكن الأمر مهمًا بخلاف حقيقة أنه ربما كان أبطأ قليلاً باستخدام لغة ذات مستوى أعلى لم يكن لديه خبرة 14 عامًا معها.
أجاب 18 نوفمبر 2010 الساعة 23:02
2،331 2 2 شارات ذهبية 18 18 شارات فضية 17 17 شارات برونزية
نقاط رائعة ، لقد فكرت في هذا الأمر.
إذا كنت تفكر في C أكثر من مجرد مجمع “رفيع المستوى” ، ونحن نفترض أن كريس لم يكن يقوم بالتحسينات المجنونة لرمز التجميع الخاص به في كل روتين ، ثم أتخيل من حيث ٪ وقت أطول ، ثم قد لا يكون ذلك أكثر من ذلك بكثير لمبرمج التجميع الماهر.
تصبح التجميع معقدة عندما تقوم بكل هذه التحسينات المجنونة (عمليات التأثيرات المتجهة ، والاستفادة من مجموعات التعليمات الخاصة (SSE ، وما إلى ذلك). إذا كنت تفعل هذه الأشياء ، فإن الوقت هو في الواقع في “الكمان هذا الشيء ، والتجميع ، والقياس. تعزز هذا الشيء ، والتجميع ، والقياس. “حلقة وليس في الترميز الفعلي. مع تجميع ماكرو جيد ومبرمج ماهر ، فإن مجموعة الكتابة ليست ضخم التنحي من كتابة رمز C.
ومع ذلك ، لم أتمكن من القيام بذلك! أرتجف للتفكير في محاولة تهيئة DirectX مباشرة في التجميع! ((يحرر: يخبرني ويكيبيديا أنه كتب بعض الأجزاء في C إلى “واجهة مع نظام تشغيل Windows” لذلك أعتقد أنه لم يكن يهيئة DirectX في التجميع بعد ذلك. فيو!)
رولركوستر تريق: أفضل لعبة محسنة في كل العصور?
في صباح أحد أيام الأحد في أبريل 1999 ، كان مصمم الألعاب كريس سوير قد تطفو في مركز قيادة غرفة المعيشة ، وهي مجموعة من منتديات التكنولوجيا في التسعينيات ، عبر الإنترنت. في أواخر شهر مارس ، هبطت قطب الدوران الافتتاحي على الرفوف في أمريكا الشمالية التي تتساقط مع حب سوير المعدي للمتنزهات الترفيهية ، ويبدو أن شيئًا ما قد حدث خاطئ.
في المنتديات ، كان اللاعبون يقولون إن اللعبة فقدت بطريقة ما تقدمهم وأعادوهم إلى المربع الأول في سيناريوهات اللعبة ، والتي تتقدم بشكل متتابع للمستويات. بعد سنوات من العمل الدقيق ، بدا أن اللعبة قد تم تدميرها ذاتيًا لأسباب غامضة. لكن سوير كان لديه حدس: الليلة الماضية ، كان وقت التوفير في ضوء النهار ساري المفعول.
ربما كان أكثر من مصادفة. في غضون ساعتين ، اكتشف الاتصال. الأساليب الزمنية المعدلة على ملفات الحفظ ، هناك للحماية من العبث أو الفساد ، لم تكن مطابقة. يقول سوير: “بشكل محرج ، لقد كان خطأ صارخ من جانبي”. “او كانت?”
يجب أن يكون استدعاء النظام الذي استخدمه قد أسفر عن الوقت في UTC ، دون تغيير عن طريق التوفير في ضوء النهار ، ولا يخلق أي مشكلة. “فقط لسبب ما ،” يقول ، ” فعل يتغير!سرعان ما قام بترميز التصحيح وبعد ذلك فائدة لإصلاح ملفات Save Game.
كانت المفارقة الأكبر أن تبلد رولركوستر بخلاف ذلك بمثابة نصب تذكاري لما يمكن أن ينجزه شخص واحد في البرمجة. كتبت بالكامل تقريبًا في قانون التجميع (مثل قطب النقل السابق في سوير) ، وبلعج Rollercoaster وتتمة عصره وأعيد إرفاق المعالجات في ذلك الوقت لمحاكاة ركوب الخيل والاقتصادات وما يصل إلى الآلاف من الزوار وحالاتهم الذهنية. إن التغلب على العديد من الأرقام في الوقت الفعلي دون أن يطالب بتثبيط نهج هزيل لا هوادة. وفي التجميع العالي للغاية ، حيث تقف الرسائل للأسلاك والأصفار ، يتحدث أحدهم مباشرة إلى المعالج.
إنها لغة صعبة للغاية للتعلم وقد خرجت عن الأسلوب منذ تطور فورتران في الخمسينيات من القرن الماضي. في أيامه الأولى ، أصدر سوير حفنة من الألعاب المشفرة Z80 في منتصف الثمانينيات من القرن الماضي واستمرت في أن تصبح لعبة رائعة في تحويل ألعاب Amiga إلى DOS ، بما في ذلك Classic Elite II.
وسيمًا وبصليطًا ، ثم ذهب إلى العمل من أجل نفسه وخلق عملاق النقل أثناء التمسك بحقوقه ، وهي عادة ما زودته بمصدر ثابت للدخل. ذهب بعضها إلى السفر في أوروبا والولايات المتحدة لركوب الوقايات الدوارة في أماكن مثل Cedar Point في أوهايو. لقد صعد الآن أكثر من 700 شركة. المفضل لديه ، تارون في فانتاسيالاند في ألمانيا ، يبدو وكأنه شيء من لعبة قطب.
انجذب Sawyer إلى مجموعة x86 بشكل طبيعي ، حيث يقدر عرضه النظيف وتجميع البرق السريع ، وعندما انطلق لتصنيع قطب Rollercoaster ، قام بتزوير جهاز كمبيوتر شخصي: أحدهما سريع للترميز وأسلوب أبطأ للاختبار. (دعت متطلبات نظام اللعبة لاحقًا إلى Intel Pentium 90MHz مع ما لا يقل عن 16 ميغابايت من ذاكرة الوصول العشوائي.) كما كان السبت على قمة Post Post له طابعة مصفوفة DOT (يعتقد) ، وجهاز فاكس ، ودليل جيب إلى رمز التجميع x86 ، ومرجع سطح مكتب 500 صفحة. كان هذا كافيا بالنسبة له. على الرغم من أن الأدلة الكاملة تسير على آلاف الصفحات ، إلا أنه كان يحفظ معظم ما يحتاجه.
يقول: “كنت أقوم برمجة في x86 لفترة طويلة نادراً ما كنت بحاجة إلى البحث عن الأمور”.
كانت اللعبة الأولى تشبه قطب النقل ولكن مع الوقايات الدوارة ، وخلق فنانها الرسومي سيمون فوستر نظامًا أكثر مرونة وعلمًا لافتاتًا ، لذا فإن الوقايات ستبدو الجزء. كان الكثير من عملية التصميم الأولية مجانًا ومستوحاة من عدد قليل من الأسلاك الواضحة: ويل رايت ، بيتر مولينو ، سيد ماير. ولكن الأهم من ذلك كله ، كان على سوير إعطاء الأولوية للأداء. تعني الميزات الجديدة عبءًا أكبر على جهاز الكمبيوتر الخنازير البطيء ، وبينما يمكن أن يكون بعضها مملوءًا من الكود ، كان على البعض الآخر البقاء.
كان الإرهاق أحد هؤلاء ، وأصبح أكبر صداع. يقول سوير: “من السهل برمجة خوارزمية البحث عن الطرقات التي تعمل بشكل مثالي ، لكن لا فائدة منها إذا كانت تتوقف عن اللعبة لثواني أو دقائق في الوقت الذي يحتاج فيه إلى اتخاذ قرار.”
لقد قطع على الخوارزميات ، وتجاهل العديد من الرجال والنساء الصغار في الشجيرات وأسفل المسار الزخرفي الخاطئ. يقول: “لقد زرت عددًا لا بأس به من الحدائق الكبيرة في الولايات المتحدة بحلول ذلك الوقت وتمكنت من الضياع في بعضها بنفسي”. “لذلك اعتقدت أنه ربما كان من الصواب أن يناضل الضيوف في Rollercoaster Tycoon أيضًا […] إذا تم تصميم تخطيط الحديقة بشكل سيئ.”
بمجرد أن تطورت اللعبة من قائمة أمنيات Ramshackle إلى معبد SVGA إلى الحدائق الترفيهية ، قام سوير بنشرها إلى الأصدقاء والجيران وأطفال الجيران ، الذين استجابوا بشكل إيجابي للغاية. رتب الناشر Hasbro لاستخدامات لعب صيد الأخطاء المحترفين ، وقام سوير بالتحقيق الذي لا نهاية له. وعلى الرغم من زمن التوفير في وضح النهار ، فإن Tycoon Rollercoaster أصبح لعبة الكمبيوتر الشخصي الأكثر مبيعًا لعام 1999.
بالنسبة للتتمة ، تمت إضافة Sawyer إلى قاعدة الكود الأصلية ، مما يقترب من رؤيته النهائية. وقال لـ Eurogamer في عام 2016 “ما زلت أحب تلك اللعبة وكل شيء عنها”. استمر سوير مع التجميع ، باستخدامه حصريًا تقريبًا لعلاج كود كريس سوير في عام 2004 ، وأكثرها طموحًا حتى الآن وأيضًا لقب سطح المكتب الرئيسي الأخير له. لقد تراجع منذ ذلك الحين من تطوير اللعبة وترخيص حقوق ألعاب Rollercoaster Tycoon الجديدة إلى Atari – الجهود التي لم تقترب أبدًا من نجاح الأولين.
Sawyer لا يتماشى مع الصناعة كما هي الآن ، على الرغم من أنه يقدر الانتعاش الأخير في سيمز الإدارة. هناك حاجة ضئيلة لمبرمج التجميع هذه الأيام (كما يوافق) ، والعمل كذئب وحيد أكثر من أي وقت مضى. يقول: “أشعر أيضًا أنني قمت الآن بإنشاء جميع الألعاب التي أردت إنشاؤها” ، بما في ذلك الإصدارات المحمولة من ألعابه الكلاسيكية ، “والعمل على تصميمات لعبة شخص آخر لا يثيرني فقط.”
مات هرودي مات هرودي هو كاتب ألعاب غطى Rollercoaster Tycoon 2 لـ PCGamesn.