เมื่อออกแบบเกมแบบผู้เล่นหลายคนในเครือข่ายที่ผู้เล่นคนหนึ่งเป็นเจ้าภาพและคนอื่น ๆ เชื่อมต่อมีสองวิธีที่ฉันรู้:
- ให้เกมของผู้เล่นโฮสต์เป็นผู้มีอำนาจโดยมีผู้เล่นคนอื่น ๆ ทั้งหมดที่เป็นลูกค้าใบ้พยายามที่จะไล่ตามสถานะเกมปัจจุบัน ในรหัสนั้นจะต้องมีหลายกรณีพิเศษขึ้นอยู่กับว่าผู้เล่นปัจจุบันเป็นเจ้าบ้านหรือไม่
- ทำให้โฮสต์เป็นลูกค้าที่โง่เหมือนคนอื่น ๆ โดยการเรียกใช้เซิร์ฟเวอร์เฉพาะที่ซ่อนอยู่ในเธรดอื่น เซิร์ฟเวอร์เฉพาะจะเป็นสิทธิ์และโฮสต์จะเชื่อมต่อกับมันเหมือนทุกคน (ผ่าน localhost)
ข้อดี / ข้อเสียของแต่ละข้อคืออะไร? ใช้บ่อยที่สุด (หรือแตกต่างกันไปตามประเภท / ขนาดของเกม)