Blog / E-Spor / Maç Verisinden ‘Tilt’ Tespiti: 7 Modelle Oyuncu Duygularını Otomatik Okuyup Performansı Kurtarma
Maç Verisinden ‘Tilt’ Tespiti: 7 Modelle Oyuncu Duygularını Otomatik Okuyup Performansı Kurtarma
E-Spor

Maç Verisinden ‘Tilt’ Tespiti: 7 Modelle Oyuncu Duygularını Otomatik Okuyup Performansı Kurtarma

Giriş: E-spor ve rekabetçi oyunlarda “tilt” anlık duygusal bozulma sonucu performans düşüşüne verilen isimdir. Tilt yalnızca oyuncunun morali değil, takım dinamikleri ve maç sonucu üzerinde doğrudan etkilidir. Bu yazıda maç verisinden tilt tespiti yapacak yedi farklı modeli, hangi özelliklerin anlamlı olduğunu, gerçek zamanlı uygulama stratejilerini ve müdahale yollarını detaylı ve uygulanabilir biçimde anlatacağım.

Tilt nedir? Neden otomatik tespit önemli?

Tilt, öfke, umutsuzluk, aşırı risk alma veya çekilme gibi duygusal durumların oyun içi kararları bozmasıdır. İnsan gözlemi sınırlıdır: yayıncılar veya analiz ekipleri tüm maçları izleyemez. Otomatik tespit sistemi; anlık müdahale, koçlama, oyuncu korunması ve daha sağlıklı veri toplama sağlar. Ayrıca oyuncu deneyimini ve maç rekabet dengesini korur.

Maç verisinde tilt sinyalleri: Hangi göstergelere bakmalı?

Her oyun farklı olsa da genel olarak kullanılabilecek sinyaller şunlardır:

  • Performans göstergeleri: KDA, ölüm sıklığı, beklenenden düşük isabet oranı, zarar/mücadele oranı.
  • Davranış metrikleri: Hızlı pozisyon değişimleri, anormal harita hareketleri, anormal yetki/vermişlik (ability) kullanımı.
  • Zaman serisi özellikleri: Hareket hızındaki sapmalar, APM/artış-azalış varyansı, karar alma gecikmesi (ör. input interarrival times).
  • Ekonomi ve kaynak yönetimi: Yanlış eşya alımları, kaynak israfı, ekstrem gazete/altın dalgalanmaları.
  • Sosyal sinyaller: Chat toksisitesi, takım içi negatif ping/işaret sayısı (oyuna bağlı olarak).

Bu sinyallerin zaman içinde yönelim (trend), ani değişim (change point) veya anormallik (anomaly) olarak değerlendirilmesi gerekir.

Etiketleme ve ground truth: Tilt nasıl öğretilir?

Modelin öğrenebilmesi için güvenilir etiket gerekir. Yaygın yaklaşımlar:

  1. Uzman etiketlemesi: Koçlar ve analistler maçları izleyip tilt anlarını işaretler. En güvenilir ama maliyetli yöntemdir.
  2. Oyun içi eyleme dayalı proxy etiketler: Ardışık hatalar, art arda ölümler, IPM (in-game penalty metric) gibi kurallar kullanarak otomatik etiketleme.
  3. Oyuncu raporları / anketler: Oyunculara maç sonrası kısa anketlerle öz-bildirim almak. Subjektif ama değerli veri sağlar.
  4. Hibrit yaklaşım: Otomatik proxy ile yüksek güven skoruna sahip örnekler kullanılır, zayıf örnekler uzmana gönderilir.

Zaman serisi etiketlemede sürekli (soft) etiketleme veya anomali/breakpoint etiketleri tercih edilmelidir; tek seviye 'tilt var/yok' yerine anlık eğilim score'u vermek daha pratiktir.

7 Model: Basitten karmaşığa karşılaştırma ve nerede işe yarar

Aşağıdaki yedi model veri kullanım senaryosuna göre seçildi: çevrimdışı analizden gerçek zamanlı algılamaya kadar uzanıyor.

1) Kural-temelli (Heuristic) Sistem — Baseline

Açıklama: Önceden belirlenmiş eşiğe dayalı kurallar (ör. 3 dakika içinde 3 ölüm veya APM düşüşü %40) ile tilt alarmı üretir.

Avantajlar: Açık, hızlı, düşük hesaplama maliyeti. Dezavantajlar: Oyun/açılıma bağımlı, esnek değil, yüksek false positive/negative.

Kullanım: Yeni oyunlar için başlangıç, veri toplama, hızlı müdahale prototipi.

2) Lojistik Regresyon — Şeffaf sınıflandırma

Açıklama: Özellik tabanlı model; feature'lar normalleştirilip zaman pencerelerine uygulanır. Örneğin son 30s KDA değişimi, APM sapması, chat toksisite skoru modele girer.

Avantajlar: Kolay yorumlanır, hızlı eğitilir. Dezavantajlar: Zaman bağımlılıkları ve karmaşık etkileşimleri kaçırır.

3) Random Forest — Karar ağaçlarının gücü

Açıklama: Düşük ila orta boyutlu özellik setlerinde güçlü; etkileşimleri yakalar, outlier dayanıklı.

Avantajlar: Önemli feature'ları çıkarma (feature importance), az hiperparametre hassasiyeti. Dezavantajlar: Seri bağımlılıklarda sınırlı, gerçek zamanlı scoring maliyeti orta.

4) XGBoost (Gradient Boosting) — Performans odaklı

Açıklama: Boosted ağaçlar yüksek başarı sağlar; özellikle dengesiz tilt datasetlerinde ağırlıklandırma ile güçlü sonuç verir.

Avantajlar: Genelde en iyi geleneksel ML performansı, eksik veriye tolerans. Dezavantajlar: Interpretasyon RF kadar kolay değil, zaman serisi bağımlılıkları sınırlı yakalanır.

5) LSTM (Uzun Kısa Süreli Bellek) — Sekans modelleme

Açıklama: Zaman serisi verisini ardışık olarak işleyebilir; kısa ve orta vadeli trendleri yakalar. Input olarak pencereler halinde ham eylem/istatistik gönderilir.

Avantajlar: Uzun dönem bağımlılıklarını modelleme. Dezavantajlar: Eğitim veri miktarı, hiperparametre ve gecikme hassasiyeti; gerçek zamanlı latency yönetimi gerekir.

6) Temporal Convolutional Network (TCN) veya 1D-CNN — Zaman serisinde hızlı algılama

Açıklama: Düşük gecikmeli, paralelleştirilebilir konvolüsyonel yaklaşım. Kısa ve orta periyodlu motifleri tespit etmede etkilidir.

Avantajlar: LSTM'e göre daha stabil eğitim, daha düşük inference latency. Dezavantajlar: Çok uzun dönem bağımlılıklarında LSTM kadar esnek olmayabilir.

7) Bayesian Change Point Detection / Anomaly Detection — Değişim yakalama

Açıklama: Tilt genellikle bir değişim anında başlar. Bayesian CPD veya online changepoint algoritmaları, zaman serilerindeki dağılım değişikliklerini anlık yakalar. Alternatif olarak VAE tabanlı anomali algılama kullanılabilir.

Avantajlar: Anomali/shift odaklı yaklaşım; model açıkça hangi zamanda değişim olduğunu verir. Dezavantajlar: Özellikle çok boyutlu veride kalibrasyon gerektirir.

Hangi modeli nerede kullanmalı? Pratik yol haritası

  1. Başlangıç: Heuristic + Logistic Regression ile temel alarm sistemi kur. Veri topla ve etiketle.
  2. Orta aşama: Random Forest/XGBoost ile offline performansı optimize et. Walk-forward validation uygula.
  3. Üretim/gerçek zamanlı: TCN veya optimize LSTM ile low-latency scoring; kritiklik durumları için Bayesian CPD paralel çalışsın.
  4. Operasyonel: Ensemble (ör. XGBoost + TCN + CPD) ile hem karar hem de zamanlama kazancı sağla; voting veya meta-classifier ile sonuçları birleştir.

Özellik mühendisliği: Uygulanabilir ve güçlü feature örnekleri

  • Rolling window feature'lar: son 15s/30s/2dk içindeki ortalama ve varyans.
  • Delta feature'lar: son pencere ile önceki pencere farkları (trend göstergesi).
  • Relative metrics: takım ortalamasına göre sapma (ör. oyuncunun APM farkı takım ortalamasından).
  • Composite skorlar: hata skoru = beklenen hasar - gerçek hasar; karar skoru = optimality proxy.
  • Ses / metin verisi: Chat mesajları NLP ile toksisite ya da moral analizi için numeric skor haline getirilir.

Model değerlendirme: Doğru metrikleri kullanmak

Tilt tespiti sınıflandırma ile beraber zamanlama problemidir. Önerilen metrikler:

  • Precision / Recall / F1: Özellikle yanlış alarm maliyetine göre ayarla.
  • ROC-AUC ve PR-AUC: Dengesiz veri için PR-AUC önemlidir.
  • Time-to-detection (Lead time): Tilt başladığı andan alarma kadar geçen süre ortalaması.
  • False intervention rate: Yanlış alarm sonucu uygulanan müdahalelerin oranı.

Validasyon: Zaman serisi için walk-forward CV; oyuncu düzeyinde sızma olmamalı (aynı oyuncu hem train hem test'te olmamalı).

Gerçek zamanlı mimari ve gecikme yönetimi

Önerilen bileşenler:

  • Event bus (Kafka) ile oyun olaylarının iletilmesi.
  • Stream processing (Flink/Beam) ile rolling feature hesaplama.
  • Model serving (TensorFlow Serving, ONNX Runtime, veya optimized C++ microservice) ile düşük latency scoring.
  • Decisioning katmanı: threshold, ensemble mantığı ve müdahale türünü seçer.
  • Feedback loop: Oyun içi yapılan müdahalelerin etkisi izlenip modele geri bildirim olur.

Latency hedefi: kritik müdahaleler için 1-3 saniye aralığı idealdir; eğitimsel uyarılar için 10-30 saniye kabul edilebilir.

Müdahale stratejileri: Algılandıktan sonra ne yapılmalı?

Müdahaleler müdahale maliyeti, oyuncunun mahremiyeti ve oyun deneyimi gözetilerek tasarlanmalı. Örnekler:

  • Pasif müdahaleler: Mini coaching pop-up, nefes alma önerisi, kısa mola önerisi.
  • Aktif oyuncu destekleri: Otomatik eşleşme ayarlaması, bot-assist modu (eğitsel), hud'da basit oyun içi ipuçları.
  • Takım düzeyinde müdahaleler: Koç veya lider ile anlık iletişim önerisi, görev delegasyonu değişikliği.
  • Ceza/Motivasyon: Sadece toksisite durumlarında moderasyon; tilt için ceza uygulamak çoğunlukla zararlı olur.

En iyi sonuçlar kişiselleştirilmiş müdahalelerden gelir: bazı oyunculara kısa mola daha etkilidir, bazılarında oyun içi ipucu işe yarar.

Etik, gizlilik ve sınırlamalar

Maç verisinden duygusal durum çıkarmak mahremiyet endişeleri doğurur. Önemli noktalar:

  • Oyuncu rızası ve şeffaflık: Hangi verilerin neden kullanıldığı açık olmalı.
  • Yanlış sınıflandırma maliyeti: Hatalı müdahaleler oyuncu deneyimini bozabilir.
  • Demografik önyargı: Model farklı skill/oyun tarzlarına karşı adil olmalı; farklı lig/skill seviyelerinde yeniden kalibre edilmeli.

Uygulamalı örnek akış (kısa senaryo)

30. dakikada bir oyuncunun son 60s içinde APM %50 düşüklüğü, 2 ölüm ve chat toksisite skorunda artış görüldü. Bayesian CPD bir değişim tespit etti, TCN alarm verdi. Decisioning katmanı "öneri: 60s mola" ve "HUD ipucu: basit pozisyon alma" seçeneklerini uygular. Oyuncu molayı kabul eder; sonraki 2 dakikada performans istikrar kazanır. Bu süreç modelin geri bildirim verileriyle güncellenir.

Sonuç: Operasyonel ve teknik özet

Maç verisinden tilt tespiti, hem geleneksel ML hem de zaman serisi/derin öğrenme yaklaşımlarını gerektirir. Basit kurallar hızlı başlangıç sağlar, XGBoost/Random Forest güçlü offline performans sunar; gerçek zamanlı üretim için TCN/LSTM ile Bayesian CPD kombinasyonu önerilir. En önemlisi doğru etiketleme, walk-forward validasyon ve etik çerçeveyle tasarlanmış müdahale politikalarıdır. Doğru kurulduğunda sistem oyuncu sağlığını, takım performansını ve rekabet kalitesini anlamlı biçimde artırır.

Pratik ipucu: Başlangıçta basit bir heuristic + XGBoost hattı kurup, CPD ile anomali yakalama ekleyin. Gerçek veriyi topladıktan sonra TCN/LSTM'e geçiş yapın ve müdahale etkisini A/B testiyle doğrulayın.

Yazının devamı veya teknik örnek kodlar isterseniz, belirli bir oyun veya veri formatına göre örnek pipeline ve model hiperparametreleriyle yardımcı olabilirim.