(2XKO) كيفية التعامل مع اللعب على الشبكة في

إليكم كل التقنيات التي نستخدمها لجعل اللعب على الشبكة بنفس نزاهة وسرعة ومتعة اللعب دون اتصال.

مرحبًا بالجميع! معكم توني كانون، المدير الأول لهندسة البرامج في 2XKO. في هذا المنشور، سنزيح الستار لنكشف لكم عمّا نفعله لتصميم أفضل تجربة لعب ممكنةٍ على الشبكة.

لدينا الكثير من تفاصيل الشرح التقني، لذا إليكم الملخص إذا كنتم بحاجته:

  • نهتم حقًا بجعل اللعب على الشبكة آمنًا ودون انقطاعات بقدر المستطاع. لدينا الكثير من الأنظمة المختلفة لجعل ذلك حقيقة، بما فيها هندسة الخادم \ برنامج العميل، وتقنية "rollback netcode"، ونظامٌ نسميه نمط اللعب العادل.
  • نأخذ مكافحة الغش على محمل الجد. يعني هذا أننا نستخدم برنامج Riot المعروف Vanguard، والذي سيساعدنا على ضمان مواجهة خصومٍ بشريين لا يستخدمون البرمجة النصية (سكريبتينج).
  • نستخدم الكثير من الأدوات الجديدة لجعل الأنظمة المحيطة باللعبة تعمل.
    • نستخدم برمجيةً تدعى خادم مصادقة المباراة لتشغيل نسخةٍ عن كل مباراة على السحابة (cloud)، مما يعزز مكافحة الغش وتقييم المهارة وتجربة المشاهدة.
    • يمكن للوصل التوافقي الآن البحث عن المباريات عبر الصالات، لذا ستجدون خصمًا بسرعة حتى لو لم تكن صالتكم مزدحمة.

حسنًا، فلندخل في التفاصيل.

التصميم لمنح الأولوية للعب على الشبكة

منذ البدايات الأولى لتطوير 2XKO، أولينا الكثير من الاهتمام للعب على الشبكة. كانت أولويتنا الأولى عند تصميم تقنية جوهرية هي إدراج البرنامج الوسيط GGPO ونقل جميع اختبارات اللعب إلى الشبكة. رغم أن اللعبة في وقتها كانت بنظام peer-to-peer (تبادل البيانات بين الأجهزة)، فقد صممنا خادمًا بنظام "packet proxy" وشغلناه في مقر بيانات Riot في لاس فيغاس كي تقام جميع اختبارات اللعب على شبكة الإنترنت حقًا. كان تحضير هذا في مرحلة التصميم أمرًا بالغ الأهمية. تم تصميم واختبار كل شخصيةٍ مع حركاتها ومتوالياتها ومؤثراتها الحركية وتأثيراتها للعبها على الشبكة أولًا، وذلك لضمان جعل اللعب على الشبكة بنفس جودة اللعب دون اتصال.

هندسة برنامج العميل \ الخادم

مع تقدم عملية التطوير، انتقلنا من نظام "peer-to-peer" إلى بنيةٍ هندسية تعتمد على برنامج العميل والخادم، وكانت نقلةً مدفوعةً باحتياجات المباريات التي تضم أربعة لاعبين ورغبتنا في أداءٍ أكثر استقرارًا وتحسنًا. في مباراة أربعة ضد أربعة، يرسل كل لاعب ويتلقى ما يقارب ثلث البيانات في نموذج الخادم \ برنامج العميل بالمقارنة مع نموذج نظام "peer-to-peer"، مما يخفض متطلبات معدل نقل البيانات (bandwidth)، كما يقلل من فرص ضياعها، ويساعد في ضمان أداءٍ أكثر سلاسة حتى لو كان الاتصال بالشبكة أقل موثوقية. هناك أسباب أخرى عديدة لاستخدام البنية الهندسية التي تعتمد على برنامج العميل والخادم.

حماية الخصوصية وعنوان IP

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

السلطة على المزامنة وإدخال الأوامر

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

دون الدخول في تعقيداتٍ كثيرة، فإن موازنة الصدع تعني مزامنة مواقيت اللعبة لجميع اللاعبين في المباراة. وهذا أمرٌ معقدٌ أساسًا في مباراة بين لاعبين اثنين باستخدام تقنية "peer-to-peer". فكيف يمكن ضمان أن كلا اللاعبين يتعاملان مع نفس المعلومات؟ (فاصلٌ للمتعمقين: يتعلق هذا بمعضلة الجنرالين، وهو مستحيلٌ حتمًا، لكنني استطردت بما فيه الكفاية...) في مباراة تضم أربعة لاعبين، سيتسبب هذا في صداعٍ أكبر! 

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

نمط اللعب العادل

نعمل على ميزةٍ أخرى لتحسين تجربة المستخدم للعبة 2XKO على الشبكة تدعى نمط اللعب العادل. جميعنا لعب مباريات ضد لاعبين على شبكة واي فاي أو جهاز هاتف مشبوك على اتصال آخر أو جهاز حاسب يمتلك مواصفات تقل بعض الشيء عن المواصفات الدنيا. فما الذي يحدث حينها؟ يحدث تقطيع وتوقف مؤقت في اللعبة، أو ما هو أسوأ... فقد يحدث استرجاع زمني هائل تبدو فيه الشخصيات وكأنها تنتقل بشكلٍ خاطف من مكانٍ إلى آخر. في المباريات بنظام اقتران "peer-to-peer"، يمثل هذا أفضل ما يمكن فعله حرفيًا. إذا لم تصل أوامر الإدخال لجميع اللاعبين في المباراة في الوقت المناسب، فلن يمكن إنقاذ الوضع ولو حتى عبر الاسترجاع الزمني. ويصبح هذا مشكلةً على وجه الخصوص عند وجود لاعبين خبثاء. فقد يستطيع اللاعب سيئ النية إضافة محول تأخير إلى وحدة التحكم لديه لتوليد فقدان حزمة بيانات عند الرغبة أو الضغط على شريط Windows أعلى اللعبة على جهاز الحاسب لإدخال اللعبة في حالة جمود مؤقت. سيتسبب كلا الأمرين في حالات إبطاءٍ حادة للخصم، مما يجعله يتوقف عن متواليته في الوقت غير المناسب. 

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

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

البنية التحتية والحماية على المستوى العام

جميع هذه التحسينات على الاتصال بالشبكة لن تكون مهمةً بالطبع دون وجود أساسٍ قويٍ عام لدعمها. يعني هذا أننا سنستغل القوة الكاملة للبنية التحتية لشبكات Riot للحصول على التماسك المطلوب. سيتم ضخ بيانات 2XKO المتدفقة على الشبكة عبر عمود Riot Direct الفقري لضمان وصول حزم الإشارة إلى الخادم بشكلٍ أسرع من التأخير على الإنترنت. فالخوادم بحد ذاتها محمية بخدمة "DDoS" عامة، كيلا يتمكن المخترقون من تخريب الاتصال أثناء النهائي الأخير لإحدى المسابقات التي تستضيفونها في صالتكم الخاصة مثلًا. سنستخدم منصة الألعاب المؤقتة المتوفرة لدى Riot لنشر الخوادم على مستوى العالم وضمان توفير مباريات بسرعة عالية (بينج منخفض) لجميع اللاعبين في المناطق التي ستصدر فيها اللعبة. نتطلع لامتلاك خوادم قريبة من جميع اللاعبين على مستوى العالم، لكن التحضير لهذا الأمر قد يتطلب بعض الوقت. نقدر صبركم معنا ريثما نقوم بطرحها.

برنامج Riot لمكافحة الغش Vanguard

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

مهلة تأخير أوامر إدخال ثابتة وإيقاع الأطر

سنقوم أيضًا بضبط الأنظمة الفرعية لتأخير أوامر الإدخال وإيقاع الأطر لضمان ثبات أداء بيئة لعب 2XKO بأكبر قدرٍ ممكن، بغض النظر عن اللعب على الشبكة أو دون اتصال، على الحاسب أو المنصة. 

مهلة تأخير أوامر إدخال ثابتة

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

إيقاع الأطر

يتمثل الحل الثاني في الاستثمار بشدة في إيقاع الأطر. يعني إيقاع الأطر مدى سرعة واستقرار عمليات المحاكاة وتحضير الصورة والعرض لكل إطار. إذا كان إيقاع الأطر غير مستقر، فقد تلاحظون الكثير من التقطيع في الفيديو أو أن حركات one-frame link (الحركات التي يجب تنفيذها أثناء إطار واحد لبدء أو إكمال متواليةٍ مثلًا) قد لا يتم تنفيذها أحيانًا، رغم ثقتكم من ضبطكم لتوقيت تنفيذها بشكلٍ صحيح. ركزنا جهودنا في عملية ضبط إيقاع الأطر على تخفيض تأخير أوامر الإدخال إلى أدنى حد واختصار الاختلافات بين المنصة والحاسب بأكبر قدرٍ ممكن. وفي الوقت الراهن، فإن الوقت الفاصل بين ضغط الزر وما ترونه على الشاشة كنتيجة متماثل تقريبًا لأجهزة الحاسب و PS5 و Xbox. ننوه مجددًا إلى أن هذا يعني أن لعب 2XKO سيمنح الانطباع نفسه سواء كنتم تلعبون دون اتصال أو على الشبكة، على الحاسب المنزلي أو على منصة في فعاليةٍ مباشرة.

خادم مصادقة المباراة (GVS)

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

والفوائد التي نحصل عليها من هذا الأمر مهمةٌ بحق. أولًا، يعني توفر خادم بطبيعة الحال أن بوسعنا التعرف بالضبط على اللاعب الذي سيخضع لعقوبة إذا ترك أحد اللاعبين المباراة في سَورة غضب أو قام بسحب شريط الإنترنت. يسمح لنا GVS بقطع خطوةٍ إضافيةٍ أبعد: إذا كانت نسخة أحد اللاعبين من المباراة مختلفةً عن جميع اللاعبين الآخرين بسبب التلاعب، نستطيع تحديد ذلك اللاعب عبر مقارنة تفقد إجمالي البيانات (وهو عبارة عن رقمٍ قصير يتم استخراجه من البيانات يمثل "بصمةً رقمية" للاعب) لحالة مباراته مع نسخة المباراة على GVS، وبذلك نتغلب على طريقةٍ أخرى لفرض التعادل كنتيجة للمباراة عبر تعديل حالة المباراة المقصود. 

كما أن نظام GVS يغذي مجرى مخزون البيانات لدينا بنتائج المباريات. على سبيل المثال، تتم تغذية خدمات التصنيف المركزية في Riot بإحصاءات مفصلة لكل مباراة. تتم تغذية خدمة التصنيف بإحصاءات نهاية المباراة عبر خوارزمية برنامج True Skill 2 من إصدار Microsoft، وذلك لتحديد مستوى مهارة اللاعب بشكلٍ فعال ضمن حفنةٍ من المباريات فحسب. يعني هذا معاناةً أقل في مبارياتٍ غير متكافئة، ونأمل أن يخفض ذلك بشكلٍ كبير من استخدام حسابات السميرف.

الصالات ونمط المشاهدة

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

المباريات الجارية

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

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

كيف تعمل المشاهدة من جانب الخادم

تطلب تشغيل نظام المشاهدة المذكور بنجاح قدرًا لا بأس به من التجارب. إن الألعاب القتالية التي تستخدم الاسترجاع الزمني مثل 2XKO حتمية النتائج، لذا من الممكن دائمًا إعادة عرض حالة المباراة إذا توفرت المعطيات (أي أوامر الإدخال) فحسب. فإذا دخل أحدهم مقصورةً وبدأ بالمشاهدة منذ الجولة الأولى، نغذي جهازه بأوامر الإدخال بالترتيب وسيسير كل شيءٍ على ما يرام. لكن ماذا لو كانت المباراة في منتصفها أساسًا؟ سيبقى من الممكن تغذية جهاز المشاهد بكافة المعطيات ويستطيع تسريع عرض كامل المباراة إلى أن يواكب ما فاته، لكن ذلك يتطلب الكثير من الوقت. في الواقع، فإن النسخ الأولى من صالات 2XKO قبل Alpha Lab 1 كانت تعمل بهذه الطريقة بالضبط. وكانت تؤدي وظيفتها، لكن الانطباع عنها لم يكن جيدًا بما يكفي. فالحاجة للانتظار بين 5 و 20 ثانية إلى أن تتم مواكبة الأحداث على الشاشة قد ثبط عزيمة اللاعبين عن استخدام الميزة تمامًا.

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

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

الوصل التوافقي عبر الصالات

هناك أمرٌ أخيرٌ أود الحديث عنه هو ميزة الوصل التوافقي عبر الصالات. هناك الكثير من الطرق في 2XKO للعثور على مباراة: بوسعكم تحدي لاعبين منفردين مباشرةً أو الجلوس في مقصورة وانتظار قدوم لاعبٍ آخر للجلوس بجواركم، أو وضع العملة المعدنية في شاشة "التالي" كما في أيام الآركيد الخوالي، أو طلب العثور على خصمٍ من محرك البحث التوافقي ببساطة. 

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

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

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

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

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

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

شكرًا لكم على حسن القراءة،

Tony Cannon