سر الإحصائيات الكبيرة في UFO: Enemy Unknown (1994)

احصائيات xcom


معظمنا ، الذي لعب منذ فترة طويلة الجسم الغريب القديم: العدو غير معروف ، قد صادف حالات (أو على الأقل يعرف) الحالات التي تطير فيها إحصائيات الجندي لمدة 160 وتندفع إلى القيم التي تتدفق عبر 255 وتصل إلى الصفر.

أردت أن أوضح الموقف ، ولماذا حدث هذا ، وأين حدث هذا بالضبط. من أجل وضع حد لهذه القصة.

أثناء الدراسة ، تم فحص إصدارات DOS 1.0 و 1.2 و 1.4 والروسية (مترجمة) والنسخة الذهبية. هذا هو ، كل ما هو متاح حرفيا.

تمت ملاحظة هذا الخطأ فقط في الإصدار 1.0. ولكن ، تجدر الإشارة إلى أن إصدار سكانها ينالون الجنسية الروسية كان يستند بالضبط إلى الإصدار 1.0 ، لذلك اتضح أن العديد من مواطنينا واجهوا هذا الوضع في كثير من الأحيان أكثر من بقية العالم ، لأن لقد انزلقت لفترة وجيزة فقط (ظهر التصحيح 1.2 بسرعة كافية ، بعد شهر واحد فقط) ، ولم يفعل أحد الترويس للإصدارات الجديدة.

جزء من رمز geoscape.exe المفكك المسؤول عن الزيادة في الإحصائيات استنادًا إلى نتيجة المهمة (زيادة في وحدات الوقت):

الإصدار 1.0

الإزاحة 2Ah و 35 h تتعلق بـ TUs الأساسية وتحسين TU ، على التوالي

في الإصدار 1.2، رمز بدا بالفعل قليلا مختلفة:

الإصدار 1.2

لاحظ من فضلك أن المفتاح هنا هو JZ / JLE.
JZ - الانتقال إذا كانت النتيجة صفر (مكافئ).
JLE - القفز إذا كانت النتيجة أقل أو ما يعادلها.

اتضح أن المطورين في البداية ارتكبوا خطأ من المبتدئين: لقد تحققوا من وجود حد بدون هامش ، على الرغم من حقيقة أن القيمة يمكن أن تقفز بأكثر من 1.

أي ، في حالة "TUs" ، كان النمو محدودًا فقط إذا بلغ بالتأكيد 80.

كل من لعب في الإصدارات المحدثة أو غير سكانها ينالون الجنسية الروسية لم يصادفوا هذا الخلل.

ملاحظة: بعد الخوض بشكل أعمق ، اتضح أن إصدار سكانها ينالون الجنسية الروسية هو مزيج هجين تم فيه أخذ GEOSCAPE.EXE من الإصدار 1.0 ، وكان BATTLESCAPE.EXE من 1.2. إنه فقط تحطم الرأس الحربي من 1.0 عندما ظهرت Crissalids ، ومع هذا الإصدار ستكون اللعبة غير قابلة للحياة. قسمت Gollops اللعبة عمدًا إلى نوعين مختلفين من EXE (وضعي لعبة مختلفين) يتفاعلان عبر الملفات من أجل احتواء اللعبة في 640 كيلوبايت من الذاكرة التقليدية ، لأسباب تاريخية: تم تصورها في الأصل على أنها تكتيك بسيط قائم على الدور ، Laser Squad 2. لذلك ، كان هذا الهجين ممكنًا.

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


All Articles