Çö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.
-
Zaman damgası okunur Adım 01
İstemci, atışı hangi anda yaptığını da paketle birlikte gönderir. Sunucu bu damgayı kendi saatine çevirir.
-
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.
-
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.
-
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 | Yüksek gecikmeli oyuncu | Düşük gecikmeli oyuncu |
|---|---|---|
| Geniş | Atışları sayılır | Köşe arkasında vurulur |
| Dar | Atışları sık sık düşer | Siperde güvende hisseder |
| Orta | Çoğu atış sayılır | Nadiren 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.
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.