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