اذهب إلى قائمة المقالات

مستجدات اتّساق بيئة لعب VALORANT 2

مشاركة:

أهلًا بكم مجددًا! بوصفنا فريق تكنولوجيا بيئة لعبة VALORANT، فنحن ننوي اليوم إطلاعكم على الجزء الثاني من نتائج تحرياتنا وإجراءاتنا المتعلقة باتّساق بيئة اللعب.

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

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

إليكم فيما يلي ملخص سريع لما ننوي إصداره في التحديث 4.10:

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

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

زمن الاستجابة والتخزين المؤقت

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

قبل التعمّق في التفاصيل، قد يكون من المفيد تقديم معلومات أساسية عما نقصده عندما نذكر "تخزين الشبكة المؤقت" أو "فترات المعالجة".

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

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

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

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

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

التحريات

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

وقد ركزنا على حالة ازدياد فترة معالجة الطلقات عند الضغط على زري Alt+Tab، باعتبارها من المشاكل التي كان اللاعبون قد بلّغوا عنها. فوضع اللعبة في الخلفية مع الوصول إلى الحد الأقصى لمعدل الأطر في الثانية في إعدادات الخلفية يحاكي مشكلة أداة موسعة لبرنامج العميل عبر خنق معدل الأطر في الثانية. وبعد العودة إلى نافذة اللعبة، قد يتسبب ارتفاع معدل الأطر المفاجئ في جعل طابور حركات الخادم أطول بشكل ملحوظ. من طرف برنامج العميل، سيبدو هذا أشبه باللعب بمعدل بينج عالٍ جدًا، دون أن يتم إظهاره في الرسومات البيانية لنقل البيانات ذهابًا وإيابًا على الشبكة (Network RTT).

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

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

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

عمليات الإصلاح والتحسينات

تتكفل عملية الإصلاح الأولى التي أجريناها بتعديل مدى سرعة إعادة التخزين المؤقت إلى الحجم المطلوب عندما يتسبب أي عامل بتضخيمه. فقد منحنا نظام معالجة الحركات القدرة على تعديل حجم زيادة فترات التخزين المؤقت بفاعلية أكبر.

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

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

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

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

نظرة على المستقبل

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

إن هذا الزمن الذي يتم قياسه على الرسم البياني يجب أن يكون مساويًا تقريبًا للمدة التي كنتم تشعرون بوجودها عند إجراء "اختبار السكين" القديم. وعندما تسير الأمور على ما يرام، يجب أن تكون قيمة هذا الخط البياني أعلى بمقدار 20-30 ميلي ثانية تقريبًا من رحلة نقل البيانات ذهابًا وإيابًا على الشبكة (Network RTT).. إلا أن القيمة المثالية ستختلف تبعًا لظروف الشبكة ومعدل الأطر لديكم.

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

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

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

التحديث القادم

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

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

ترقبوا مقال مستجدات آخر في المستقبل نتناول فيه عملية اختيار الخادم وطبيعة ارتباطها بأداء لاعبي البينج المرتفع.

نحنفي الانتظار

محتوى ذو صلة