Geri Dön / Back to Lobby

Geliştirici Notları: ÇizBil

Giriş ve Mimari Yaklaşım

Paira ÇizBil, tamamen web tarayıcıları üzerinde koordine edilen, merkezi bir veritabanı (Database) veya oyun sunucusu barındırmayan, P2P (Peer-to-Peer) bağlantı mimarisine sahip çok oyunculu bir çizim ve kelime tahmin oyunudur. Gartic.io tarzı bu eğlenceli oyun, arkadaş gruplarının herhangi bir indirme veya kayıt işlemi yapmadan doğrudan web tarayıcıları üzerinden gerçek zamanlı olarak yarışabilmesini sağlar.

Tüm oyun durumu (state) yönetimi, sunucusuz mimarinin getirdiği sınırlamaları aşmak ve pürüzsüz bir oyun akışı sunmak adına tarayıcı düzeyinde koordine edilen Host-Client yapısıyla yönetilmektedir.

P2P Ağ Topolojisi ve Oda Keşfi

Geleneksel istemci-sunucu yapısı yerine, oyunda WebRTC (Web Real-Time Communication) protokolü üzerinde yükselen bir Host-Client (Kurucu-Katılımcı) ağ topolojisi kullanılır:

Gerçek Zamanlı Veri Senkronizasyonu (Data Synchronization)

ÇizBil'de oyun akışının sorunsuz ilerlemesi ve çizim yollarının akıcı bir şekilde aktarılması için birçok kritik veri paketinin milisaniye düzeyinde senkronize edilmesi gerekir. Bu süreç, RTCDataChannel üzerinden iletilen şu paket tipleriyle koordine edilir:

Oda Mantığı ve Oturum Yönetimi

Oyun odaları, PeerJS altyapısı tarafından atanan 6 karakterli benzersiz bir Oda Kodu (Peer ID) ile yönetilir:

E-E-A-T & Güvenlik

Uygulama tamamen istemci tarafında (Client-Side) çalıştığı için kullanıcıların kişisel verileri, IP adresleri veya oyun içi yazışmaları herhangi bir uzak sunucuda veya veritabanında depolanmaz. Tüm veri transferleri WebRTC'nin doğası gereği uçtan uca şifreli (End-to-End Encrypted - DTLS/SRTP) kanallar üzerinden doğrudan cihazlar arasında gerçekleşir. Bu yaklaşım hem maksimum hız ve sıfır sunucu maliyeti sağlar, hem de veri gizliliğini en üst düzeyde korur.

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.