العنوان: نظرة مستقبلية: تحسين استقرار UEFN وتقليل أوقات التكرار [سلسلة نقاش]

المؤلفين:Aurel Cordonnier@aurel.cordonnierو Kavita Chodavarapu@CKnew234

مرحبًا مطوّري Fortnite،

لقد التزمنا (https://www.youtube.com/watch?v=M1F5CimXO_8&t=2492s) العام الماضي بتحسين استقرار UEFN وسرعة التكرار فيه. هدفنا هو تقليل وقت التكرار بنسبة 50% بحلول يونيو (أو أكثر - نأمل أن نتجاوز توقعاتنا). يوضح هذا المنشور التغييرات التي أجريناها على عملية الاختبار الداخلية وضمان الجودة لدينا لمعالجة استقرار الإصدار ومجموعة التحديثات الأوّلية التي سنقدمها في الأشهر المقبلة لتحسين أوقات التكرار.

استقرار الإصدار والاختبار

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

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

النتائج حتى الآن مُشجّعة. في الإصدار 39.30، منعنا وصول 57% من العيوب إلى الإصدار المباشر، وفي الإصدارين 39.40 و39.50، لم نرصد أي عيوب حرجة مرتبطة بمحتوى المُطوّرين أو استمرارية البيانات، وكان ذلك نتيجة مباشرة لسرعة الفرز وتوسيع نطاق التغطية. كما انخفض معدل تسرب العيوب (العيوب التي تصل إلى الإصدارات المباشرة) بشكل ملحوظ: من 18.5% في الإصدار 39.11 إلى 4.7% فقط في الإصدار 39.40.

نعلم أنّ المقاييس الداخلية لا تُظهر سوى جزء من الحقيقة، ولذا نتعاون مع فريق المجتمع لإطلاق استبيانات شهرية حول الاستقرار، وذلك حتى نستمع مباشرةً إلى المُطوّرين ونتأكد من أنُهم يلاحظون فرقًا ملحوظًا. ستساعدنا هذه الملاحظات في تحديد المجالات التي يجب أن نركز عليها جهودنا لتحسين الاستقرار.

أدوات الاستقرار وإدارة الأصول

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

  • أدوات فحص سلامة الأصول: حل مشكلات التحقق من صحة الأصول وأخطاء “نفاد الذاكرة” بينما تقوم بالتكرار باستخدام ميزات جديدة للمراقبة بعد الاستيراد، والإبلاغ، وحدود الذاكرة لكل منصة.
  • تحديثات المُحلّل المكاني: مع إمكانيات التحليل الموسّعة في UEFN، ستتمكن من تحديد الأصول الثقيلة بسرعة عبر المنصات. يتضمن ذلك نتائج جديدة لحساب الذاكرة مباشرةً، وعرضًا مباشرًا جديدًا للأصول مع تحليل UObject ( Objects in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community ).

تحسينات على المُهيئّات
لتسريع عملية تجهيز جزيرتك لجلسة اللعب وتحسين أوقات التكرار، نقوم بإعادة هيكلة مسار تدفق التهيئة في UEFN ليكون أكثر كفاءة. تُشير “التهيئة” ( cook | Fortnite Documentation | Epic Developer Community ) إلى عملية تحويل الأصول الخام إلى تنسيق محسّن جاهز للعميل، مما يسمح بتحميل المحتوى وعرضه بسرعة.

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

  • Zen DDC (المخزن المؤقت للبيانات المنحدرة - Using Derived Data Cache in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community ): نقوم بنشر أحدث أنظمة خوادم Zen على الواجهة الخلفية لـ UEFN ونقدم لقطات مُهيئة لتحسين كفاءة عملية التهيئة، مما يقلل من حلقة تكرار “التشغيل على العميل”.
  • التهيئة التزايدية: نضيف نظامًا يقوم فقط بتهيئة التغييرات في الأصول المطلوبة (الفروقات) التي يتم دفعها من مشروعك، بدلاً من إعادة معالجة البيانات التي لم تتغيّر.
  • شرح المظلّل المُوزّع: بدلاً من أن يتحمل جهازك المحلي الحمل الكامل، سنقوم بتوزيع عملية شرح المُظلّل على السحابة، مما يسرع وقت الشرح.

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

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

يمكنك متابعة هذه التحديثات على خارطة طريق مطوّري Fortnite ( Trello ). سنستخدم هذه السلسلة أيضًا لمشاركة التحديثات المتعلقة بعملنا المستمر لتحسين استقرار UEFN وتقليل وقت التكرار.