Hoş Geldiniz, Admin! 🧙‍♀️

WitchyMatch Yönetim Paneli ile oyunun tüm dinamiklerini gerçek zamanlı olarak kontrol edebilirsiniz.

📊

Genel Bakış

Oyuncu verilerini, level tasarımlarını ve oyun içi ekonomiyi bu panel üzerinden yönetebilirsiniz.

  • Oyuncular: Bakiye ve ilerleme takibi.
  • Level Yönetimi: Yeni bölümler oluşturma ve yayınlama.
  • Ekonomi: Satın alımlar ve ödül sistemleri.

Hızlı İstatistikler

Aktif Level 0
Toplam Oyuncu 0
📢

Sistem Notları

Panel üzerindeki tüm değişiklikler Firebase Realtime Database ile anında senkronize edilir. Level yayınlamadan önce "Yayınla" sayfasından kontrol etmeyi unutmayın.

Yükleniyor...

🔍 Oyuncu Seç

Yükleniyor...

Arkadaş listesini görmek için soldan bir oyuncu seçin veya yukarıdan kod ile arama yapın.

Toplam Yarışan 0
En Yüksek Yıldız 0
Sıra Oyuncu Level Yıldız Son Güncelleme İşlemler

👤 Oyuncu Takibi

🎮 Genel Oyun Ayarları

coins_per_level Level tamamlama başına altın
materials_per_star Yıldız başına kazanılan malzeme
max_level_count Oyundaki toplam level sayısı

🎁 Ödül & Zaman Ayarları

diamonds_per_milestone Milestone elmas ödülü
milestone_interval Milestone aralığı (örn: 5)
wheel_cooldown_hours Çark bekleme süresi (saat)

🛠️ Sistem & Bakım Ayarları

maintenance_mode Bakım modunu aç/kapat
maintenance_message Bakım mesajı
min_version Zorunlu min. uygulama versiyonu
store_url Güncelleme için mağaza linki

Edit Player

Toplam0
Paketler0

Henüz level yok. "Toplu Üretim" ile oluşturun veya "Level Editor" ile manuel ekleyin.

Level Editor

Grid Ayarları

Tile Seçimi

Görev

Yıldız Eşikleri

Toplu Level Üretimi

Unity'deki BatchLevelGenerator ile aynı zorluk progresyonunu kullanarak toplu level üretin.

Zorluk Dağılımı: Seçilen zorluk ölçeği, tüm üretilen level'ların temel yapısını belirler.

Firebase'e Yayınla

Firebase Durumu

Yükleniyor...

Yerel Durum

Bellekteki Level 0
Paket Sayısı 0
🧩

Tile görsellerini sürükleyin veya tıklayın

PNG, JPG, WebP • Max 5MB • Çoklu seçim desteklenir
Firebase Storage Yolu game_assets/tiles/
Unity Erişim FirebaseStorage.DefaultInstance.GetReference("game_assets/tiles/dosya.png")

Henüz tile görseli yüklenmemiş.

🖼️

Arkaplan görsellerini sürükleyin veya tıklayın

PNG, JPG, WebP • Max 10MB
Firebase Storage Yolu game_assets/backgrounds/

Henüz arkaplan görseli yüklenmemiş.

🔊

Efekt ses dosyalarını sürükleyin veya tıklayın

MP3, WAV, OGG • Max 10MB • tile_match.mp3, button_click.wav gibi
Firebase Storage Yolu game_assets/audio/sfx/
Unity Erişim FirebaseStorage.DefaultInstance.GetReference("game_assets/audio/sfx/dosya.mp3")

Henüz efekt sesi yüklenmemiş.

🎶

Müzik dosyalarını sürükleyin veya tıklayın

MP3, WAV, OGG • Max 30MB • menu_theme.mp3, game_loop.ogg gibi
Firebase Storage Yolu game_assets/audio/music/

Henüz müzik dosyası yüklenmemiş.

Events

Yakın zamanda eklenecek...

👥
Toplam Oyuncu 0
💰
Toplam Altın 0
📊
Ortalama 0
🏆
En Yüksek 0

🔍 Oyuncu Ara & Altın Ekle/Çıkar

Yükleniyor...

📦 Toplu Altın Dağıtımı

Tüm oyunculara aynı anda altın dağıtın.

Toplam dağıtılacak: 0 altın Etkilenecek oyuncu: 0

📖 Altın Ekonomisi

Nereden Kazanılır?

Level tamamlama coins_per_level (varsayılan: 50)
Şans çarkı Çark sonucuna göre değişken
Günlük ödül Gün 1: 50, Gün 2: 100, Gün 4: 200, Gün 6: 500

Firebase Path

users/{uid}/coins
💡

Hint (İpucu)

Eşleşen bir çifti gösterir

🔀

Shuffle (Karıştır)

Board'u yeniden karıştırır

💣

Bomb (Bomba)

Rastgele bir çifti yok eder

🔨

Hammer (Balyoz)

Seçilen taşı yok eder

🎁 İlk Kilit Açma Ödülü

Bir powerup ilk kez açıldığında oyuncuya verilen kalıcı stok.

💣 Bomb — Level 20'de açılır
kalıcı bomba
🔨 Hammer — Level 50'de açılır
kalıcı balyoz

📖 Powerup Tablosu

Powerup Fiyat
Hint (İpucu) 500 altın
Shuffle (Karıştır) 500 altın
Bomb (Bomba) 500 altın
Hammer (Balyoz) 500 altın

📦 Stok Mantığı

Her Level Başında

→ Bedava hak verilir (1 hint, 1 shuffle, 0 bomb, 0 hammer)
→ Satın alınan kalıcı stok ayrı tutulur
→ Önce bedava hak kullanılır, bitince stoktan düşer

Firebase Path

game_config/powerup_settings

🔍 Oyuncu Ara & Stok Yönet

Yükleniyor...

👥
Toplam Oyuncu 0
💎
Toplam Elmas 0
📊
Ortalama 0
🏆
En Yüksek 0

🔍 Oyuncu Ara & Elmas Ekle/Çıkar

Yükleniyor...

📦 Toplu Elmas Dağıtımı

Tüm oyunculara aynı anda elmas dağıtın.

Toplam dağıtılacak: 0 elmas Etkilenecek oyuncu: 0

📖 Elmas Ekonomisi

Nereden Kazanılır?

İlk kayıt (başlangıç hediyesi) 50
Milestone ödülü (her X level) diamonds_per_milestone (varsayılan: 5)
Şans çarkı Çark sonucuna göre değişken
Günlük ödül Gün 3: 3, Gün 5: 5, Gün 7: 15
IAP (Gerçek para ile satın alma) Mağaza paketlerine göre

Nereye Harcanır?

Kutu açma Kutu tipine göre değişken

Firebase Path

users/{uid}/diamonds

⚙️ Milestone Yapılandırması

Oyuncuların belirli level aralıklarında elmas kazanma ayarlarını yapılandırın.

🔄

Milestone Aralığı

Her kaç level tamamlandığında elmas verilecek

💎

Ödül Miktarı

Her milestone'da verilecek elmas sayısı

🎁

İlk Kayıt Hediyesi

Yeni oyunculara verilen başlangıç elması

📈

Artış Çarpanı

Yüksek milestone'larda ödül çarpanı (1.0 = sabit)

Önizleme

📋
Nasıl Çalışır?

7 günlük döngü → Her gün artan ödül → 1 gün atlanırsa seri sıfırlanır (48 saat geçerse reset)

📅 Ödül Tablosu

Her gün için ödül tipini ve miktarını düzenleyin. 7. gün büyük ödül olarak işaretlenebilir.

Gün Ödül Tipi Miktar Özel Gün?
1
2
3
4
5
6
7

🔍 Oyuncu Seri Durumu

Oyuncunun günlük ödül serisini görüntüleyin veya sıfırlayın.

Yükleniyor...

📦 Desteklenen Ödül Tipleri

💰 coins
💎 diamonds
💡 powerup_hint
🔀 powerup_shuffle
💣 powerup_bomb
🔨 powerup_hammer

🔥 Firebase Alanları

Path Tip
users/{uid}/dailyRewardStreak int — Şu anki gün serisi (0–6)
users/{uid}/lastDailyRewardClaim long — Son ödül alma zamanı
game_config/daily_rewards object — Ödül tablosu ayarları

📖 Sistem Mantığı

→ Ödül tablosunu düzenleme (her gün için tip + miktar)
→ Oyuncunun seri durumunu görme / sıfırlama
→ 7. gün tamamlanınca döngü baştan başlar
→ 48 saat boyunca giriş yapılmazsa seri sıfırlanır
→ Özel gün olarak işaretlenen günler ekstra vurgulu gösterilir
🎡
Nasıl Çalışır?

Oyuncu çarkı çevirir → Rastgele ödül kazanır → 24 saat bekleme süresi başlar

Cooldown

24 saat (86400 saniye)

saat
🎲
Seçim Yöntemi

Ağırlıklı rastgele (weight-based random)

🎡 Çark Ödül Tipleri

Her dilim için ödül tipini, miktarını ve olasılık ağırlığını düzenleyin. Ağırlık yükseldikçe o dilimin çıkma olasılığı artar.

Toplam Ağırlık: 100
Dilim Ödül Tipi Miktar Ağırlık (weight) Olasılık

🔍 Oyuncu Cooldown Yönetimi

Oyuncunun çark bekleme süresini görüntüleyin veya sıfırlayın.

Yükleniyor...

🔥 Firebase Alanları

Path Açıklama
users/{uid}/lastWheelSpin long — Son çevirme zamanı (Unix timestamp)
game_config/wheel_settings object — Çark dilimleri ve cooldown ayarları

📖 Admin Panelde Yapılacaklar

→ Çark dilimlerini düzenleme (ödül tipi, miktar, olasılık ağırlığı)
→ Cooldown süresini değiştirme (wheel_cooldown_hours)
→ Oyuncunun cooldown'unu sıfırlama
→ Yeni dilim ekleme / mevcut dilimi silme
→ Ağırlık = çıkma olasılığı (yüksek = daha sık)

📊 Olasılık Hesaplama

→ Olasılık = dilim_ağırlığı / toplam_ağırlık × 100
→ Örnek: Ağırlık 30, Toplam 100 → %30 olasılık
→ Düşük ağırlıklı dilimler nadir ödüller için kullanılır

💎 Elmas Paketleri (IAP)

Gerçek para ile satın alınabilecek elmas paketlerini düzenleyin. productId alanı Google Play / App Store ürün kimliğidir.

# ID Görünen İsim Product ID Elmas Fiyat İşlem

💎 Elmas Paketleri (IAP)

Alan Açıklama
id string — Ürün kimliği
displayName string — Görünen isim
productId string — Store product ID (Google/Apple)
diamondAmount int — Verilecek elmas miktarı
priceDisplay string — Gösterilen fiyat (ör: "₺29.99")

🎲 Kutu Ödül Yapısı

Alan Açıklama
rewardType string — coins / powerup_hint / collection_item vb.
amount int — Miktar
weight int — Çıkma olasılığı ağırlığı

🔥 Firebase Alanları

Path Açıklama
game_config/shop/iap_packages array — Elmas paketleri
game_config/shop/boxes array — Kutu ürünleri

📖 Admin Panelde Yapılacaklar

→ Elmas paketlerini ekleme / düzenleme / kaldırma
→ Kutu ürünlerini ekleme / düzenleme
→ Kutu ödül olasılıklarını ayarlama
→ Fiyatlandırma değişiklikleri