「sympathy」 phantasy star online 2の プロシージャルbgmシステム by セガ

51
株式会社SEGA Phantasy Star Online 2 開発チーム 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム

Upload: manabu-tsuchimoto

Post on 30-Jun-2015

6.313 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

株式会社SEGA

Phantasy Star Online 2 開発チーム

「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム

Page 2: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

登場人物

小川卓哉 小林秀聡

今別府デニス幸生 増田 亮

プランナー サウンドクリエイター

プログラマー プログラマー

Page 3: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

Agenda

• Sympathy開発経緯を説明

• Sympathyの仕組み

(実際に使用したツールをもとに説明。)

• まとめ・展望

Page 4: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

SYMPATHYの開発経緯

Page 5: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

PSO2のゲーム性とBGMの関係

• PSO2は何度も同じクエストを遊びながら、装備やアイテムを収集していくゲームである。

• ゲームのコンセプトに「無限の冒険感」とあるように同じクエストでもマップのランダム性を特化することで、毎回違うクエストに見えるようにしている。

• BGMも毎回違うように聞かせたい!!

今回のサウンドコンセプトになります。

Page 6: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

Sympathyの柱1

– 自動生成されるゲーム内要素(ダンジョンの形状、敵やボス、ギミックの配置など)に応じてBGMも変化させる

– オンラインゲームである都合上、ユーザーは同じステージを多数回プレイすることとなる。飽きがこないようにするため、楽曲の自動生成に大きな幅を持たせ、同じステージでも、プレイするごとに違う曲となるようにする。

ゲームに合わせて 何度でも聞くことができるBGM作成

Page 7: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

Sympathyの柱2

– ユーザーが「今、緊張している、ピンチ。」という気分に対して、緊迫感のあるBGMに変化する

– ユーザーが「俺って強い」と感じている気分に対して拍車がかかるように、テンポのよいBGMに変化する。

盛り上がりを 体感できるような作りを目指す。

Page 8: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

Sympathyの柱3

– 映画音楽のように自然な戦闘開始、終了時の楽曲変化を行う。

– 楽曲全体として、一曲の音楽として聞けるものが、自動的に生成されるようにする。

ランダム生成だが、 きちんと楽曲になっている。

Page 9: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

PSOBGMの歴史

Page 10: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

PSOBGMの歴史

• ファンタシースターオンライン(DC)でBGMの切り替えシステムを実装。初期は60〜70個のパーツ、1パーツは3〜4秒(4小節)

• ファンタシースターZERO(DS)で、MIDIを使ったBGMシステムを導入

• 小節ごとにMIDIファイルを作成、それを連結して再生した

• また、SMFへテキストコマンドを埋め込み、ゲーム中の再生時に実行することにより、プログラマの手を介さずに様々な再生を可能にした。→このときの再生テクニックが今回にも生かされている

Page 11: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

Phantasy Star Online 2の冒険中BGMをムービーでご覧ください

Page 12: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

SYMPATHYの基本

Page 13: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

クリップ

という数秒程度のサウンドファイルの集合体です。 一曲あたり…

Phantasy Star Online 2のBGMは

クリップ

クリップ

クリップ クリップ クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ クリップ

クリップ クリップ

クリップ クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

Page 14: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

クリップはこんな風に再生します 余韻部分を重複して再生し自然につなげています

「1小節」

株式会社 CRI・ミドルウェア様のCRI ADX2を使用させていただいています。

同時再生

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

クリップ

余韻

Page 15: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

クリップがいくつか合わさって、「フレーズ」になります。

フレーズ

クリップ

クリップ

クリップ ←条件によって再生 etc.

同時に再生

フレーズがいくつか並んで、 「楽章」となり…

「楽章」がいくつか並んで、 「パート」となります。

楽章

フレーズ フレーズ フレーズ

パート

楽章 楽章 楽章

Page 16: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

etc.

「パート」=Aメロ、Bメロ、サビなどに対応

メロ~サビのパートを につなぎ合わせます

メロ2パート

楽章 楽章

メロ1パート

楽章 楽章

サビパート

楽章 楽章

クエスト開始 メロ1 メロ2 サビ前 サビ1 サビ2 メロ3 ・・・

1コーラス

再生時は

Page 17: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

非戦闘楽曲

戦闘楽曲

シリーズ伝統の戦闘BGM切替

楽章

フレーズ フレーズ

楽章

フレーズ フレーズ

楽章

フレーズ フレーズ

楽章

フレーズ フレーズ

非戦闘→戦闘 切替用楽曲

楽章

フレーズ フレーズ

楽章

フレーズ フレーズ

戦闘が始まった!⇒切替楽曲を挟んで戦闘楽曲へ

・「フレーズの切れ目」から「楽章の切れ目」につなげる

・楽章ごとに楽曲切替用のフレーズを用意

自然で素早い切替のミソ:

Page 18: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

過去作からの進化

「急激戦闘曲」は短く作り、すぐに戦闘曲に戻れるように

過去作の反省点: 戦闘終了後にまた敵に襲われた!⇒しばらく非戦闘曲が鳴ってしまう

敵を倒した! 戦闘

戦闘→非戦闘

と思ったら、また敵だ!

急激戦闘

戦闘

Page 19: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ
Page 20: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ
Page 21: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ
Page 22: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

通常曲(非戦闘曲) → 切り替え用楽曲 → 戦闘曲

(「通常→戦闘」曲)

Page 23: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

SYMPATHYの柱1

ゲームに合わせて

何度でも聞くことができるBGM作成

Page 24: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

同じBGMが嫌なら、毎回違うBGMにしたら良いじゃない。 ――マリー・アントワネット

オンラインゲームは同じマップを

・ も

同じBGMじゃあ飽きますよね

・ にわたって

遊ぶ

Page 25: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

仕組み2

楽章 楽章 楽章 楽章 楽章 楽章

仕組み1

楽章 楽章 楽章 楽章 楽章 楽章

次の楽章へつながるように最後のフレーズは固定

仕組み3

フレーズ フレーズ フレーズ フレーズ フレーズ フレーズ

Page 26: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

仕組み4

クリップ

クリップ

クリップ

クリップ クリップ

再生するごとにランダムにクリップを選択

パート

仕組み5

同じ個所をN回目に再生したときだけ再生されるクリップ

クリップ クリップ クリップ

クリップ クリップ クリップ

クリップ クリップ クリップ

Page 27: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

聞くたびに違う曲に!

5つの仕組みで

しかしデータ量は恐ろしいことに…

1マップにつき数千クリップ

クリップをすべて繋げると1~2時間に及ぶものも

Page 28: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ランダムクリップの再生デモ

・ を繰り返し再生

・ → 楽章の移動時、 パートがループした時に クリップがシャッフルされる

・ が同時再生

・ は再生しない

・水色枠:オケ、アンビエント

・赤色枠:フレーズ、効果音

・黄色枠:リズム1

・緑色枠:リズム2

Page 29: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

SYMPATHYの柱2

盛り上がりを

体感できるような作りを目指す。

Page 30: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

メロ~サビのパートを につなぎ合わせます

クエスト開始 メロ1 メロ2 サビ前 サビ1 サビ2 メロ3 ・・・

1コーラス

おさらい

基本の流れ

メロ サビ

サビ前

って一体なんやねん

Page 31: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ゲーム内の盛り上がりをBGMで補強したい

でも、Phantasy Star Online 2は

マップがプロシージャル生成

敵がプロシージャル配置

ゲームの盛り上がりとは言っても、あまりにも複雑。

最大12パーティー同時参加

やりたいこと:

どのパートを再生しよう?

Page 32: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ピンチ度

盛り上がり度

ヒーロー度

近くのエネミーの強さ

近くのブーストエネミーの強さ

撃破した小/中ボスの強さ

パーティーメンバーの数

他パーティーの人数

クエスト中にパーティー参加した人数

PSEバースト中か

自キャラのHP パーティーメンバーのHP

Eトライアル中か

どれだけゴールに近づいたか

近くのエネミー数

Page 33: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

盛り上がり度によるパート選択

全てのパートには「起伏レベル」が設定されています

パートの雰囲気に合わせて手付けです

現在の盛り上がり度以下のパートが再生されやすい

落ち着いたメロは起伏レベル低 派手なサビは起伏レベル高…など

再生確率

パートの起伏レベル

現在の盛り上がり度

Page 34: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

SYMPATHYの柱3

ランダム生成だが、

きちんと楽曲になっている。

Page 35: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

楽曲、パートのつなげ方

• 最初に非戦闘曲のキーを決める

• 戦闘曲はその平行調など自然に移れるものに

• パート同士は似たようなコード進行にならないように気をつける

• 一度作ったパートを転調して、盛り上がり度の高いパートで使うことも

Page 36: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

楽曲間のつながりについて

• 非戦闘曲←→戦闘曲をつなげるために

• 1.非戦闘、戦闘曲からの引用。

• 2.オリジナルのフレーズを制作する

• 3.効果音的なものでつなぐ

• 非戦闘→戦闘曲は戦闘曲のリズムを

• 戦闘→非戦闘曲は通常曲のリズムを

Page 37: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

戦闘→非戦闘曲

戦闘曲が再生中

最初のフレーズ

フレーズ フレーズ

最初のフレーズ

非戦闘曲

非戦闘曲を再生

フレーズ フレーズ フレーズ

直前のパート

フレーズ フレーズ 最後のフレーズ

最後のフレーズ

切り替え先(次)のパート

遷移楽曲の作り方一例

全体的には、過去作品と比べて余韻を含んだストリームの再生が 可能になり、更にそれぞれのフレーズをつなげやすくなった。

Page 38: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

クリップには全て余韻を

• どんな楽曲、パート、フレーズにもつながるようにするには余韻が不可欠

• 作曲後1小節ごとに隙間をつくり、余韻をつけてバウンス→小節数が1000以上に

• 余韻をつけた状態でクリップを切り分ける

Page 39: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

細かな演出

Page 40: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ヒーロー状態/ピンチ状態

ヒーロー度/ピンチ度が一定以上 一方的に有利/不利な状態

専用のクリップを再生したり、通常のクリップの再生を止めたりして、 特別な状態であることをユーザーに伝えます

メロディ

リズム

ピンチ

ヒーロー

平常時 ヒーロー状態 ピンチ状態

Page 41: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ボス戦闘では、ザコ戦闘と比べて様々な状況変化があります。

ヒーロー/ピンチとは異なる状況の変化を BGMでも演出したい!

• 脚を破壊すると転倒して動きが止まる • ダメージを与えると攻撃パターンが変わる • 攻撃をかいくぐってボスの身体に登って戦闘

⇒ 一斉攻撃のチャンス! ⇒ 要警戒! ⇒ 全く違った展開へ

ボス戦闘演出

Page 42: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

戦況が変化する時、 再生するクリップを切り替えたり、曲の先頭にジャンプさせる。

脚を破壊した!

平常

脚破壊

戦況が変化!

平常

脚破壊

曲頭に戻る

再生クリップを 切り替える

様々な戦況変化に合わせた多彩な表現が可能

ボス戦闘演出

Page 43: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

実機映像をご覧ください(1) 戦闘曲⇔非戦闘曲の切替 特殊状態による曲調の変化

ポイント! 遷移楽曲を経て 自然に切り替わるBGM

ゲーム内の状況変化 →関連パラメータの変化 →曲調の変化 という流れ

Page 44: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

実機映像をご覧ください(2) ボス戦における戦闘演出の例

ポイント! 脚を破壊して転倒すると変化

起き上がる時に変化

脚は全部で4本あり、1本破壊する毎に徐々に盛り上がっていく

ピンチ状態

Page 45: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

おまけとまとめ

Page 46: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

おまけ:実装のTips

• クリップの再生条件、つながりの条件はとても複雑。BGMを聞きながら頻繁に変更したくなります。

• 処理落ちしていても止めるわけにはいきません(ロード中もそのままBGMを流しています)

• Phantasy Star Online 2では、専用スレッドにてLuaで書かれたステートマシンを動かして制御しています。

⇒スクリプトで書くにも複雑すぎたので、最適解ではない

• GUIで高速なステートマシンが書けるような環境があればベター

Page 47: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

まとめと展望

• Sympathyの3つの柱を実現

–自然な遷移

• 遷移位置の制限、遷移楽曲、急激戦闘楽曲

–飽きないように

• シャッフル/スキップ、ランダム/N回目クリップ

–プレイヤーを盛り上げたい

• 多様なゲーム内状況を「盛り上がり度」に集約

• これからの展望

–ランダムの中から、いかにしてより印象に残るシーンを作り出すことができるか

Page 48: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

質疑応答

ご清聴ありがとうございました。

Page 49: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

おまけのおまけ

Page 50: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

ところで「戦闘」って?

Phantasy Star Online 2のマップは プロシージャル生成。 こんな風に「チップ」を並べて 作られています。

Page 51: 「Sympathy」 Phantasy Star Online 2の プロシージャルBGMシステム by セガ

「戦闘」とは: ・敵が道でつながった隣接チップにいて ・AIが臨戦状態であること

こっちに気付いていない

道でつながっていない