Sekmede dönen döngü
Bir oyun sekmesi açıldığı andan kapandığı ana kadar dört adımlık bir döngü kurar: girdi oku, durumu güncelle, ekrana çiz, tekrarla. Bu döngü tek kişilik bir başlıkta kendi kendine yeter.
Çok oyunculu bir başlıkta ise aynı döngünün bir kopyası sunucuda da dönmektedir. İki döngünün sürekli birbirine yaklaşması gerekir. Tarayıcı oyunlarının bütün zorluğu, bütün zarafeti de bu buluşma noktasındadır.
Her turun 16,7 milisaniyesi
Döngü saniyede 60 kez döndüğünde her tur için yaklaşık 16,7 milisaniyelik bir bütçe kalır. Bu bütçeye sığması gerekenler sırasıyla şunlardır:
- Fizik ve çarpışma hesabı
- Animasyon karışımı
- Ses tetikleyicileri
- Arayüz çizimi
- Ağdan gelen durum paketlerinin işlenmesi
Bütçe aşıldığı anda kare düşer. Oyuncu bunu kasma diye tarif eder; ölçüm tarafındaki karşılığı ise kare süresinin bir anda 16,7 milisaniyenin üstüne çıkmasıdır.
Ortalama kare hızı ile kare süresinin kararlılığı aynı şey değildir. Ortalama 90 fps veren ama arada 40 milisaniyelik sıçramalar üreten bir yapılandırma, sabit 60 fps veren bir yapılandırmadan daha kötü hissettirir. Ayrıntısı performans ayarları sayfasındadır.
Aşamalı yükleme
Betrupi giriş adımı tamamlandığında tarayıcı önce yalnızca çekirdek motoru ve menü varlıklarını indirir. Bir oyunun kendi dosyaları, siz o oyuna girdiğinizde parça parça akar.
Bunun iki pratik sonucu var. İlk açılış süresi kısalır ve hiç açmadığınız bir oyunun varlıkları hiç indirilmez. Aynı oyunu ikinci kez açtığınızda dosyalar önbellekten geldiği için giriş belirgin biçimde hızlanır.
Sürüm karmaşasının olmaması
Masaüstü oyunlarında herkesin aynı yamada olması gerekir; biri güncellemeyi atlarsa eşleşemez. Tarayıcı tarafında sunucu yeni sürümü yayımladığı anda, bir sonraki sayfa yenilemesinde herkes aynı koddadır.
Bu iki şeyi aynı anda sağlar: hata düzeltmeleri hızlı ulaşır ve kural değişiklikleri herkes için aynı anda geçerli olur. Bir denge düzenlemesinin tüm oyuncu havuzunda eşzamanlı yürürlüğe girmesi, rekabetçi modlar için ciddi bir güvencedir. Yayımlanan sürümleri değişiklik günlüğünde izleyebilirsiniz.
Hesap sunucuda, cihaz serbest
İlerleme ve hesap bilgisi sunucuda tutulur. Evdeki bilgisayarda bıraktığınız seviye, akşam telefondan girdiğinizde olduğu gibi karşınıza çıkar. Yerel diskte saklanan tek şey genellikle küçük bir önbellek ve tercih dosyasıdır.
Aynı hesapla farklı cihazlardan giriş yapılabilir, ancak aynı anda yalnızca tek oturum aktif kalır. Bu kısıt, sunucu tarafındaki durum kopyasının tek olmasından kaynaklanır.
Sekiz oyun, sekiz yük profili
Aynı platformdaki başlıklar altyapıya çok farklı yükler bindirir. Aşağıdaki tablo hangi oyunun hangi kaynağı zorladığını özetler.
| Oyun | Tür | Oyuncu | Süre | Ağ hassasiyeti |
|---|---|---|---|---|
| Çekirdek Protokol | Taktiksel nişancı | 5v5 | 22-28 dk | Çok yüksek |
| Devre Arası | Arena nişancı | 3v3 | 8-12 dk | Yüksek |
| Paket Kaybı | Asimetrik kaçış | 4v1 | 12-16 dk | Orta-yüksek |
| Sunucu Odası | Kooperatif savunma | 4 kişi | 15-20 dk | Orta |
| Gecikme Hattı | Zamanlama yarışı | 6 kişi | 5-8 dk | Orta, girdi odaklı |
| Veri Akışı | Hız parkuru | 1-8 kişi | 3-6 dk | Düşük |
| Şifre Kırıcı | Mantık bulmacası | 1v1 | 6-10 dk | Çok düşük |
| Kod Ağı | Sıra tabanlı strateji | 2-4 kişi | 18-25 dk | Çok düşük |
betrupi.biz bağımsız bir teknik referans sitesidir, platformun kendisi değildir. Hesap işlemi yürütmez, giriş formu barındırmaz ve ziyaretçiden bilgi istemez. Resmî adresi kendi başınıza nasıl doğrulayacağınızı official adres sayfasında anlattık.
Sıradaki bölüm
Mimarinin en alt katmanı görüntü tarafıdır. WebGL ile WebGPU arasındaki farkı ve otomatik ölçekleme mantığını orada ele aldık.