İçeriğe atla
Giriş Adımları
Mimari · Katman 05

Gecikme Telafisi: Sunucu Neden Geçmişe Geri Sarıyor

Aynı maçtaki iki oyuncu, birbirinden farklı bir anı izler. Sunucu bu iki farklı anı tek bir gerçekliğe indirmek zorundadır. Yöntemi geri sarmadır ve oyun içindeki en çok tartışılan hisler bu mekanizmadan doğar.

Yöntem
Geri sarma
Kayıt derinliği
Birkaç yüz ms
Adım sayısı
4
Pencere
Orta genişlik

Çözülmesi gereken sorun

Ekranınızda gördüğünüz rakip, sunucunun bildiği rakibin geçmişteki hâlidir. Aradaki fark, verinin size ulaşması için geçen süre kadardır. Siz nişan alıp tetiğe bastığınızda, o rakip sunucu tarafında çoktan başka bir yerdedir.

Hiçbir şey yapılmazsa, yüksek gecikmeli oyuncular hiçbir zaman isabet ettiremez. Gecikme telafisi, bu adaletsizliği kapatmak için kurulmuş bir zaman makinesidir.

Geri sarma nasıl çalışıyor

Sunucu, son birkaç yüz milisaniyedeki tüm oyuncu konumlarını bir kayıt defterinde tutar. Bir atış isteği geldiğinde önce şunu sorar: bu oyuncu tetiğe bastığında dünya neye benziyordu?

Sonra kendi zaman çizgisini o ana geri sarar, atışı o anki konumlara göre değerlendirir ve sonucu bugüne taşır. Bu yüzden yönteme geri sarma denir.

  1. Zaman damgası okunur Adım 01

    İstemci, atışı hangi anda yaptığını da paketle birlikte gönderir. Sunucu bu damgayı kendi saatine çevirir.

  2. Kayıt defteri açılır Adım 02

    O ana ait konum anlık görüntüsü bulunur. Kayıt defteri sınırlı derinliktedir; çok eski bir damga kabul edilmez.

  3. Atış eski dünyada değerlendirilir Adım 03

    Görüş hattı, mesafe ve engel kontrolü geçmişteki konumlara göre yapılır.

  4. Sonuç bugüne taşınır Adım 04

    İsabet varsa hasar güncel duruma uygulanır ve iki oyuncuya da bildirilir.

Telafi penceresi

Kayıt defterinin derinliğine telafi penceresi denir. Pencere genişse yüksek gecikmeli oyuncular korunur; darsa düşük gecikmeli oyuncular korunur. İkisini aynı anda tam olarak korumak mümkün değildir.

Pencere genişliğinin iki tarafa etkisi
PencereYüksek gecikmeli oyuncuDüşük gecikmeli oyuncu
GenişAtışları sayılırKöşe arkasında vurulur
DarAtışları sık sık düşerSiperde güvende hisseder
OrtaÇoğu atış sayılırNadiren köşe arkası yaşar

Betrupi tarafında pencere orta genişlikte tutulur ve sürüm notlarında ayarlandığı her sefer ayrıca duyurulur. Son ayarlama değişiklik günlüğünde kayıtlıdır.

Neden köşe arkasında vuruluyorsunuz

Siz köşeye girdiniz ve güvende olduğunuzu düşündünüz. Rakip ise kendi ekranında sizi hâlâ açıkta görüyordu ve tetiğe bastı. Sunucu geri sarınca rakibin gördüğü dünya doğrulandı ve isabet sayıldı.

Bu bir hata değil, telafinin doğrudan sonucudur. Aynı mekanizma sizin yüksek gecikmeli anlarınızda sizi de korur. Konuyu bir örnek üzerinden ayrı bir analiz yazısında adım adım çözümledik.

Denge notu

Gecikme telafisi kimseye avantaj vermek için değil, farklı mesafelerdeki oyuncuları aynı maça sokabilmek için vardır. Pencere ne kadar iyi ayarlanırsa ayarlansın, iki tarafın da zaman zaman haksızlığa uğradığını hissettiği anlar olacaktır.