Kami sedang membangun game multipemain waktu nyata, di mana setiap pemain bertanggung jawab untuk melaporkan kondisinya pada setiap iterasi dari loop game.
Pembaruan negara disiarkan menggunakan UDP yang tidak dapat diandalkan .
Untuk meminimalkan pengiriman data negara, kami membuat sistem yang hanya akan mengirim delta (data status apa pun yang diubah).
Namun metode ini cacat, karena paket yang hilang akan berarti bahwa pemain lain tidak akan menerima delta, membuat permainan berperilaku dengan cara yang tidak terduga.
Sebagai contoh:
Asumsikan bahwa keadaan terdiri dari: {positionX, positionY, health}
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.
// Pemain lain tidak tahu tentang perubahan kesehatan.
Bagaimana cara mengatasi masalah ini? mengirim seluruh data tidak selalu layak.