한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › Desain sinkronisasi

Prediksi rollback netcode meleset Rollback misprediction

ID penyebab sy-rollback · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Input lawan diprediksi dan ditampilkan lebih dulu; jika prediksinya salah, game diputar mundur lalu dihitung ulang. Makin tinggi ping, makin lebar rentang rewind.

Mengapa Lawan mengubah input (berbeda dari prediksi) → Akibatnya Input sebenarnya tiba terlambat sebesar setengah ping, jadi game diputar mundur sebesar itu lalu dihitung ulang → Di layar Gerakan lawan melompati beberapa frame atau tiba-tiba berubah

Gejala
Teleport
Faktor
Latensi, Jitter
Siapa yang mengalami
Hanya saya
Kapan
Saat melakukan aksi tertentu, Sesekali secara acak
Penanggung jawab
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Campurkan input delay 1–3 frame untuk mempersempit rentang rewind, pasang batas rewind.
Kisaran angka
Dengan ping 100 ms (satu arah 50 ms), pada 60 fps sekitar 3 frame diputar mundur. Jika input delay 2 frame diterapkan, berkurang menjadi 1 frame.
Di grafik
Melonjak acak sesekali · Jumlah frame yang diputar mundur, RTT (ping)
Yang diperiksa
Catat di klien setiap rewind: jumlah frame yang diputar mundur, RTT saat itu, pengaturan input delay, dan waktu yang dipakai untuk rewind dan menghitung ulang
Cocok jika
Pada saat gerakan lawan dilaporkan melompat, jumlah frame yang diputar mundur besar, rata-rata rentang rewind kira-kira (latensi satu arah − input delay) ÷ waktu per frame, dan makin tinggi ping makin besar
Tidak cocok jika
Rentang rewind kecil tetapi tetap terjadi patah-patah: masalah performa, yaitu perhitungan ulang melebihi waktu satu frame. Hasil di dua layar tetap berbeda setelah rewind: hasil komputasi menyimpang (desync)
Sarana pemeriksaan
Log dan metrik server atau klien game

Sumber

  1. GGPO Rollback Networking SDK GGPO
    Input lawan diprediksi dan game berjalan lebih dulu; jika input sebenarnya berbeda, game dihitung ulang dari titik penyimpangan sampai sekarang
  2. 8 Frames in 16ms: Rollback Networking in 'Mortal Kombat' and 'Injustice 2' GDC
    Rollback menghilangkan input delay lokal pada lockstep, dan memutar mundur serta menghitung ulang hingga 8 frame dalam 16 ms

Lihat juga

Lapisan yang sama: Desain sinkronisasi

Penyebab di lapisan lain dengan gejala yang sama (Teleport)

Lihat kartu interaktif dengan gambar dan simulasi