Geri Dön / Back to Lobby

Geliştirici Notları: Chat Tabu

Giriş ve Mimari Yaklaşım

Paira Chat Tabu, Twitch ve Kick canlı yayıncılarının kendi izleyici kitleleriyle (chat) etkileşime girmesini sağlayan, tamamen istemci tarafında (Client-Side) çalışan interaktif bir tabu oyunudur. Geleneksel tabu oyunlarının aksine, tahminler klavyeden değil, izleyicilerin canlı chat mesajlarından otomatik olarak süzülür.

Uygulama, verileri saklamak için merkezi bir sunucu ya da veritabanı (Database) barındırmaz. Kurulum gerektirmeden çalışan bu sunucusuz yapı, yerel WebSocket bağlantıları ve WebRTC protokolü yardımıyla pürüzsüz bir oyun deneyimi sunar.

Canlı Yayın Chat Entegrasyonu (WebSocket & IRC)

Kick ve Twitch platformlarından akan canlı sohbet mesajları, ChatListener modülü aracılığıyla gerçek zamanlı olarak dinlenir:

Yayıncı sohbeti dinlemeye başladığında, chate yazılan her bir mesaj saniyeler içinde oyun istemcisi tarafından ayrıştırılır ve işleme alınır.

FuzzyMatcher ile Kelime Eşleştirme Algoritması

İzleyicilerin klavye hatalarını, Türkçe karakter uyumsuzluklarını ve küçük yazım farklarını telafi etmek amacıyla istemci tarafında gelişmiş bir FuzzyMatcher (Bulanık Eşleştirme) algoritması koşulur:

P2P Ağ Topolojisi (Host-Client Modeli)

Tek oyunculu (klasik) modun yanı sıra, chate karşı chatin yarıştığı veya iki yayıncının karşı karşıya geldiği çok oyunculu modlarda WebRTC (PeerJS) tabanlı bir Host-Client (Kurucu-Katılımcı) topolojisi devrededir:

Gerçek Zamanlı Veri Senkronizasyonu (Data Sync)

Oyun boyunca gerçekleşen tüm aksiyonlar RTCDataChannel paketleri ile uçtan uca senkronize edilir:

Oda Mantığı ve Oturum Yönetimi

Her oyun oturumu 6 haneli benzersiz bir oda koduyla yönetilir:

Güvenlik ve Veri Gizliliği

Chat Tabu, WebRTC protokolünün sağladığı uçtan uca şifreli (End-to-End Encrypted - DTLS/SRTP) veri kanallarını kullanır. Yayıncıların veya izleyicilerin hiçbir sohbet verisi ya da IP adresi herhangi bir sunucuya kaydedilmez. Tüm işlemler doğrudan tarayıcı belleğinde gerçekleştiği için veri güvenliği ve hız maksimum seviyede tutulur.

Bu teknik dokümantasyon, tarayıcı tabanlı eş zamanlı oyun geliştirme meraklıları ve platformun altyapısını merak eden geliştiriciler için Ahmet Efe Yaşar tarafından hazırlanmıştır.