
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a93583bbda7f8b1cacef5e50135ec6b3c.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/af6c9857cf4e9b7eddcb44a0fcf0b1975.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a6ba497cc9f2f6bcd6664c243f7b51243.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a30adc76f1331b816d6a610a8cb38f0fb.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ab2e5cb4a4c7d8278349a1270f006c557.png?x=767)
開発データが資料になる“動く仕様書”
しかし『ブレワイ』の時代になると、ゲーム機の進化とともに高度な挙動が必要となり、技術の細分化も進んだ。結果として分業が進み、近代開発環境ではチームリーダーを通じた縦割り構造が一般的になっている。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a91190f3622263ce6a4fe5182e8cae877.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a4c4921910686f5271183bd0dfdb45e8a.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a5a4bf08bdf0afc38b1f61cd70f2c4373.png?x=767)
そもそも『ゼルダの伝説』シリーズでは、“音”がテーマとなる遊びやギミックが多く実装されてきた。サウンドチームがゲームデザイナーやアーティストといっしょに物を作っていくスタイルをとってきたことが、さまざまなユニークな演出や遊びにつながったのだ。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a35b116e3afffc2afeeb493191f08391c.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a77d249f274c5aa104d4a32d1a46af4b0.png?x=767)
この“知る”ことの重要性は、全セクションに共通している。もっとも閲覧しやすいのは仕様書などのドキュメントだが、前述のように仕様書の内容は開発の進行とともに、実際のゲーム内容から乖離していく問題を抱えていた。とくにフラットな物づくりの場合、ゲームの内容が細かに変化し続け、この問題がより際立ってくる。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a25271e3afbffeed70246ae5891b639a7.png?x=767)
仕様書は縮小し、概要部分は開発が進んでもゲーム内容と乖離することはまずないので、仕様書と開発の乖離も緩和。結果、データでできることが増えてプログラムの割合が減った。こうしてデータドリブン(データにもとづいてさまざまな判断や決定をすること)の体制が整っていく。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a2f74ce8663bd073bf8032331b56c9e84.png?x=767)
これらの可視化情報と、ゲームを触ることによるフィーリングから、ゲームの最新情報を知ることができる。これを開発チームでは“動く仕様書”と呼んだ。ただし、これは従来の仕様書の思考整理や伝達における有用性を否定する考えかたではない。あくまで、開発中のゲームの最新情報を知るためには適さなかったということだ。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a0573993e8d1d3f5443401d53fe6ba8b4.png?x=767)
その規模に合わせてデータドリブン、動く仕様書も拡大。その一環として、サウンドチームでも独自のBGM制御ツール“BGMEditor”を活用した。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a9016918a94b53fc4301a5f94ab077651.png?x=767)
細かな状況ごとの音楽の変化を実現する場合、従来はサウンドコンポーザーが図を書き、プログラマーに依頼する形をとっていた。しかし、このBGMEditorにより、コンポーザーが思い描く図がそのままサウンドとして稼働するような仕様が実現。コンポーザー自身による自然な演出となる細かな定義付けや、試行錯誤も容易になった。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a2a9f40a524027becc41662a56898bfb4.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ada982b763d84197787e217208d98b38c.png?x=767)
この形式ではプロジェクトごとに、ツールのひとつひとつをコンポーネントと捉え、必要なツールを選択していく。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a65d5ab5d0309a73a96113c2e79dfe666.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a730078411f80930dba82437ae7e57076.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a7c607d78871c815046eb3f3aa6f254d4.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a83478229df10dbb90d3c51d5e9d84f2c.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a69ba72becf0b94369e1055652fe8a96a.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a63fe505430f4b4a61e961e8ea7a86346.png?x=767)
前作の開発環境をベースにすることも考えられたが、前作では実装速度を優先したため、拡張性に欠け、整理されていない部分も多かった。そこで今作では、開発環境を再構築する決断がくだされた。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ad0a71579c2cc2acb5cc152199bdb3328.png?x=767)
新開発環境を実現したふたつのツール
そこで共通して使える解決方法として、共通基盤となるデータベースを用意し、ツールがデータベースを通してファイルの情報にアクセスする方式を考案。その利便性を、3つのポイントに絞って突き詰めていった。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a038f81a04c54404a71a11b2f302fe145.png?x=767)
どのツールでも使えるアクセス方法
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a2f0cab1d7b6ad406bbe380940e094c36.png?x=767)
だれがデータベースに書き込むか
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ad6445d97bd5b0b59f54209468d781b26.png?x=767)
データベースに何を載せるか
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ab04aaca083d756df5a205aa0793b4c34.png?x=767)
また、共通データベースにはサーバー上に置いて各開発者がアクセスする場合、編集中であったりすると、最新ではないファイルが存在してしまう可能性がある。各開発者が書き込みを行うことで情報が衝突するという問題を解決するために、“開発者ごとにデータベースを持つ”という発想が採用された。これを開発チームでは“LocalDB”と称した。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a46412d48eeee0587d304790a15763fe1.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a551ccd12ab8ce23eba4c03f1792c5c6b.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/aa631dbad218c9e27c91357c023e45a95.png?x=767)
そこでLocalDBを補うために、改めてサーバー上にもデータベースを用意。こちらはLocalDBと同じフォーマットで、最新の更新データが書き込まれている。この“GlobalDB”はLocalDBにファイルがない場合に参照でき、LocalDBに必要なファイルを書き込んでくれるので、LocalDBだけですべての情報が取得できるようになった。先述したプルダウン形式の選択UIについても連携が強化したことで、さまざまなツールに導入された。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a72dccf837cc1127fee30df4ca672c467.png?x=767)
とはいえ、各ファイルから参照しているファイルのつながりをたどると、その規模はあまりに広大だ。全体から見ることができない以上、部分を切り取って見るしかない。切り取る方法として考えられたステップは、データの種類を選び、絞り込み、そしてつながりをたどるという3段階で考えられた。そのために作成された可視化ツールが“ProjectPortal”だ。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a8bfc3bf3982406cc735efdc8a28d8a26.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a7734c3656fe14e17e05868419b10d59f.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/abf1a465ba2cfe23c5645f9e2eda27e4e.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/aeecdda9fde9da0087ce789eb8be4b594.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a5b425fa79f342049e5034183bf550a37.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ad7ef62e21bb58e4a6d6894eae355fe06.png?x=767)
この仕組みはツールごとに個別ではなく、全ツール共通して使用可能にしたいという意図もあり、設定ファイルにSQLとカラムの加工方法を書くだけで量産できる“リソーステーブル”として完成した。手作業のスプレッドシートでの管理と比べて表記ミスなどの心配も減り、いつでも最新の状態でゲームの構造を参照できるようになった。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a88d5d8bad8b89e21f492940b277017b3.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a437a107a924569d558adfc3aa1fa6fd1.png?x=767)
2大ツールによるサウンド作業の革新
サウンドセクションの作業は開発工程上、どうしても後工程になりがち。だがサウンドスタッフとしては、ほかのセクションのように能動的に制作を行いたい。そのためには正確な情報収集と、効率よく制作できるワークフローが必須となる。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a5f097a12fde7d1d2d30c632b5ca1b2fa.png?x=767)
ここで重要なのが、この定義はサウンドツール上でのみ定義されるものなので、ほかのセクションのデータを変更しなくてもいいという点。後工程になっても、時間の許す限り調整をくり返すことができる。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a9e83e29639730db1b2b646f2873444f4.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/af63c1e152911834ee1ea7cbe31f40fcd.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a32a4465c5510408afd85b7dd5a2a5ae8.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a300c5dd193aef85fb16fb315f714222d.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/afc94956ab9fa9f1577764991318f3960.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/accd194058e91e4c20b4cbd13e9866f06.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ab16b24783f8ef6c52a48906d320c1a92.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a43a069ed2e01c8437b238c24eb201213.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a91dfcd9f2847aa4a0319eddbfcdcb279.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a607e70c0428a362b0e8a89a2798b5a8a.png?x=767)
そのためには、イベントシーンを細かく把握しながら作曲する必要がある。ヒアリングに加え、ProjectPortalを使えばBGMを参照するイベントの情報や、そこに関連したアクターやエフェクトのデータも参照可能。演出的に余計な音は聴かせたくないところで画面外のキャラの音を消すなど、コンポーザー自身の手でさまざまなノードがイベント管理ツールに配置され、こだわり抜いた編集が続けられた。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ac869a835271b9c11bf6ae4cd877d676f.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a3bb6e90170a8e1725a782f85fa4e724e.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a0c227e4560ad2b5ede709937df29c7b6.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/aa18776816e8346bece41bd3198005ace.png?x=767)
スクラビルドの組み合わせがあまりに膨大だったため、サウンドチームは音の変化にルールを設けて対応。とはいえ、ルールを設けてもスクラビルドで何ができるかの全体像を把握していないと調整は難しい。スクラビルドのパラメーターデータは非常に複雑だった。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a4d2236043a8ee1fe609998a7f91b41e8.png?x=767)
この機能での俯瞰は、もとはゲームデザイナーやアーティストがパラメーター調整を詰めるために使っていたものだったが、サウンドスタッフからは仕様を把握するために活用できた。つまり、後工程のスタッフにとってこれは“仕様書”ともいえる情報源だったわけだ。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ab9f16e165b7cafa54ab066d25db15cc1.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a0b4cb3be08b95528d2ce2ead4e9e868e.png?x=767)
この事態も、ProjectPortalでリソーステーブルを利用。サウンドツールの情報を見やすくすれば、デバックの段階で確認しやすい仕様書代わりになる。担当者から見ても、データを異なる視点から把握するのに役立つ。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a8d172a98acc44d8a2b84494c7fffb1d5.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ae1fa0e6b77d85802d54350c2137e64fa.png?x=767)
こうした確認の結果がツール上にフィードバックされ、データの信頼性はより高まっていく。データドリブンツールは、信頼できる“動く仕様書”として参照できる機能を得た。この仕組みには、LocalDBとProjectPortalが欠かせなかったのは言うまでもない。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/ac61116b580052100538f35122d029281.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a328f2c4580d6a78fd1cf029539916f07.png?x=767)
“動く仕様書”の実績と汎用性
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/abfdea61d996040bdcbe27162826533bd.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a7b584a2d146654660c8d628db6968b91.png?x=767)
後工程になるサウンドセクションは膨大なゲーム構造を“知る”必要がある。それでも今回紹介された実例のように、後工程でもフラットな物づくりを実現できた。
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a95765b264db552c345267d230f44c9c5.png?x=767)
![[IMAGE]](https://cimg.kgl-systems.io/camion/files/famitsu/15284/a05edf0f9455a7b9058eaf9c2948c3f87.png?x=767)