【CEDEC 2023】自然の生物がいないポケモンの世界はどんな音でできている?

より豊かな表現を求めて実装された「環境鳴き声シーケンサー」

環境鳴き声の表現をもっと豊かなものにするためには、何らかのパターン(シーケンス)があることが分かってきました。
そのため「ポケモンの環境鳴き声を使って特徴的なパターンを再現すれば、より豊かな表現が可能になるのでは?」といった仮説をもとに「シーケンサーを作ろう!」という話になったそうです。

岩本さんがまず考えた方法、それは…「それ、Wwiseでできませんか?」
Wwiseは優秀かつ汎用的なツールとのこと。なので、このツールで完結することも多いそうなのですが…

のちの伏線にもつながる大事なキーワード「Wwise」

今回求めている自由度を、Wwiseのみで実現するのは少し難しかったそうです。
そのため「鳴き声シーケンサーを独自で実装する」という決断に至りました。

「鳴き声シーケンサー」の特徴
・虫系、鳥系ポケモンなどの鳴き方を特徴別に振り分けたシーケンスを用意
・インターバル(鳴かない時間)について、固定&ランダムなタイミングが取り入れられている
・喜び、悲しみ、環境鳴き声などをランダムに取り入れることでポケモンの情緒を表現
シーケンサーの完成まで、いくつもの試行錯誤があった様子

さらに、先ほど北村さんが解析した、鳥の鳴き声が連鎖反応する「コール&レスポンス」を実現する必要もあります。そこで岩本さんは、ポケモン同士の鳴き声に反応して呼応するといった仕組み「チェイン」を開発しました。

鳴き声のシーケンス同士を確率で繋ぎ合わせることで、ポケモン同士の呼応をより自然な状態で表現できるとのこと。
この「シーケンス」「チェイン」という2つの仕組みを使うことで、ポケモンの鳴き方のバリエーションを広げることに成功しました!

プレイヤーのいるエリアや時間帯によって、ポケモンたちの鳴き声が変化。
と同時に、今いる場所にあったポケモンの鳴き声が、その場所の雰囲気に合わせて鳴く…といった表現が可能になったそうです。
ポケモンの世界のリアリティがグッと増しますね、素晴らしいです…!

実際に動画で紹介されたのがこちら。
プレイヤーを中心に円が描かれていて、その範囲内で鳴き声をあげたポケモンが赤丸で表示されていました。また、鳴き声をタイムライン上で表示することも可能なようで、ポケモンの種類別、鳴き声別に再生されている様子が目で見てわかるようになっていました。

こうして、ポケモンの鳴き声を使った環境鳴き声シーケンサーがついに完成!
講演者が再度一之瀬さんへとバトンタッチしたのち、議題は環境音全般の話へと進行。次第にクライマックスが近づいてきました。

ポケモンの環境音が紡いできた歴史

「環境音にも歴史あり!」といったところで、環境音が初めて実装されたのは『ポケットモンスター 金・銀』のリメイク作品『ポケットモンスター ハートゴールド・ソウルシルバー』でした。

その目的は「プレイヤーにポケモンの世界の臨場感を感じてもらうこと」

環境音はマップにグリッド単位で設定され、風車の回る音や波音など、さまざまな環境音が取り入れられました。また、シリーズ作品の中で主人公の足音を初めて実装したタイトルでもあったようです。

この『ハートゴールド・ソウルシルバー』、実は環境音をすべて手作業で実装していたため「人的コストやデバッグの労力も相当だった」と一之瀬さんは語ります。
そういった経緯から、その後のタイトルでは「環境音は部分的に実装するに留める」といった方針に変わりました。

その一方で、『サン・ムーン』では自然の豊かさを表現するため、『ハートゴールド・ソウルシルバー』のような環境音を目指すことになりました。
例えば「海に近づくほど波音が大きくなる」といった状況を再現するため、不規則な地形の環境音を手作業で設定することに…。

そのため、グリッド単位で設定する以上の労力が発生。さらに、開発段階のマップ変更のたびに調整する作業が発生したため、コストは上がる一方だったそうです。

そして、Nintendo Switchの時代に突入。オープンワールドのような、広大なマップでの冒険が主軸となってきます。冒険の臨場感をさらに高めるため、環境音の表現の進化、作業の効率化が求められました。

新タイトルの発売に合わせて、自由度も増していく…!

では、この「環境音の進化と効率化」は、どういった経緯を経て実装されたのでしょうか?
その仕組みについて、北村さんと岩本さんから解説がありました。

ポケモンのサウンドチームが目指した「リアルな世界」

早速、ポケモンと人間が暮らす世界をリアルに感じるための、要素の洗い出しが始まりました。
サウンドチームは、第一段階としてポケモンの世界をリアルにするための定義を考えたそうです。

・ポケモンの環境鳴き声を、生態に合わせてリアルに表現する
・フィールドのテーマに沿うベース環境音を用意する
・絵では表現されていない画面外の音(街の喧騒や、洞窟内の水滴の音など)を入れる
・「旅してる感」が実感できるような、移動に特化した環境音
・バトルにも関係する天候の環境音

こうして浮かび上がったのが「とにかく大量の環境音を配置しなければ!」ということだったそうです。となると、やはり効率化がとても重要なポイントになってきますね…!

川って どこからが「川」なの?

岩本さんは、効率化の経緯について、『アルセウス』で取り入れた手法をもとに紹介しました。

『アルセウス』で使われた環境音の発音方式は、ある程度基本的なシステムでカバーできたとのことでした。その一方で、配置コストの高さや、開発段階での地形の変化に合わせて調整する必要があるなど、汎用性に欠ける点もあったのだとか。

特に、川などの入り組んだオブジェクトに対して、発音点が1つのみだと形状をカバーしきれず「川の音は、どのポイントから聞こえるのがちょうどいいの?」という問いに答えを出すのが難しかった、とのことでした。

音の群れを作っることで豊かな自然を表現

そこで『S・V』ではWwiseの機能を使い「音が鳴る箇所を点の群れで構成してしまおう!」という方法に切り替えます。
このシステムを利用したことで、環境音の配置を自動化できるといったメリットや「発音点を複数配置しても読み込まれる音声データは1つで済む」といった、コストの削減にもつながりました。

発音点を点群で配置することで、コストを削減しつつ複雑な地形に対応できるようになった

草の音、水の音、そして…

発音方式が決まったところで、次は「自然物から音を出す時、どんなふうに音が出るとちょうどよく聞こえるの?」という疑問を解決するプロセスに入ります。

試行錯誤の結果、以下の3つの自然物に適した発音システムをそれぞれ作るといいのでは? という答えに辿り着きました。

理想的な環境音の配置方法
(キーワード:密度感)
・草のある場所には発音点を置き、草のない場所(道など)には発音点を置かないようにする

(キーワード:方位感)
・川や海が見えていて「あの方向に水がある」と判断できる方向に発音点を置く
・川や海の形を縁取るように、点群を並べて配置する

(キーワード:定位感)
・木が生えている場所に発音点を置く
「ポケモンで草、水ときたら次は…? 木です」という岩本さんの問いに笑いが起こる

環境音の可視化と自動配置の仕組み

草、水、木にそれぞれどのように発音点を配置したのか、音が鳴る仕組みを可視化した動画が紹介されました。まず「一番簡単に作成できた」とされる、木の環境音についてです。

木のオブジェクトをよく見ると、無数の白い線が生えています。これが、音が鳴る仕組みを可視化したものです。プレイヤーが木に近づくことで、その木が音の管理リストに追加され、木の葉ずれの音が自動的に再生される仕組みになっています。

プレイヤーが木に近づくと、発音点を表す線の色が変化した

続いては、水の環境音について。『S・V』の地形は、3DCGソフトウェア「Houdini」を使って作られていたので、テクニカルアーティストの方に協力を仰いだとのことでした。
まず、ソフトウェア上で水面と地面の境目を自動検出。その水辺の曲線に沿って、5メートル間隔で音が鳴るポイントを配置しました。

しかも、水辺をまとめて検出したわけでなく「その地形が川なのか、海なのか」といった情報も事前に判別することができたそう。
この広大なマップの中で、地形の種類まで自動検出できるのは大助かりですね!

例外として、滝の発音点だけは手動で配置したとのこと
川に近づくと「川の音」が自動再生される
川の音は水色、海の音は紫色と、音の違いが識別可能!

そして、草の環境音についてです。草の場合は、発音点の自動配置が難しかったため、プレイヤーの現在位置によって音が自動再生される仕組みが特別に作られました。

草のオブジェクトは位置情報を持っておらず、新たに自動配置するにしても数が膨大すぎたそう
草が生えている場所と、そうでない場所の発音点が、目で見て分かる

このように、環境音の大部分を自動化できたことで、人的コストの大幅に削減。その分を、より細かな環境音配置に費やすことができ、結果的に広大なフィールドでクオリティの高い環境音の実装に成功!
音の分野に詳しくない方でも、とても革命的な開発方法だったことが伝わってくるのではないでしょうか…!

関連記事