Geri Dön / Back to Lobby

Geliştirici Notları: Krono

Giriş ve Mimari Yaklaşım

Paira Krono, tarihsel olayları, buluşları ve eserleri en eskiden en yeniye doğru kronolojik olarak sıralamaya dayalı, sunucusuz ve veritabanı bağımsız çalışan bir web oyunudur. Paira topluluğunun genel kültür bilgisini sınamak ve interaktif bir rekabet ortamı sunmak amacıyla geliştirilmiştir. Oyun, herhangi bir merkezi sunucu veya veritabanı ihtiyacı duymadan, tamamen tarayıcı tabanlı WebRTC (Peer-to-Peer) mimarisi ile oyuncuların doğrudan birbiriyle haberleşmesini sağlar.

Krono, tek oyunculu (solo) modda yerel bir oyuncu nesnesi üzerinden çalışırken, 1v1 veya çok oyunculu modlarda Host-Client mimarisinde tarayıcı düzeyinde oyun durumlarını senkronize etmektedir.

P2P Ağ Topolojisi (Host-Client Yapısı)

Geleneksel istemci-sunucu modelinin aksine, Krono'da WebRTC protokolü üzerinden Host-Client (Kurucu-Katılımcı) modeli benimsenmiştir:

Gerçek Zamanlı Veri Senkronizasyonu

Krono, oyun sürecindeki tüm durum güncellemelerini, puan tablolarını ve oyuncu etkileşimlerini RTCDataChannel üzerinden JSON tabanlı paketler halinde aktarır:

Oda Yönetimi ve Oyun İçi Mekanikler

Krono'nun oda mantığı ve oturum süreçleri aşağıdaki bileşenlerle optimize edilmiştir:

Güvenlik ve Performans

Oyun boyunca hiçbir veri uzak bir sunucuda barındırılmaz veya kaydedilmez. WebRTC veri kanalları DTLS/SRTP şifreleme standartları ile uçtan uca korunmaktadır. İstemci tarafında çalışan SortableJS kütüphanesi sürükle-bırak animasyonlarını pürüzsüzce işlerken, kilitli kartların doğru pozisyona zorlanması (forceLockedCardsToCorrectPosition) algoritması ile kartların yer değiştirmesi durumunda bile kilitli olayların pozisyonlarının korunması sağlanır.

Bu teknik dokümantasyon, P2P tabanlı web oyun mekanikleri ve tarayıcı düzeyinde veri senkronizasyonu hakkında bilgi vermek amacıyla geliştirici ekibi için hazırlanmıştır.