Gelistirici Gunlugu

Müziğin Perde Arkası: Şarkı Kalite Algoritmasını Nasıl İnşa Ettik

Feb 9, 20267 dk okuma

Deterministik RNG ile adil, heyecan verici ve stratejik şarkı kalite mekaniklerinin tasarımına dair bir geliştirici günlüğü.

Road to Headliner, şarkının hit mi yoksa fiyasko mu olacağına nasıl karar veriyor? Bu geliştirici günlüğünde oyunun en önemli sistemlerinden birinin, şarkı kalite algoritmasının perdesini aralamaktayız.

Tasarım Zorluğu

Şarkı kalitesinin gerçek müzik gibi adil ama öngörülemez hissettirmesini istedik. En iyi müzisyenler ve stüdyolar tutarlı şekilde daha iyi sonuçlar üretmeli, ama her zaman sürpriz için yer olmalıydı. Bir garaj bandı başyapıt yazabilir ve pahalı bir stüdyo seansı sıradan bir parça üretebilir.

Kalite Formülü

Şarkı kalitesi birkaç faktörden hesaplanır:

  • Müzisyen Beceri Ortalaması: Bant üyelerinizin ham yeteneği. Bu en büyük faktör ve işe alım ile prova yoluyla en çok kontrol edebildiğiniz şey
  • Bant Uyumu: Bandınızın ne kadar iyi birlikte çalıştığı. Uyumlu bir bant daha iyi şarkılar yazar
  • Fikir Kalitesi: Prova sırasında geliştirilen ham kavram. Bazı fikirler özünde daha güçlü
  • Stüdyo Kademesi: Daha yüksek kademeli stüdyolar kalite bonusu sağlar (daha iyi ekipman, deneyimli mühendisler)
  • Prodüktör Bonusu: Bir prodüktör işe aldıysanız, tutarlı bir kalite artışı ekler

Rastgelelik Faktörü

İşte burada ilginçleşiyor. Kontrollü varyans eklemek için deterministik rastgele sayı üreteci (HMAC-SHA256) kullanıyoruz:

  • Şanslı bir vuruş için %8 olasılık: Kalite +15 bonusu. Her şeyin yerine oturduğu o sihirli stüdyo seanslarını temsil eder
  • Fiyasko için %5 olasılık: Kalite -20 cezası. Bazen kimya sadece oraya gelmiyor

Bu, mükemmel bir bandın bile kötü bir günü olabileceği ve mücadele eden bir bandın şansı yakalayabileceği anlamına gelir. Deterministik RNG bu sonuçların tekrarlanabilir ve istismar edilemez olmasını sağlar.

Zincir Bonusları

Bandınız aynı eylem türünü tekrar tekrar gerçekleştirdiğinde akış durumuna girer:

  • 3 ard arda aynı tür eylem: Kalite +3
  • 4 ard arda: Kalite +6
  • 5 ard arda: Kalite +9
  • 6 veya daha fazla: Kalite +12

Bu, yaratıcı momentumun gerçek dünyadaki olgusunu yansıtır. Her gün prova yapan müzisyenler, seyrek prova yapanlardan daha iyi yazar. Kayıt serisindeki bandlar daha tutarlı albümler üretir.

Bu Sistemi Neden Seçtik

Mevcut yaklaşıma karar vermeden önce birkaç alternatif araştırdık:

Saf RNG (reddedildi): Fazla rastgele. Kötü sonuçlar stratejilerini mahvettiğinde oyuncular çaresiz hissetti. Hayal kırıklığı, iyi sonuçların heyecanından fazla oldu.

Tamamen Deterministik (reddedildi): Fazla öngörülebilir. Oyuncular formülü çözdüğünde sürpriz kalmadı. Oyun bir elektronik tablo egzersizine dönüştü.

Varyanslı Ağırlıklı Deterministik (seçildi): Her iki dünyanın en iyisi. Kararlarınız (iyi müzisyenler işe almak, prova yapmak, iyi stüdyolar kullanmak) sonuçları anlamlı ölçüde iyileştirir, ancak her zaman yeterli varyans işleri heyecanlı tutar.

Oynanışa Etkisi

Şarkı kalitesi aşağı yöndeki her şeyi etkiler:

  • Hit Performansı: Daha kaliteli şarkılar listelerde daha yükseğe çıkar
  • Yayın Gelirleri: Kalite pasif geliri doğrudan çarpar
  • Hayran Dönüşümü: Daha kaliteli şarkılar canlı çalındığında daha fazla hayran çeker
  • Konser Gelirleri: Set listesi kalitesi konser performansını etkiler

Bu tatmin edici bir geri bildirim döngüsü oluşturur: kaliteye yatırım yap, daha iyi sonuçlar al, daha fazla kaliteye yatırım yap. Ama varyans, mekanik olarak optimize etmenin yeterli olmadığı anlamına gelir. Şanslı bir vuruş beklenmedik bir hit getirdiğinde ya da bir fiyasko planları değiştirmeye zorladığında uyum sağlamanız gerekir.

Öğrendiklerimiz

Test oyunundan en büyük ders şuydu: algılanan adalet, matematiksel adaletten daha önemlidir. Erken sürümlerimizin aynı ortalama sonuçları vardı ama daha yüksek varyans. Şanssız oyuncular, istatistiksel olarak öyle olmasa da sistemin hileli olduğunu hissetti.

Bunu şu şekilde çözdük:
- Uç sonuçları azaltmak (-50 kalite fiyasko yok)
- Ana faktörü (müzisyen becerisi) rastgelelikten daha etkili yapmak
- Tutarlı oyunu ödüllendiren zincir bonusları eklemek
- Oyuncuların sonuçların neden farklı olduğunu anlaması için kalite faktörlerini şeffaf biçimde göstermek

Mevcut sistemin doğru dengeyi kurduğuna inanıyoruz: akıllı oyunu ödüllendirecek kadar stratejik, unutulmaz anlar yaratacak kadar rastgele ve adil hissettirmek için yeterince şeffaf.

#dev-diary#game-design