كيف يمكن أن تكون راحة شبكة P2P بالكامل / شبه ذاتية الحكم للألعاب متعددة اللاعبين؟

StackOverflow https://stackoverflow.com/questions/597303

  •  11-09-2019
  •  | 
  •  

سؤال

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

بالمناسبة، يذهب هذا لأي لعبة مقاس، من لعبة Cheaters من اللاعبين مباشرة إلى FPS مع 30 لاعبين.

هل أنا مجنون؟

هل كانت مفيدة؟

المحلول

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

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

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

نصائح أخرى

المشكلة الكبيرة ليست bandowdth أو الكمون أو توزيع التغييرات في حالة اللعبة. المشكلة الكبيرة هي الثقة.

إذا أخبرتك، فقد قتلت وحش، كيف تحقق من أنني فعلت ذلك بالفعل؟ كيف تتحقق أن أنا في الواقع المستوى 45؟ كيف يمكنك التحقق من أنني لست عن بعد في جميع أنحاء العالم؟ تذكر أنك لا تستطيع التحقق من الخادم لكل التفاصيل الصغيرة: هذا ما نحاول تجنبه!

تحتاج لاعبين يراقبون اللاعبين وحتى عندها قد يعملون معا للغش. أشك حقا في أي شخص سوف مهندس جديرة بالثقة P2P MMO في أي وقت قريب.

هناك العديد من الأشياء التي يجب مراعاتها في سؤالك:

1) الموزع الموزع - من يبدأ اللعبة بعد ذلك؟ أين يمكنني أن أجد العقدة الأولى؟ ماذا لو قرر الجميع إغلاق عميل P2P في نفس الوقت؟ هل ينتهي العالم؟

2) قواعد distubuted - من يستطيع تأكيد أن اللاعب 77 من أصل 102235 قتل وحش في س، ذ، ض؟ أرى مشاكل كبيرة في القرصنة / الغش مع "رئيس في القيادة" ...

3) الكمون - متى تلقى عميل جميع البيانات؟ ماذا لو انكسر الإنترنت؟ أو في لعبة LAN، ماذا لو تموت HardDrive - هل هذه اللعبة مجنونة للجميع؟

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

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

قد يكون هناك حل باهظ الثمن هو "خوادم الخوادم الوكيلية" (خوادم الوكيل) حيث لديك بعض البيانات أكثر قريبة من اللاعبين. هذا أعتقد أنه سيتطلب منك الوصول إلى الكثير من ServerFarms في جميع أنحاء العالم (نظرا لأن عاصفة ثلجية لا تحتوي على WOW) أو سيتعين عليك اختراع نوع من "مضيف P2P" الذكي الذي سيقوم بترقية نفسها إلى "SUSTERVER" عند ثم كبيرة بما يكفي وكاجيا اللاعبين قريبون في برولزته (التحقق دائما من التأخر من وجهة نظره ...) ... الآن دعونا نقول ذلك كان ذلك ممكنا .. ماذا لو تم كسر الخط بين هذا الخضوع والأجميلاب الرئيسي على مستوى العالم تكرارا؟

لول ... هذا يمكن أن يستمر ... يبدو أكثر وأكثر مثل المشكلة العامة مع الإنترنت :-)

الترميز السعيد ...!

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

أود أن أقول أن هناك إمكانيات، لكن عددهم يبدو محدودا، على الرغم من أن الأقوياء.

أعتقد أن هذا ممكن من الناحية النظرية، لكنه لا يزال بعيد المنال.

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

يمكن الاحتفاظ بفقدان البيانات في مستويات مقبولة عن طريق ترك عدة العقد تكون مسؤولة عن كل قطعة من البيانات.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top