Chúng tôi đang xây dựng một trò chơi nhiều người chơi trong thời gian thực, trong đó mỗi người chơi chịu trách nhiệm báo cáo trạng thái của nó trên mỗi lần lặp của vòng lặp trò chơi.
Các cập nhật trạng thái được phát bằng UDP không đáng tin cậy .
Để giảm thiểu việc gửi dữ liệu trạng thái, chúng tôi đã đưa ra một hệ thống sẽ chỉ gửi deltas (bất kỳ dữ liệu trạng thái nào đã được thay đổi).
Tuy nhiên, phương pháp này còn thiếu sót, vì một gói bị mất sẽ có nghĩa là những người chơi khác sẽ không nhận được delta, khiến trò chơi hoạt động theo cách không mong muốn.
Ví dụ:
Giả sử trạng thái đó bao gồm: {vị tríX, vị trí, sức khỏe}
Frame 1 - positionX changed --> send a packet with positionX only.
Frame 2 - health changed // lost !
Frame 3 - positionY changed --> send a packet with positionY only.
// Người chơi khác không biết về thay đổi sức khỏe.
Làm thế nào một người có thể khắc phục vấn đề này sau đó? gửi toàn bộ dữ liệu không phải lúc nào cũng khả thi.