Feedback baru tampil setelah server merespons (model request-response) Request-response (no client-side feedback)
ID penyebab sy-request-response · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)
Saat tombol ditekan, tidak ada animasi maupun suara sampai jawaban server datang. Ping langsung menjadi kecepatan respons.
Mengapa Skill, gerakan, dan pengambilan item baru diputar setelah konfirmasi server datang → Akibatnya Sejak tombol ditekan, tidak ada respons apa pun selama waktu pulang-pergi + waktu tunggu tick → Di layar Dengan ping 150 ms, setiap aksi terasa lamban 0,2 detik
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Klien: mulai animasi, suara, dan efek begitu tombol ditekan (feedback sisi klien), tampilkan hanya hasilnya (damage, hadiah) setelah server mengonfirmasi, terapkan gerakan dan serangan dasar langsung dengan prediksi, dan saat menerima koreksi posisi dari server, terapkan ulang input yang belum dikonfirmasi mulai dari posisi itu. Server: hitung sendiri gerakan dari input yang diterima, kirim nilai koreksi hanya jika selisihnya dengan posisi prediksi klien melewati batas.
Kisaran angka
Waktu respons ≈ ping + setengah interval tick + satu frame. Pada server 20 tick dengan ping 150 ms, sekitar 190 ms.
Di grafik
Selalu tinggi sejak awal · Waktu dari input sampai animasi dimulai, RTT (ping)
Yang diperiksa
Catat waktu tombol ditekan, waktu animasi atau suara pertama dimulai, dan waktu respons server tiba di log klien pada build development, lalu bandingkan berdampingan dengan RTT di dalam game. Ukur sambil mengubah ping dengan menambahkan latensi lewat emulasi jaringan engine (Unreal NetEmulation.PktLag) atau tc netem Linux di server uji
Cocok jika
Animasi selalu dimulai tepat saat respons server tiba, waktu dari input sampai animasi sebesar RTT + waktu tunggu tick, dan bertambah persis sebesar latensi yang ditambahkan
Tidak cocok jika
Animasi dimulai begitu tombol ditekan dan hanya hasil seperti angka damage yang terlambat: desainnya normal. Tetap terlambat lebih dari satu interval tick walaupun ping rendah: lebih mungkin menunggu tick dua kali atau masalah frame di klien
Sarana pemeriksaan
Log dan metrik server atau klien game
Pelajari lebih lanjut
Untuk game yang tidak butuh respons cepat, seperti game turn-based, kartu, atau idle, cara ini paling sederhana dan aman. Masalah muncul saat game dengan kontrol real-time juga membuat gerakan atau serangan dasar dengan cara ini.
Using Gameplay Abilities in Unreal EngineEpic Games Local Predicted langsung dijalankan begitu tombol ditekan dan keputusan akhirnya di server, sedangkan Server Initiated tidak punya prediksi sehingga latensi terlihat oleh pemakainya
Using Network Emulation in Unreal EngineEpic Games Pengujian dengan memasukkan latensi minimum dan maksimum serta rasio packet loss ke server dan klien; di konsol diatur seperti NetEmulation.PktLag
tc-netem(8) — Linux manual pageiproute2 Tools pengujian yang meniru jaringan nyata dengan menambahkan latensi dan jitter (delay TIME JITTER) serta packet loss (loss random PERCENT) ke paket keluar