Yeni bir lig kuruyorsunuz ancak hangi derecelendirme sistemini seçeceğinize karar veremiyorsunuz. ELO, Glicko veya TrueSkill — her biri farklı varsayımlar ve öncelikler getirir. Bu yazıda, üç sistemi de gerçekçi senaryolarda kıyaslayacak, uygulama ipuçları ve geçiş önerileri vereceğim. Amacım size hangi sistemin hangi lig tipi için daha uygun olduğunu somut kriterlerle göstermektir.
Giriş: Neden doğrusu seçmek önemli?
Derecelendirme sistemi sadece puan verme mekanizması değildir; maç eşleştirmeden oyuncu deneyimine, şeffaflıktan haksızlığa kadar pek çok sonucu etkiler. Yanlış sistem seçimi; oyuncu memnuniyetsizliği, hatalı terfi/ceza kararları ve dengesiz maçlara yol açabilir. Bu yüzden seçim yaparken hem teorik hem de pratik kriterleri değerlendirmek gerekir.
Karşılaştırma yöntemi: 7 kriter
Her sistem aynı anda birçok alanda yeterli olamaz. Biz aşağıdaki yedi kriter üzerinden karşılaştıracağız:
- Doğruluk (accuracy): Gerçek yetenekleri ne kadar iyi tahmin eder?
- Güven/Belirsizlik (confidence): Bir oyuncunun derecesinin ne kadar güvenilir olduğunu verir mi?
- Aktivite ve Devamsızlık (activity handling): Seyrek oynayan veya inaktif oyunculara karşı davranışı nasıldır?
- Takım ve Çoklu Oyuncu Desteği (team/multiplayer): Takım maçlarını ve free-for-all formatları destekliyor mu?
- Hesaplama Maliyeti ve Ölçeklenebilirlik: Büyük liglerde performans/altyapı maliyeti nedir?
- Hassasiyet ve Uyarlanabilirlik (volatility): Oyuncu form değişimlerini ne kadar hızlı yakalar?
- Uygulama ve Şeffaflık: Oyuncular ve yöneticiler sistemi anlar ve güven duyabilir mi?
Her sistemin kısa teknik özeti
ELO: Basit ve yaygın. İki oyunculu maçlarda beklenen skor formülü E_A = 1 / (1 + 10^{(R_B-R_A)/400}) kullanılır. K-faktörüyle (güncelleme hızı) oynanır. Pro: Kolay; Konu: Belirsizlik bilgisi yoktur.
Glicko / Glicko-2: ELO'yu geliştiren sistem. Her oyuncuya rating (r) ve rating deviation (RD) verilir; Glicko-2 ayrıca volatility ekler. RD oyuncunun ratinginin güven düzeyini gösterir. Pro: Aktiviteye göre belirsizlik ayarlanır; Konu: Karmakarışık implementasyon.
TrueSkill: Microsoft tarafından geliştirildi; bayesci bir model kullanır. Her oyuncunun mu (ortalama yetenek) ve sigma (belirsizlik) değeri vardır. Takım maçlarını ve çoklu oyunculu sonuçları doğal şekilde işler. Pro: Takım/multi desteği güçlü; Konu: Matematiksel karmaşıklık ve şeffaflık eksikliği.
7 Kriter Üzerinden Detaylı Karşılaştırma
1) Doğruluk
ELO: İyi bir basitlik/performans dengesi sunar, ancak genç oyuncular ve düzensiz performans gösterenler için yanıltıcı olabilir.
Glicko: RD sayesinde belirsiz oyuncuları daha doğru değerlendirebilir, dolayısıyla daha yüksek doğruluk eğilimi gösterir.
TrueSkill: Özellikle takım maçlarında ve çoklu oyunculu ortamlarda daha doğru sonuçlar verir; sonuçlar modelin bayesci yapısı sayesinde genelde daha güvenilir çıkar.
2) Güven/Belirsizlik
ELO: Belirsizlik derecesi vermez. Yeni başlayan bir oyuncunun 1400 mü yoksa 1800 mü olduğu anlaşılmaz.
Glicko: RD ile belirsizliği açıkça ifade eder; bu, provisional (geçici) dönemin yönetimini kolaylaştırır.
TrueSkill: sigma değeri RD’ye benzer ama takım oyunlarına uygun güncellemeler sağlar; belirsizlik modellendirmesi en gelişmiş olandır.
3) Aktivite ve Devamsızlık
ELO: İnaktif oyuncular ile aktif oyuncular arasındaki dengenin korunması için ek decay mekanizmaları gerekir.
Glicko: RD zamanla artarak inaktifliğin etkisini doğal şekilde gösterir; tekrar aktifleşmede hızlı düzelme sağlar.
TrueSkill: Sigma artışı ve güncelleme mekanizmalarıyla benzer şekilde çalışır; zaman bazlı artış eklenirse daha iyi yönetilir.
4) Takım ve Çoklu Oyuncu Desteği
ELO: Basit 1v1 için uygundur; takım maçlarında kullanmak için karmaşık el ile formüller gerekir (ör: takım ortalaması).
Glicko: Temel olarak 1v1 tasarlanmıştır; takım uzantıları mümkündür ama zordur.
TrueSkill: Takım ve free-for-all formatlarını doğrudan destekler; takım dinamiklerini modellemek için idealdir.
5) Hesaplama Maliyeti ve Ölçeklenebilirlik
ELO: Çok hafif, milyonlarca maç için uygundur.
Glicko: ELO’dan daha ağır ancak hâlâ ölçeklenebilir; RD ve volatility hesapları ek yük getirir.
TrueSkill: Bayesci güncellemeler daha hesap yoğun olabilir; büyük ölçekli gerçek zamanlı liglerde optimizasyon veya yaklaşık çözümler gerekebilir.
6) Hassasiyet ve Uyarlanabilirlik
ELO: K-faktörüyle ayarlanır; sabit K hızlı değişim sağlar ama gürültü getirir.
Glicko: Volatility (Glicko-2) ile oyuncu form değişimlerini daha iyi yakalar.
TrueSkill: Doğal olarak form değişimini ve takım etkilerini yakalar; sigma’nın doğru ayarlanması önemlidir.
7) Uygulama ve Şeffaflık
ELO: En basit ve oyuncuların çoğunun anladığı sistemdir — şeffaflık yüksek.
Glicko: Biraz daha karmaşık ancak iyi dokümante edilebilir.
TrueSkill: Matematiksel olarak en karmaşık; oyuncuların anlaması zordur, bu da hata şikayetlerini artırabilir. Yönetici belgeleri ve görselleştirme şarttır.
Pratik Örnekler ve Öneriler
- Küçük 1v1 lig / az bütçe: ELO — düşük maliyet, kolay implementasyon.
- Bireysel rekabetçi lig, düzensiz katılım: Glicko-2 — RD ve volatility avantaj sağlar.
- Takım tabanlı oyunlar veya çoklu oyunculu formatlar: TrueSkill — doğal takım desteği ve daha isabetli sıralama.
- Büyük ölçek / gerçek zamanlı eşleştirme: ELO veya optimize Glicko tercih edilebilir; TrueSkill için optimizasyon gerekir.
Geçiş ve Uygulama İpuçları
Başlangıç (seeding): Yeni liglerde oyuncuları tek bir değere koymak yerine geçmiş veriye (ranked maçlar, dış veriler) göre nümerik seeding yapın. ELO → TrueSkill geçişinde, ELO dağılımının ortalamasını ve standart sapmasını kullanarak mu/sigma eşlemesi yapabilirsiniz:
mu_new = desired_mu + (ELO - ELO_mean) / ELO_std * desired_sigma
Bu simple normalizasyon, oyuncu sıralamalarını bozmadan yeni modele taşır.
Provizyonel Dönem: Glicko ve TrueSkill’de yeni oyuncu için yüksek belirsizlik (RD/sigma) belirleyin; birkaç maç sonra belirsizliği azaltın. ELO’da ise yüksek K değeri kullanarak başlangıçta hızlı öğrenme sağlayın.
İnaktiflik Politikası: Glicko/TrueSkill doğal RD/sigma artışı sağlar; ELO için zaman bazlı decay (ör: aylık -10 puan) uygulayın ancak oyuncu kaybını gözleyin.
Örnek Hesaplama Notları
ELO örneği: 1500 vs 1600 → beklenen skor 1500 için ~0.36. K=32 ise 1500 kazandıysa: yeni = 1500 + 32*(1-0.36) ≈ 1520.
Glicko/TrueSkill hesapları daha karmaşık ve adım adım güncelleme gerektirir; mevcut kütüphaneleri (python için "trueskill", "glicko2" gibi) kullanmak uygulamayı hızlandırır.
Sonuç: Hangi sistemi seçmelisiniz?
Özetle:
- ELO: Basit, ucuz ve etkili. 1v1, stabil oyuncu tabanı olan küçük ligler için ideal.
- Glicko-2: Daha hassas, inaktiflik ve belirsizlikle başa çıkmakta iyi. Bireysel rekabetçi ligler için güçlü bir aday.
- TrueSkill: Takım ve çoklu oyuncu formatlarında en uygunu. Büyük ölçekli liglerde optimizasyon ve oyuncu şeffaflığına yatırım gerektirir.
Karar verirken lig yapınızı, altyapı bütçenizi, oyuncu davranışlarını ve şeffaflık ihtiyacınızı göz önünde bulundurun. Uygulama sırasında küçük A/B deneyleri (ör. alt ligleri farklı sistemlerle çalıştırmak) size gerçek veriyle doğru seçimi yaptırır.
Kapanış
Derecelendirme sistemi seçimi teknik bir tercih olmakla kalmaz, aynı zamanda oyuncu deneyimini ve lig markasını etkileyen bir stratejik karardır. Yukarıdaki 7 kriter ve pratik önerilerle hangi sistemin ihtiyaçlarınıza daha uygun olduğunu rahatlıkla belirleyebilirsiniz. Uygulama aşamasında daha somut teknik destek isterseniz, veri örnekleriyle birlikte sistem analizi yapabiliriz.