Saya telah membaca artikel Valve tentang jaringan multi-pemain yang telah diadaptasi dari makalah Yahn Bernier pada tahun 2001 yang disebut Metode Kompensasi Latensi dalam Desain dan Optimasi Protokol dalam Gim Klien / Server . Saya membuat game multi-pemain realtime menggunakan server node.js yang terhubung ke klien melalui socket.io dan saya punya beberapa pertanyaan mengenai prinsip-prinsip yang dirinci di bawah ini:
Interpolasi Entitas
[Interpolasi] mencegah gerakan gelisah yang biasanya menyebabkan buffering pembaruan server kemudian memutarnya kembali dengan celah-celah di antara keduanya. Itu juga dapat melindungi terhadap gangguan yang disebabkan oleh paket loss.
Prediksi Sisi Klien
Prediksi adalah gagasan klien yang memperkirakan efek dari tindakan pemain lokal tanpa menunggu server mengonfirmasi. Keadaan diprediksi entitas diuji terhadap perintah server saat mereka tiba sampai kecocokan atau kecocokan salah terdeteksi.
Kompensasi Lag
Kompensasi lag adalah gagasan server yang menggunakan latensi pemain untuk memundurkan waktu saat memproses [input pengguna], untuk melihat apa yang dilihat pemain saat perintah dikirim. Dalam kombinasi dengan prediksi, kompensasi keterlambatan dapat membantu memerangi latensi jaringan hingga hampir menghilangkannya dari perspektif penyerang.
Apakah prinsip-prinsip berlaku untuk TCP seperti yang mereka lakukan untuk UDP dan apakah akan ada perbedaan dalam implementasi? Saya dapat melihat bahwa interpolasi entitas tidak perlu melindungi terhadap kehilangan paket tetapi hanya itu saja.
Dapatkah saya berkomunikasi antara server dan browser web dan sebaliknya menggunakan UDP dan Node.js?
Karena makalah ini berumur lebih dari satu dekade, apakah prinsip-prinsip ini masih digunakan atau sudahkah teknologi lain muncul?
Bantuan apa pun akan sangat dihargai.