ข้อ จำกัด ของเกม p2p ที่มีผู้เล่นหลายคนเทียบกับไคลเอนต์เซิร์ฟเวอร์ [ปิด]


12

ฉันกำลังอ่านข้อมูลเกี่ยวกับสถาปัตยกรรมเกมแบบผู้เล่นหลายคน

จนถึงที่สุดของบทความที่ฉันได้พบข้อตกลงกับรูปแบบลูกค้า - เซิร์ฟเวอร์

ฉันต้องการทราบว่ามีข้อ จำกัด ในการใช้สถาปัตยกรรม p2p อย่างไร สิ่งที่ "คลาส" ของเกมเป็นไปได้ (หรือมากกว่าปกติ) เพื่อใช้งานหรือไม่ อันไหน และโดยทั่วไปแล้วอะไรคือข้อแตกต่างและข้อ จำกัด หลักกับแบบจำลองไคลเอ็นต์ - เซิร์ฟเวอร์



สำหรับตัวอย่างเกม P2P จริงคุณสามารถดู Gunz: The Duel ซึ่งมีปัญหามากมายในการเล่นหลายคนและการแฮ็คเนื่องจากสาเหตุนี้
fhyve

คำตอบ:


11

นี่คือสองเซ็นต์ของฉัน:

P2P :

  • ข้อดี:
    • ไม่จำเป็นต้องใช้เซิร์ฟเวอร์กลาง : สิ่งนี้ทำให้ถูกกว่าและมีประสิทธิภาพมากขึ้นสำหรับเกมอินดี้ที่มีงบประมาณต่ำ
    • ปรับขนาดได้ดีมาก (จนถึงจุดหนึ่งเมื่อไคลเอ็นต์โดยเฉลี่ยไม่สามารถจัดการแบนด์วิดท์ได้)
    • ดีมากสำหรับการกระจายข้อมูล : เหมาะกับเกมที่เนื้อหาที่ผู้ใช้สร้างขึ้นจะถูกซิงค์แบบไดนามิก (เช่น torrents)
    • มีเสถียรภาพมากขึ้น: ไม่สามารถเกิดขึ้นได้ว่าเซิร์ฟเวอร์กำลังมีปัญหาและไม่มีใครสามารถเล่นได้ (ขึ้นอยู่กับการนำไปใช้)
  • จุดด้อย:
    • ยากที่จะนำไปใช้ : สร้าง P2P สถาปัตยกรรมได้ยากกว่าเซิร์ฟเวอร์ไคลเอ็นต์
    • เป็นเรื่องยากมากที่จะป้องกันการโกงในระบบดังกล่าวเว้นแต่คุณจะกำหนดเพียร์ที่เชื่อถือได้ (ซึ่งจะขัดขวางผลประโยชน์ใด ๆ
    • ความปลอดภัยนั้นยากที่จะบรรลุ
    • การเชื่อมต่ออินเทอร์เน็ตของลูกค้าสามารถมีอิทธิพลต่อเกมสำหรับผู้อื่นด้วย
    • ความหน่วงแฝงมักมากกว่า (แม้ว่าจะดีขึ้นเมื่อเข้าร่วมเกมอินเทอร์เน็ตที่มีผู้ใช้หลายคนจากเครือข่าย LAN)
    • อาจต้องมีการส่งต่อพอร์ต : P2P บนอินเทอร์เน็ตต้องมีการส่งต่อพอร์ตและทุกคนไม่ได้มีความโน้มเอียงทางเทคนิคเพียงพอที่จะทำเช่นนั้น นอกจากนี้ ISP อาจป้องกันการส่งต่อพอร์ตและจะเพิ่มอุปสรรคในการเข้า

เซิร์ฟเวอร์ - ไคลเอนต์ :

  • ข้อดี:
    • ใช้งานง่าย: มันตรงไปตรงมาเท่าที่จะทำได้
    • หากใช้งานได้ดีให้ปรับขนาดได้ดีมาก (หากสามารถกระจายงานไปยังหลายเซิร์ฟเวอร์ได้)
    • การโกงสามารถหลีกเลี่ยงได้ง่าย (เทียบกับ P2P)
    • เวลาแฝงที่ต่ำกว่า : หากเซิร์ฟเวอร์มีการเชื่อมต่อที่มั่นคงเวลาในการตอบสนองอาจต่ำมาก
    • การเชื่อมต่ออินเทอร์เน็ตของผู้เล่นไม่ส่งผลกระทบต่อเกมของผู้อื่น
  • จุดด้อย:
    • ค่าใช้จ่ายในการใช้งานเซิร์ฟเวอร์ : ไม่เหมาะสำหรับเกมฟรี (เว้นแต่คุณจะให้ผู้เล่นตั้งค่าเซิร์ฟเวอร์เฉพาะ แต่นั่นอาจเป็นปัญหาด้านความปลอดภัย)
    • หากเซิร์ฟเวอร์มีปัญหาทุกคนทำ

ฉันจะพิจารณา P2P เป็นตัวเลือกที่ดีเพราะการเชื่อมต่ออินเทอร์เน็ตโดยเฉลี่ยกำลังดีขึ้นเรื่อย ๆ ในอนาคตเวลาแฝง P2P อาจไม่เป็นปัญหาเลย ยังเกี่ยวกับ P2P มากขึ้นอยู่กับการใช้งานเฉพาะ

นอกจากนี้ยังมีสถาปัตยกรรมบางอย่างที่รวม P2P กับเซิร์ฟเวอร์ไคลเอนต์


P2P Con: การจับคู่เว้นแต่ว่าเป็นเกม LAN คุณไม่ทราบวิธีหาเพื่อนของคุณ CS: เวลาแฝงที่ต่ำกว่าไม่ใช่เมื่อผู้เล่นคนหนึ่งพูดเยอรมนีและอีกคนอยู่ในออสเตรเลีย มันยังคงเป็นปัญหา 6y ในภายหลัง CS: เสียเงินให้คุณไม่มากขนาดนั้นจริงๆ เซิร์ฟเวอร์ค่อนข้างถูก นอกจากนี้คุณสามารถเริ่มต้นด้วยการโฮสต์เกมบนพีซีของคุณเองโดยใช้เว็บพร็อกซีเพื่อชี้ไปที่เกม
badunius

2

ความเสี่ยงครั้งใหญ่ของเกมเพียร์ทูเพียร์คือไม่มีอำนาจกลางในรูปแบบของเซิร์ฟเวอร์ที่เป็นกลางไม่มีวิธีใดที่จะป้องกันการโกง ลูกค้าแต่ละรายสามารถ interprete ผลลัพธ์ของเกมอย่างไรก็ตามมันต้องการ บางเกมประกาศหนึ่งในลูกค้าของโฮสต์และให้เขาเป็นผู้ตัดสิน แต่เมื่อลูกค้าคนนั้นเป็นสิบแปดมงกุฎพวกเขาตัดสินผลของเกมทั้งหมด

ด้วยเกมที่ต้องใช้เวลาในการตอบสนองต่ำและมีแบนด์วิธสูงเช่นเดียวกับเกมใด ๆ ที่ต้องการการตอบสนองอย่างรวดเร็วจากผู้เล่นคุณมีปัญหาว่าโฮสต์กำลังใช้การเชื่อมต่ออินเทอร์เน็ตระดับผู้บริโภคไม่ใช่นั่งอยู่ในดาต้าเซ็นเตอร์ด้วยกระดูกสันหลังที่มีประสิทธิภาพสูง สัมพันธ์ นั่นหมายถึงประสบการณ์ที่ผู้ใช้จะได้รับ นี่ไม่ใช่ปัญหามากในเกมที่เน้นกลยุทธ์มากขึ้น "ช้าลง"


การใช้แบบจำลองฉันทามติการโกงนั้นไม่เป็นปัญหาอีกต่อไปกว่าในรูปแบบไคลเอนต์ - เซิร์ฟเวอร์
Jeroen

1

การนำเกมแบบผู้เล่นหลายคนไปใช้เป็นเรื่องง่ายไม่ใช่เรื่องง่ายและไม่สามารถทำได้ในขณะนี้

ปัญหาที่คุณมีคือไม่มีเพื่อนรู้จักเพื่อนอื่น ๆ ทั้งหมดเพื่อให้คุณมีหลายฮ็อพสำหรับแต่ละข้อความซึ่งส่งผลให้เวลาแฝงที่สูงขึ้นเมื่อเทียบกับโมเดลเซิร์ฟเวอร์ไคลเอ็นต์ ดูกระดาษนี้สำหรับรายละเอียดเพิ่มเติม

เกมรอบ ๆ สามารถใช้โปรโตคอลดังกล่าวได้อย่างง่ายดายเนื่องจากไม่ต้องพึ่งพาเวลาในการตอบสนองมากนัก นอกจากนี้พวกเขาปกติมีเพียงไม่กี่โฮสต์ในเซสชั่นเพื่อให้สามารถออกอากาศทุกข้อความไปยังผู้เล่นอื่น ๆ

เกมอื่น ๆ ที่ใช้เพียร์ทูเพียร์เพียงแค่เลือกหนึ่งใน Peers แบบไดนามิกเพื่อโฮสต์เกม (เช่น CoD MW2) ซึ่งส่งผลให้เกิดปัญหาเช่นการย้ายโฮสต์หากโฮสต์ตัดการเชื่อมต่อ


3
คุณหมายถึง "ไม่สามารถใช้งานได้ในขณะนี้"? มีเกมมากมายที่ใช้ P2P สำหรับเครือข่าย นอกจากนี้ "เพื่อนไม่มีใครรู้ว่าคนรอบข้างอื่น ๆ ทั้งหมด" เป็นคำที่ผิด ในขณะที่รีเลย์ในทางปฏิบัติจำเป็นต้องได้รับการสนับสนุนเพื่อปรับปรุงความทนทานเป็นไปได้ทั้งหมดที่มีโทโพโลยีเครือข่ายทุกคนกับทุกคนที่สมบูรณ์แบบโดยเฉพาะอย่างยิ่งกับจำนวนเพียร์ขนาดเล็กหรือใน LAN ที่ไม่มีเราเตอร์ NAT รบกวน
Tapio

@Tapio แน่นอนว่ามันเป็นไปได้ที่จะสร้าง p2p-network สำหรับเกม แต่มันจะถูก จำกัด ในแง่ของเวลา, จำนวนผู้ใช้หรือสภาพแวดล้อมที่มันถูกใช้ ด้วยเหตุผลดังกล่าวเกมส่วนใหญ่ไม่ใช้วิธีการ p2p
Horstinator

@ Horstinator ฉันรู้จักเกมที่ใช้ P2P สำหรับเกม FPS มันสนับสนุนผู้เล่น 50-100 คนโดยไม่มีปัญหาเรื่องความล่าช้าใด ๆ (เรียกว่าสงคราม stickman สำหรับทุกคนที่สนใจ)
akaltar

@akaltar มันเป็นโอเพนซอร์สหรือไม่ รหัสต้องการดูว่าพวกเขาทำได้อย่างไร
Horstinator

@ Horstinator เลวร้ายเกินไป แต่เท่าที่ฉันรู้ว่ามันไม่ใช่ คุณสามารถถามผู้สร้างในฟอรัม (เป็นโครงการขนาดเล็กมากดังนั้นควรมีคนตอบกลับ)
akaltar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.