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

تحت الخفض ، سنناقش أولاً الممارسة العامة المتمثلة في اختيار المعارك في الألعاب متعددة اللاعبين ، ثم مشاركة تجربتنا الخاصة في تنظيم التوفيق بين روبوتات الحرب.
أي معايير للاختيار؟
فما الذي يحدد التوفيق الجيد؟ بالطبع ، يعتمد هذا على النظام الأساسي وميزات اللعبة ، ولكن كقاعدة عامة ، يسترشد المطورون بالمعايير التالية:
- وقت انتظار قصير
- انخفاض بينغ.
- الحد الأدنى للفرق في خبرة اللاعبين ومهاراتهم وتقدمهم: هنا يمكن أن تؤخذ تجربة اللعبة في الحسبان بشكل عام وفئة معينة ، إذا كانت اللعبة قد قسمت إليها ؛
- معارضة كل حزب آخر - مجموعات مسبقة التجميع من اللاعبين تهدف إلى تنسيق العمل ؛
- بداية متزامنة للمباراة لجميع اللاعبين.
متطلبات أخرى ممكنة ، على سبيل المثال:
- التقاط اللاعبين الذين يتحدثون نفس اللغة ؛
- ضع في الاعتبار نتائج آخر المباريات للاعب ، وكذلك معامل الامتثال للتقييم: إذا خسر اللاعب المباريات القليلة الأخيرة ، فقد يكون الآن في وضع غير لائق الآن ، ويجب أن يمنح المعارضين بعض الوقت أسهل
- اجعل التوفيق يأخذ في الاعتبار تكوين الفرق: إذا افتقد أحد الفريقين ، على سبيل المثال ، دبابة أو معالج ، ابحث عن خصوم فريق لهم نفس التركيبة ؛
- جمع المتصيدون والكبد والقابضون حتى لا يتدخلوا مع لاعبين آخرين ؛
- تنويع تركيبة اللاعبين بحيث لا يجتمع نفس الأشخاص في المباريات المختلفة كثيرًا ؛
- جمع اللاعبين باستخدام الدردشة الصوتية.
من غير الممكن دائمًا تلبية جميع هذه المتطلبات في وقت واحد. علاوة على ذلك ، هناك عدد كبير من المتطلبات تتعارض دائمًا مع الرغبة في تحقيق وقت انتظار قصير. حتى لو كانت اللعبة ناجحة جدًا ، وكان المئات ينتظرون المباراة كل دقيقة ، فقد لا يكون هناك وقت كاف للوفاء ببعض المتطلبات. على سبيل المثال ، إذا كنت ترغب في العثور على فريق أسترالي آخر مرضٍ لفريق من الأستراليين كمنافسين ، فقد يزداد وقت الانتظار بشكل كبير.
في هذا الصدد ، من بين جميع المتطلبات المطلوبة ، من الضروري اختيار الأكثر أهمية لمشروع معين. اختصار هذه القائمة سيؤدي إلى امتثال أفضل للمتطلبات المتبقية وأوقات انتظار أقصر.
أيضًا ، عند تطوير ألعاب متعددة اللاعبين ، تجدر الإشارة إلى أن إضافة أوضاع مختلفة للعبة تقسم قاعدة اللاعبين إلى عدة قوائم انتظار ، مما يؤدي إلى زيادة وقت الانتظار ، وبالتالي إلى تدهور في جودة التوفيق. لذلك ، فكر مرة أخرى قبل إضافة هذا الوضع أو ذاك إلى اللعبة ، وما إذا كان الأمر يستحق إعطاء اللاعب الفرصة للاختيار بينها.
إن تقليل عدد متطلبات التوفيق ليس هو الطريقة الوحيدة لتقليل وقت الانتظار. على سبيل المثال ، يمكنك تطبيق لعبة متعددة اللاعبين على نظام Drop-In-Drop-Out ، بحيث يمكن للمستخدمين الانضمام إلى اللعبة في أي وقت والخروج منها في أي وقت. إذا لم يكن ذلك ممكنًا ، مع فترة قصيرة من التطابقات ، يمكنك السماح للاعب باللعب بالبوتات في عملية الانتظار. بالطبع ، لن يحل هذا مشكلة التوقع ، لكن على الأقل سيسمح لنا بتمرير الوقت.
كيفية تقييم الامتثال للمعايير المحددة؟
لذلك ، لدينا عدد معين من اللاعبين ، يجب تخصيصه للمباريات. كيف نفعل ذلك بشكل أفضل؟ أيهما أفضل: نفس المستوى من المهارات أو بينغ المنخفض؟ كيف يمكننا الموازنة بين هذه المتطلبات بحيث تلعب الأطراف ضد بعضها البعض؟
للمقارنة ، نحن بحاجة إلى قياس معين. بطريقة ما ، يجب أن تتقارب جميع هذه المعايير في معلمة واحدة ، والتي من خلالها يمكن للنظام إجراء عملية بحث بأعلى قيمة. بعد ذلك سوف نسميها نتيجة المباراة.
من أجل الحصول على قيمة هذا التقييم ، يجب عليك أولاً حساب المؤشرات الفردية. النظر في مجموعة من العوامل:
- فرق مع نفس مستوى المهارة. هذا هو المعيار الأكثر وضوحا في التوفيق. لكل لعبة ، طريقة حساب هذه المعلمة فردية. واحدة من أبسط: خذ متوسط مستوى الخبرة لكل فريق ومقارنتها بنفس القيمة لفريق آخر. وكلما زاد الفرق ، ازدادت حدة المطابقة وانخفض المؤشر المرغوب.
- لاعبين بنفس مستوى المهارة. حتى إذا كان الفريقان متوازنين تمامًا ، لكنهما يتألفان على سبيل المثال من اثنين من المحترفين والمبتدئين ، فإن المؤشر المتوسط لمهارات الفريقين سيكون هو نفسه ، لكن المباراة الجيدة لن تنجح. لذلك ، نقدم معلمة أخرى ليس للفريق ككل ، ولكن لكل لاعب على حدة ، أو تباين مستوى المهارات داخل الفريق.
- باتي. من الناحية المثالية ، يجب على المجموعة التي تلعب معًا لفترة طويلة أن تعارض مجموعة أخرى من نفس المجموعة ، وليس ضد ثلاثة لاعبين منفصلين. من السهل الحساب: إذا كان الفريق يلعب مع بعضهم البعض لفترة طويلة ، فلدينا مؤشر يساوي 100٪. إذا كان فريق من ثلاثة يلعب ضد صديقين ولاعب عشوائي واحد ، نحصل على 60 ٪. إذا لم يلعب أي من اللاعبين مع بعضهم البعض من قبل ، فستكون القيمة 0٪.
- بينغ المعارضين. لكل مستخدم ، نتحقق من اختبار ping مع اللاعبين الثلاثة للفريق المنافس. وكلما ارتفع بينغ ، وانخفاض درجة.
- تقلب المعارضين. في السعي لتحقيق متطلبات الأولوية العليا ، يمكن لنظام التوفيق في كثير من الأحيان وضع نفس الفرق ضد بعضها البعض مع أعلى معدلات المطابقة. لذلك ، حتى لا يشعر اللاعبون بالملل باستمرار من الوجوه المألوفة ، فإن الأمر يستحق متابعة عدد المرات التي يلتقون فيها في المباريات.
مثال على المباراة التي يكون للفرق فيها مؤشر 100٪ للحزب ، وهو مؤشر جيد لمتوسط المهارة في الفريق ، ولكن هناك علاقة ضعيفة في مهارات اللاعبين الفرديين: في الفريق الأزرق ، يختلفون بشكل كبيركيف نأخذ في الاعتبار غموض المعايير؟
لذلك ، لكل معيار من المعايير ، لدينا درجة من 0 ٪ (صدفة سيئة للغاية) إلى 100 ٪ (الأفضل) ، ولكن في النهاية نحتاج إلى الحصول على رقم واحد فقط. لهذا سوف نستخدم قيمة المتوسط المرجح. ثم يمكننا تحديد أولوية الأهمية لكل معيار.
عند حساب التقدير ، يجدر التفكير فيما إذا كنا نريد الحصول على اعتماد خطي للمعلمات. على سبيل المثال ، هل تحسين ping من 210 مللي ثانية إلى 200 مللي ثانية جديرة بالاهتمام من 110 مللي ثانية إلى 100 مللي ثانية؟ تم تحسين كلا الخيارين بمقدار 10 مللي ثانية ، ولكن قيمة ping نفسها مختلفة عن الضعف.
ومن المثير للاهتمام ، في حالة وجود بعض المعايير ، يكون من الأسهل الحصول على فرق كبير في الأداء مقارنةً بالآخرين. لذلك ، من أجل الحصول على 0٪ من حيث مستوى المهارة ، يلزم جمع ثلاثة لاعبين محترفين وثلاثة مبتدئين في المباراة ، وهو أمر نادر للغاية. ومع ذلك ، فإن الحصول على 0٪ وفقًا لمعيار الحزب أسهل كثيرًا ، لأنك في حاجة إلى أن يكون لديك فريق واحد تم تجميعه لفترة طويلة ضد ثلاثة لاعبين منفردين. هذا الجانب هو أيضا يستحق النظر.
مثال على كيفية تكوين الفرق وفقًا لمستوى المهارة. الأخضر والأصفر تظهر بينغ بين اللاعبينالآن ، استنادًا إلى قيم مؤشرات كل من المتطلبات ، يمكننا حساب النتيجة النهائية.
بما أن هذا الرقم هو المعيار السائد ، فإن الخوارزمية تنتج تفضيلات معينة. إذا زاد تبادل لاعبين اثنين من معامل التقييم لمباراة واحدة بنسبة 5٪ ، ولكنه يقللها بنسبة 10٪ في مباراة أخرى ، فلن يقوم النظام بذلك ، لأن النتيجة ستصبح عمومًا أسوأ. ومع ذلك ، في بعض الحالات يمكن إهمال هذا. لذلك ، قد يكون من المناسب تحسين مؤشر واحد من 50٪ (وهو سيء جدًا) إلى 55٪ عن طريق تقليل المؤشر الآخر من 90٪ إلى 80٪ (والذي لا يزال جيدًا). يمكن تحقيق ذلك ، على سبيل المثال ، من خلال حساب الجذر التربيعي لجميع مؤشرات التقييم حتى مرحلة المتوسط. وبالتالي ، يصبح تحسين المباريات السيئة أكثر أهمية نسبيًا من المباريات الجيدة.
كيف يحدث هذا في روبوتات الحرب؟
بما أننا نتحدث عن لعبة محمولة حيث يجب أن يحدث كل شيء بسرعة ، فإن الأولوية الرئيسية هي انخفاض وقت الانتظار قبل الدخول في المعركة. لهذا ، يجب أن يكون نظام التوفيق بسيطًا قدر الإمكان. في الوقت الحالي ، يأخذ صانع مباريات War Robots في الاعتبار فقط تصنيف اختيار اللاعب (MMR) ويحاول التركيز على الأطراف ، لكن نظرًا لأنها ليست منتشرة على نطاق واسع في اللعبة ، فإن هذا المعيار هو ثانوي: إذا لم تتمكن من مطابقة الأطراف من نفس القوة ، فإن النظام يحاول الجمع مع بعضها البعض عدد قليل من الأطراف أو لا يركز على هذا المعيار على الإطلاق. وإذا غادر أحد اللاعبين المعركة ، فسيحل محله آخر يستوفي المعايير ، ولكن فقط في بداية المباراة.
يعتمد تصنيف اختيار اللاعبين على عدد مرات الفوز / الخسائر والمكان في الفريق ، واعتمادًا على نتيجة المباراة ، يمكن أن يزيد أو ينقص. وفقًا لهذا التصنيف ، يتم تجميع اللاعبين في بطولات الدوري والانقسامات. داخل القسم ، يبحث صانع التعارف عن لاعبين يتمتعون بأكبر درجة تصنيف ممكنة ، مما يوسع نطاق البحث تدريجياً ويغطي الأقسام التالية أيضًا. تجدر الإشارة إلى أن صانعي المباريات يحاولون منع اللاعبين من المشاركة في البطولات الدنيا الذين يقللون من تقديرهم عمداً عن طريق تتبعهم وفقًا لأنماط السلوك المميزة: عادة ما يكون عدد الهزائم أكبر من متوسط عدد معارك الدوري في اليوم.
مبسطة روبوتات الحرب مطابقة مخطط انسيابيالنظام يستخدم للعمل بشكل خاطئ. كان المعيار الرئيسي هو قوة الروبوتات والأسلحة ، ومن نتائج المباريات ، تم الأخذ في الاعتبار الخمسة الأخيرة فقط. كان النظام أكثر عرضة للتلاعب. يمكن للاعبين المتمرسين أن يكونوا في نفس المعركة مع القادمين الجدد ، إذا غيروا أسلحتهم إلى أضعف ، أو بالعكس ، يمكن للوافد الجديد إلى روبوت المستوى الأول تثبيت السلاح الثاني عشر وينتهي به الأمر في معركة مع المحترفين ، دون أن يكون لديهم وقت لتطوير مهارة اللعبة. في هذا الصدد ، اتضح أن نظام التصنيف المبني على الخبرة الحقيقية في الانتصارات والهزائم كان أكثر صدقًا ، على الرغم من أنه لم يكن من الممكن الوصول إليه على الفور: إعادة التنظيم الكاملة لعملية التوفيق هي خطوة جذرية ، لذلك ، في البداية ، كان لا يزال يحاول تعيين النظام بشروط إضافية.
العمل على تحسين وتحسين التوفيق في War Robots مستمر. ربما سيكون من الممكن في المستقبل الجمع بين النهج القديم والجديد لإيجاد المباريات ، لكن لا تنسَ أن أي تحسن في جودة التوفيق يؤدي إلى زيادة وقت الانتظار. لذلك ، سيكون من المستحسن تطوير مثل هذا الحل فقط إذا كان لا يؤثر بشكل كبير على أداء النظام.