Teknik

Sunucu saati ile ekranınız arasındaki mesafe: ping, tick rate ve netcode

Bu yazı üç kavramı tanımlar, aralarındaki ilişkiyi kurar ve her birinin maç içinde nasıl hissedildiğini ölçüyle gösterir. Amaç terim ezberletmek değil; ekranda gördüğünüz bir olayın neden öyle göründüğünü açıklamak.

Selin Bayraktar 10 dakikalık okuma
Sunucu ile istemci arasındaki paket akışını ve gecikme telafisi penceresini gösteren şema
Komut gidiyor, dünya hesaplanıyor, sonuç dönüyor: aradaki her milisaniye ölçülebilir.

"Sıra sende"den gerçek zamana

Eski tarayıcı oyunlarında çok oyunculu deneyim genellikle sıra mantığıyla çalışırdı. Sunucunun tek görevi hamleleri sırayla kaydetmek ve karşı tarafa iletmekti; gecikmenin bir önemi yoktu, çünkü kimse aynı anda hareket etmiyordu. Bugün gerçek zamanlı maçların altında çok daha katmanlı bir yapı var ve bu yapıyı anlamak, oyun içinde yaşadığınız birçok tuhaflığı açıklıyor.

Gerçek zamanlı bir maçta sunucu, saniyede defalarca "dünyanın şu anki hâli nedir" sorusunu yanıtlar. Her oyuncunun konumu, hızı, hedeflediği yön ve tetiklediği eylemler bu hesaplamaya girer. Sonuç herkese aynı anda gönderilir; ancak herkes o sonucu aynı anda almaz. Farkı yaratan şey, aşağıdaki üç kavramın birleşimidir.

Üç terim, tek cümle

Ping

Komutunuzun sunucuya gidip yanıtın geri gelme süresidir. Milisaniye ile ölçülür ve tek başına bir kalite göstergesi değildir; asıl önemli olan bu değerin ne kadar sabit kaldığıdır. Sürekli 55 milisaniye, dalgalanan 30-90 milisaniyeden daha iyi bir deneyim verir.

Tick rate

Sunucunun saniyede kaç kez dünyanın durumunu hesapladığıdır. Yüksek tick rate, atışınızın gerçekte olduğu ana daha yakın değerlendirilmesi demektir. Düşük tick rate'te sunucu iki hesaplama arasındaki olayları yaklaşık olarak çözer; bu da kenar durumlarda tartışmalı sonuçlar doğurur.

Netcode

Netcode bu ikisinin arasındaki tercümandır: hangi bilginin ne zaman gönderileceğine, eksik paketlerin nasıl tahmin edileceğine ve çelişkili durumlarda hangi tarafın haklı sayılacağına karar verir. İyi bir netcode, kötü bir bağlantıyı bile oynanabilir kılar; kötü bir netcode, mükemmel bir bağlantıda bile tuhaf sonuçlar üretir.

Gecikme telafisi ve o tuhaf his

Gecikme telafisi denen mekanizma, sunucunun sizin ekranınızda gördüğünüz geçmiş anı kısa süreliğine yeniden canlandırmasıdır. Siz tetiği çektiğinizde sunucu şunu sorar: "Bu oyuncunun ekranında, komutu verdiği anda dünya nasıl görünüyordu?" Sonra o anı geri sarar ve isabeti orada değerlendirir.

Bu sayede 45 milisaniye gecikmeyle oynayan biri, hedefe nişan aldığı anda isabet kaydedebilir. Mekanizma olmasaydı, yüksek gecikmeli her oyuncu sistematik olarak dezavantajlı olurdu. Aynı mekanizma, arada "köşeye girdim ama vuruldum" hissini de yaratır. Bu bir hata değil, tercih edilmiş bir dengedir: sistem, atış yapanın gördüğü gerçekliği kaçanın gördüğü gerçekliğe tercih eder.

Hangi tarafın tercih edileceği bir tasarım kararıdır ve her iki seçenekte de birileri rahatsız olur. Tarayıcı tabanlı platformlar genellikle atış yapan tarafı önceler; çünkü aksi hâlde uzak bölgeden bağlanan oyuncular için oyun oynanamaz hâle gelir.

Hitbox, süre ve iki sade gösterge

Hitbox, karakterin görünen modeliyle çakışan ama ondan farklı olabilen çarpışma hacmidir. Genellikle görünen modelden biraz daha sade bir geometriyle tanımlanır; bunun nedeni hesaplama maliyetidir. Bir kolun her parmağı için ayrı çarpışma testi yapmak, tarayıcı ortamında karşılanabilir bir yük değildir.

Kısa süre refleksi, uzun süre konumlanmayı ödüllendirir

Bir hedefi etkisiz hâle getirmek için gereken süre, oyunun temposunu belirleyen en güçlü değişkendir. Kısa süre refleksi ödüllendirir: kim önce görürse kazanır. Uzun süre konumlanmayı ödüllendirir: nerede durduğunuz, ne kadar hızlı tepki verdiğinizden daha önemli hâle gelir. BetRupi kütüphanesindeki hızlı arena modu ilk gruba, gizlilik odaklı mod ikinci gruba örnektir.

İsabet oranı ve maç sonu ekranı

İsabet oranı ve etkisizleştirme oranı, kişisel gelişiminizi ölçmek için en sade iki göstergedir. Bunları maç sonu ekranında görmek, hangi seçeneğin size uymadığını fark etmenin en hızlı yoludur. Tek bir maçın verisi anlamlı değildir; on maçlık bir ortalama ise oldukça açıklayıcıdır.

Eşleştirme ve ilk on maç

Eşleştirme sistemi her oyuncuya görünmeyen bir beceri puanı atar ve benzer puandaki oyuncuları aynı maça yerleştirmeye çalışır. Amaç herkesin yaklaşık yüzde elli kazanma oranına yaklaşmasıdır. Bu, sistemin doğru çalıştığının işaretidir; kötü oynadığınızın değil.

İlk on maçta dalgalanma yaşamanız normaldir; sistem sizi henüz tanımıyordur. Bu dönemde puan hareketleri daha büyük adımlarla olur, çünkü sistem hızlıca doğru aralığı bulmaya çalışır. Onuncu maçtan sonra adımlar küçülür ve puanınız oturmaya başlar.

BetRupi resmi tarafında hızlı modlarda kontrol yöntemine göre ayrı eşleştirme havuzları kullanılır. Dokunmatik ekranla oynayan bir oyuncunun klavye ve fare kullananlarla aynı havuza girmesi, ölçülebilir bir dengesizlik yaratır; ayrı havuz bu farkı ortadan kaldırır.

Gecikmeyi düşürmenin üç adımı

Aşağıdaki üç adım, çoğu durumda en hızlı sonucu veren sıralamadır. Dördüncü bir adım olarak bölge seçimini en yakın sunucuya sabitlemek de belirgin fark yaratır.

  1. Kablolu bağlantıya geçin. Kablosuz bağlantı, paket kaybını ve gecikme dalgalanmasını en çok artıran etkendir. Kablolu bağlantı çoğu evde tek başına on ile otuz milisaniye kazandırır.
  2. Gereksiz sekmeleri kapatın. Arka planda çalışan sekmeler hem işlemciyi hem bant genişliğini paylaşır. Bu adım gecikmeyi düşürmenin yanında kare hızını da yükseltir.
  3. Arka plan indirmelerini durdurun. Devam eden indirmeler ve bulut eşitlemeleri, sizinle aynı hattı kullanır. Duraklatmak birkaç saniyede uygulanabilen en ucuz iyileştirmedir.
Teknik göstergeler, rahat aralıkları ve kullanıcı tarafındaki karşılığı
Teknik gösterge, rahat aralık ve oyuncunun hissettiği karşılık
Teknik göstergeRahat aralıkNe hissedersiniz
Ping20-60 msGirdi anında karşılık bulur
Ping61-110 msHızlı modlarda hafif gecikme
Kare hızı60 ve üzeriHedef takibi akıcı
Kare hızı30-45Yarış ve bulmacada yeterli
Girdi gecikmesi40 ms altıTuş ile hareket eşzamanlı hissedilir
Paket kaybı%1 altıFark edilmez

Bu tablonun tam hâli yalnızca bu sayfada yer alır; diğer sayfalarda yalnızca kesiti kullanılır.

Kavramların kısa tanımlarına hızlıca bakmak isterseniz Terimlik sayfası tek ekranda özet sunuyor. Bu değerlerin dokunmatik ekrandaki karşılığını merak ediyorsanız bir sonraki yazıya geçebilirsiniz.

İlgili yazılar