Tek kişilik bir oyunda tuşa bastığınızda sonucu aynı makine hesaplar. Çok oyunculu oyunda ise karar merci başka bir yerde: sunucu. Araya giren mesafe hem fiziksel hem mantıksal bir gecikme yaratıyor ve oyunun bütün ağ mimarisi bu gecikmeyi gizlemek için kurulu.
Gecikme neyin toplamı
Ping olarak gördüğünüz rakam, verinin sunucuya gidip dönme süresi. Ama hissettiğiniz gecikme bundan fazlası:
- Tuş veya fare girdisinin işlenmesi,
- Oyunun bir sonraki kareyi hazırlaması (kare süresi burada devreye girer),
- Paketin ağ üzerinden sunucuya ulaşması,
- Sunucunun bir sonraki tıkında durumu güncellemesi,
- Sonucun size dönmesi ve ekranda görünmesi.
Yani 30 ms ping ile oynarken bile toplam tepki gecikmesi 60-80 ms bandında olabilir. Ping’i düşürmek zincirin yalnızca bir halkasını kısaltır.
Tık hızı (tick rate) nedir
Sunucu dünyayı sürekli değil, ayrık adımlarla hesaplar. Saniyede 64 tık, dünyanın saniyede 64 kez güncellendiği anlamına gelir — yani iki güncelleme arasında yaklaşık 15,6 ms geçer. Bu süre içinde olan hiçbir şey ara anlarıyla kayıtlı değildir; sunucu yalnızca tık anındaki durumları bilir.
Düşük tık hızı, nişan alma gibi hassas işlerde gözle görülür bir belirsizlik üretir: iki tık arasında geçen bir isabet, sunucunun gördüğü konumlara göre değerlendirilir. Bu yüzden rekabetçi nişancı oyunlarında tık hızı, kare hızı kadar tartışılan bir rakam.
İstemci tahmini: beklemeden hareket etmek
Her tuşa basışta sunucunun onayını beklemek oyunu oynanmaz hâle getirirdi. Bu yüzden istemci, kendi hareketini hemen uygular ve sunucunun aynı sonucu doğrulamasını bekler. Doğrulama farklı gelirse karakteriniz geri çekilir — ağ kötü olduğunda yaşadığınız “lastik bant” etkisi tam olarak budur.
Diğer oyuncular için aynı numara yapılamaz, çünkü onların ne yapacağı bilinmez. Onlar için ara değerleme kullanılır: istemci, gelen son iki konum arasında yumuşak bir geçiş çizer. Bunun bedeli, rakipleri her zaman birkaç on milisaniye geçmişte görmeniz.
Gecikme telafisi ve “vurdum ama ölmedi”
Siz ateş ettiğinizde sunucu bir karar vermek zorunda: sizin ekranınızdaki ana mı, kendi şimdiki anına mı baksın? Çoğu oyun birinciyi seçer. Sunucu, atışınız geldiğinde zamanı geri sarıp sizin o anda gördüğünüz dünyayı yeniden kurar ve isabeti ona göre değerlendirir.
Bu yaklaşım atış yapana adil davranır; dezavantajı diğer taraftadır. Köşeye çekildiğinizi düşündüğünüz hâlde vurulmanız, rakibin ekranında o anda hâlâ görünür olmanızdan kaynaklanır. İki şikâyet de aynı mekanizmanın iki yüzü:
- Vurdum ama ölmedi: genellikle paket kaybı, çok düşük tık hızı ya da rakibin istemcisinde farklı bir durum.
- Köşeye geçtim ama öldüm: gecikme telafisinin beklenen sonucu, hile değil.
Jitter ve paket kaybı, ping’den önemli
Sabit 80 ms ping ile oynanabilir; dalgalanan 20-120 ms ping ile oynanamaz. Oyun motorları sabit gecikmeyi öngörüp telafi edebilir, değişkenliği edemez. Aynı şey paket kaybı için de geçerli: kaybolan paket, sunucunun sizin girdinizi hiç görmemesi demektir.
Pratikte en çok fark yaratan müdahaleler şunlar:
- Kablolu bağlantı. Wi-Fi ortalama hızı iyi olsa da gecikme değişkenliği üretir; yine de mecbursanız 5 veya 6 GHz bandı ve yeni nesil donanım işe yarar (Wi-Fi 6 ve 7 yazısı bu kısmı anlatıyor).
- Hat üzerindeki diğer trafiği ayırmak. Büyük bir indirme, tampon şişmesi yüzünden ping’i katlayabilir; modern yönlendiricilerdeki kuyruk yönetimi ayarları bu sorunu doğrudan hedefler.
- Doğru sunucu bölgesi. Coğrafi mesafe, hiçbir ayarla telafi edilemeyen tek değişken. Uydu bağlantısında bu fiziksel sınırın ne demek olduğunu uydu interneti yazısında hesapladık.
- Kare hızını sabitlemek. Dalgalı kare hızı, girdi zamanlamasını da dalgalandırır.
Sunucu modeli de belirleyici
Oyun, bir oyuncunun makinesinde mi barınıyor yoksa özel bir sunucuda mı? Eşler arası modelde ev sahibi oyuncu sıfır gecikmeyle oynar, diğerleri onun bağlantısına mahkûmdur. Özel sunucu modeli herkese eşit mesafe sunar ve hileye karşı da daha dirençlidir — nedenini anti-hile yazısında ele aldık.
Çok oyunculu oyunda kimse aynı anı görmüyor. Oyun iyi tasarlanmışsa bunu fark etmiyorsunuz.
Yorumlar (0)
Henüz yorum yok. İlk yorumu siz yazın.