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

Buku Putih Lag Game › Desain sinkronisasi

Lockstep menunggu pemain paling lambat Lockstep waits for the slowest peer

ID penyebab sy-lockstep · Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Dalam arsitektur tempat semua pemain menghitung giliran yang sama bersama-sama, jika input satu orang terlambat, semua orang menunggu.

Mengapa Setiap giliran baru bisa dihitung setelah input semua pemain terkumpul → Akibatnya Input satu orang tiba terlambat karena jitter atau packet loss → Di layar Semua orang tersendat sesaat bersamaan; jika parah, muncul jendela “Menunggu pemain”

Gejala
Freeze, Patah-patah, Input lag
Faktor
Jitter, Packet loss, Stall
Siapa yang mengalami
Lokasi/channel tertentu
Kapan
Sesekali secara acak
Penanggung jawab
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: atur input delay otomatis sesuai ping, keluarkan sementara hanya pemain yang terlambat agar pemain lain tetap berjalan tanpa menunggu. Klien: terapkan input delay yang ditentukan; jika P2P tanpa server relay, klien host juga menangani pengaturan input delay dan penanganan pemain yang terlambat.
Kisaran angka
Jika input delay diatur lebih pendek dari “waktu input sampai ke lawan + jitter”, game makin sering freeze. Waktu sampai itu kira-kira setengah ping jika saling kirim langsung, atau sekitar setengah dari jumlah ping kedua pemain jika lewat server relay.
Di grafik
Melonjak acak sesekali · Waktu tunggu giliran, latensi kedatangan input per pemain
Yang diperiksa
Catat untuk setiap giliran waktu kedatangan input per pemain dan lama giliran berhenti menunggu, lalu lihat input siapa yang ditunggu pada giliran yang berhenti. Jika ada server relay, interval kedatangan paket input per pemain juga bisa dilihat dari packet capture di sisi server
Cocok jika
Pada setiap giliran yang berhenti, input dari satu orang yang sama tiba lebih lambat dari input delay, dan pada saat itu jitter atau packet loss orang tersebut melonjak
Tidak cocok jika
Semua input tiba tepat waktu tetapi game tetap berhenti: masalah waktu komputasi PC paling lambat atau pemrosesan server. Tidak berhenti, tetapi hasil di dua layar berbeda: hasil komputasi menyimpang (desync), jadi periksa kemungkinan perhitungan jalur tidak sama pada sinkronisasi perintah
Sarana pemeriksaan
Log dan metrik server atau klien game

Sumber

  1. Deterministic Lockstep Gaffer On Games
    Frame n baru bisa dihitung setelah semua inputnya tiba, jadi jika ada yang terlambat game menunggu. Jika buffer playout delay yang menyerap jitter terlalu kecil, game tersendat sesaat
  2. 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond Game Developer
    Perintah dijadwalkan untuk dijalankan dua giliran kemudian, dan panjang giliran diatur sesuai komputer paling lambat dan ping (Speed Control)
  3. A Survey and Taxonomy of Latency Compensation Techniques for Network Computer Games (ACM Computing Surveys, 2022) ACM
    Input delay (incoming delay) dibuat sebesar latensi “A→server + server→B” agar semua pemain menerapkannya pada saat yang sama

Lihat juga

Lapisan yang sama: Desain sinkronisasi

Penyebab di lapisan lain dengan gejala yang sama (Freeze)

Lihat kartu interaktif dengan gambar dan simulasi