yazodi's picture
Update README.md
7636a3b verified
---
title: Street Fighter Move Recognizer
emoji: 🎮
colorFrom: red
colorTo: blue
sdk: streamlit
app_file: app.py
pinned: false
tags:
- deep-learning
- lstm
- game-ai
- sequence-classification
- streamlit-app
license: mit
sdk_version: 1.45.1
---
# 🎮 Street Fighter Move Recognizer
Bu proje, joystick kombinasyonlarını analiz ederek oyuncunun hangi **özel hareketi** yapmak istediğini tahmin eden bir makine öğrenimi modelini içermektedir. Veri simüle edilmiştir ve Street Fighter benzeri dövüş oyunlarından esinlenilmiştir.
## 🧠 Proje Hedefi
Joystick sekanslarından (`["DOWN", "RIGHT", "PUNCH"]` gibi) yola çıkarak hangi **move (hareket)** yapıldığını sınıflandıran bir sekans model geliştirmek. Bu, oyun AI sistemlerinin temel yapı taşlarından biridir.
---
## 📊 Kullanılan Veri
Veri seti manuel olarak oluşturulmuştur ve aşağıdaki gibi örnek joystick girişlerinden ve etiketli hareket isimlerinden oluşur:
| Joystick Sequence | Move |
|-----------------------------|----------------|
| DOWN,RIGHT,PUNCH | Hadouken |
| RIGHT,DOWN,RIGHT,KICK | Shoryuken |
| LEFT,LEFT,PUNCH | Dash Punch |
| DOWN,KICK | Low Kick |
| LEFT,DOWN,RIGHT,PUNCH | Combo Strike |
| ... | ... |
---
## 🔧 Kullanılan Teknolojiler
- **TensorFlow / Keras** – LSTM model ile sekans sınıflandırma
- **scikit-learn** – LabelEncoder
- **Streamlit** – Web arayüzü
- **Pickle** – Model nesnelerinin kaydedilmesi
- **Hugging Face Hub** – Model paylaşımı
- **GitHub** – Kod ve dokümantasyon paylaşımı
---
## 🏗️ Model Mimarisi
- `Tokenizer` ile joystick girişleri tokenize edildi
- `pad_sequences` ile sabit uzunlukta girişe dönüştürüldü
- `LSTM` tabanlı sekans modeli eğitildi
- `LabelEncoder` ile sınıf etiketleri dönüştürüldü
- Model `.keras`, `tokenizer.pkl`, `label_encoder.pkl` olarak kaydedildi
---
## 🚀 Streamlit Uygulaması
Kullanıcıdan joystick kombinasyonu alınır ve model ile eşleşen hareket tahmin edilir.
### Uygulamayı Başlatmak İçin:
```bash
streamlit run app.py
🔬 Örnek Tahmin
DOWN,RIGHT,PUNCH
Çıktı:
Tahmin Edilen Hareket: Hadouken
💡 Gelecekte Ne Yapılabilir?
Gerçek zamanlı joystick verisi entegrasyonu
Sesli komut tanıma ile komboları tetikleme
Mobil uyumlu arayüz
Daha fazla kombo ile veri setinin genişletilmesi
📚 Eğitim Amaçlıdır
Bu proje, oyun zekası ve sekans modellemeyi birleştiren bir örnek olarak eğitim amaçlı geliştirilmiştir.