Geri Dön / Back to Lobby

Geliştirici Notları: Katiplik Düellosu

Giriş ve Mimari Yaklaşım

Paira Katiplik Düellosu, kullanıcıların klavye yazma hızlarını, doğruluk oranlarını ve on parmak yeteneklerini gerçek zamanlı olarak test edebilmeleri veya arkadaşlarıyla düello yapabilmeleri için tasarlanmış tamamen tarayıcı tabanlı bir web oyunudur. Uygulama, merkezi bir oyun sunucusu veya veritabanı (Database) barındırmaz. Bunun yerine, oyun verilerini ve oyuncuların durumlarını eş zamanlı tutmak amacıyla tamamen istemci tarafında (Client-Side) çalışan WebRTC (Peer-to-Peer) ağ altyapısını kullanır.

Oyunun temel amacı, belirlenen Türkçe metni en yüksek kelime/dakika (WPM) hızında ve minimum hata ile tamamlamaktır. Farklı klavye düzenleri (F klavye, Türkçe Q klavye, İngilizce klavye) ve imlalı/imlasız mod seçenekleri sunan oyun, yerel tarayıcı düzeyinde gelişmiş girdi doğrulama algoritmaları barındırır.

P2P Ağ Topolojisi (Host-Client Mimarisi)

Katiplik Düellosu, multiplayer oyun deneyimini gecikmesiz ve sıfır sunucu maliyetiyle sunabilmek için bir Host-Client (Kurucu-Katılımcı) ağ modeli kullanır:

Gerçek Zamanlı Veri Senkronizasyonu (Data Synchronization)

Düello esnasında, rakiplerin birbirlerinin durumunu canlı olarak izleyebilmesi ve aralarındaki rekabet hissinin güçlendirilmesi için RTCDataChannel üzerinden yüksek sıklıkta veri paketleri gönderilir. Aşağıdaki değişkenler ve aksiyonlar gerçek zamanlı olarak eş zamanlanır:

Metin İşleme ve Doğrulama Algoritması

Oyunun yazma doğrulama motoru, Türkçe karakterlerin ve klavye düzenlerinin yarattığı farklılıkları en aza indirmek için özelleştirilmiş bir normalizasyon fonksiyonu (normalizeWord) barındırır:

Oda Mantığı ve Oturum Yönetimi

Her oyun oturumu 6 karakterden oluşan benzersiz bir oda koduyla yönetilir. Oturum akışı ve olası senaryolar aşağıdaki kurallara göre işler:

E-E-A-T & Güvenlik

Katiplik Düellosu, gizlilik odaklı (privacy-first) bir mimariye sahiptir. Oyuncuların bastığı tuş vuruşları, yazdığı kelimeler veya tarayıcı detayları hiçbir sunucuya kaydedilmez. WebRTC veri kanalları, protokol standartları gereğince DTLS ve SRTP ile uçtan uca şifreli (End-to-End Encrypted) olarak çalışır. Oyun içi performans analizleri yalnızca tarayıcı belleğinde tutulur ve oturum kapatıldığında tamamen imha edilir.

Bu teknik dokümantasyon, tarayıcı tabanlı eş zamanlı oyun geliştirme mimarilerini inceleyen geliştiriciler için Ahmet Efe Yaşar tarafından hazırlanmıştır.