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