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