開発日記

音楽の舞台裏: 楽曲クオリティアルゴリズムの作り方

Feb 9, 20267分で読める

決定論的RNGを使った、公平でエキサイティングかつ戦略的な楽曲クオリティの仕組みについての開発者日記。

Road to Headlinerはどうやってあなたの楽曲がヒットかハズレかを決めているのか? この開発者日記では、ゲームで最も重要なシステムのひとつ、楽曲クオリティアルゴリズムの裏側を公開します。

デザインの課題

楽曲クオリティは公平でありながら予測不可能に感じられるようにしたかったのです。本物の音楽と同じように。優秀なミュージシャンとスタジオは安定して良い結果を出すべきですが、常にサプライズの余地が必要です。ガレージバンドでも傑作を生み出せるし、高価なレコーディングセッションでも平凡なトラックができることがある。

クオリティの計算式

楽曲クオリティはいくつかの要素から計算されます:

  • ミュージシャンの平均スキル: バンドメンバーの生の才能。これが最大の要素で、採用とリハーサルを通じて最もコントロールできる部分です
  • バンドの結束力: バンドがどれだけ息を合わせているか。結束力が高いバンドはより良い楽曲を書きます
  • アイデアのクオリティ: リハーサル中に生まれた元のコンセプト。本質的に強いアイデアとそうでないものがあります
  • スタジオのティア: ティアが高いスタジオほどクオリティボーナスがあります (良い機材、経験豊富なエンジニア)
  • プロデューサーボーナス: プロデューサーを雇っている場合、安定したクオリティアップが加わります

ランダム要素

ここが面白いところです。コントロールされた分散を加えるために 決定論的乱数ジェネレーター (HMAC-SHA256) を使っています:

  • 8%の確率でラッキーブレイク: クオリティ+15のボーナス。すべてがかみ合う魔法のスタジオセッションを表しています
  • 5%の確率でハズレ: クオリティ-20のペナルティ。ときどき化学反応が生まれないことがある

これは、優秀なバンドでも調子が悪い日があるし、苦戦しているバンドが奇跡を起こすことがある、ということを意味します。決定論的RNGにより、これらの結果は再現可能で不正利用できないようになっています。

チェーンボーナス

バンドが同じタイプのアクションを繰り返すと、フロー状態に入ります:

  • 同じタイプのアクション3連続: クオリティ+3
  • 4連続: クオリティ+6
  • 5連続: クオリティ+9
  • 6連続以上: クオリティ+12

これは創造的な勢いという現実の現象を反映しています。毎日練習するミュージシャンは散発的に練習するミュージシャンより良い曲を書きます。レコーディングの勢いに乗ったバンドはより統一感のあるアルバムを作ります。

このシステムを選んだ理由

現在のアプローチに落ち着く前に、いくつかの代替案を検討しました:

純粋なRNG (却下): ランダムすぎた。悪い結果が戦略を台無しにするとき、プレイヤーは無力感を感じました。良い結果の興奮よりフラストレーションが上回りました。

完全決定論的 (却下): 予測しやすすぎた。プレイヤーが計算式を理解してしまうと、サプライズがなくなりました。ゲームがスプレッドシート作業になってしまいました。

分散を持つ重み付き決定論的 (採用): 両方の良いところ取り。判断 (優秀なミュージシャンの採用、リハーサル、良いスタジオの利用) が結果に有意な影響を与えますが、常に十分な分散があってゲームをエキサイティングに保ちます。

ゲームプレイへの影響

楽曲クオリティはその後のすべてに影響します:

  • チャートのパフォーマンス: クオリティが高い楽曲ほどチャートで上位に入ります
  • ストリーミング収益: クオリティが受動的収入に直接乗算されます
  • ファン獲得: クオリティの高い楽曲はライブで演奏するとより多くのファンを引きつけます
  • ライブ収益: セットリストのクオリティがライブのパフォーマンスに影響します

これにより満足度の高いフィードバックループが生まれます: クオリティに投資 - 良い結果を得る - さらにクオリティに投資。でも分散があるので機械的に最適化するだけでは対応できません。ラッキーブレイクで予想外のヒットが生まれたときや、ハズレで計画変更を余儀なくされたときに柔軟に対応する必要があります。

学んだこと

プレイテストからの最大の教訓は、感じられる公平さは数学的な公平さよりも重要だ ということです。初期バージョンは同じ平均結果でしたが分散が高かった。運が悪いプレイヤーは、統計的には問題がなかったにもかかわらず、システムが不正だと感じていました。

こう解決しました:
- 極端な結果を減らす (クオリティ-50のハズレはなし)
- 主要因 (ミュージシャンのスキル) をランダム性より影響力が高くする
- 一貫したプレイを報いるチェーンボーナスを追加する
- 結果がなぜ変化するかプレイヤーが理解できるよう、クオリティ要素を透明性をもって表示する

現在のシステムは適切なバランスを実現していると考えています: スマートなプレイを報いるための十分な戦略性、記憶に残る瞬間を作り出すための十分なランダム性、そして公平に感じるための十分な透明性。

#dev-diary#game-design