講演者は、株式会社バンダイナムコスタジオ ET開発本部 エンターテインメントテクノロジー開発部門 未来開発部 プロジェクトサポート課 TEC 長舩龍太郎氏と、アセットパイプラインに関する著書もあるHeavy Spectrum Entertainment LabsのBen Carter(ベン・カーター)氏。講演のメイン部分はCarter氏が担当し、「ゲームで覚えた」という流暢な日本語で説明しました。
![]() |
Ben Carter氏 |
![]() |
長舩龍太郎氏 |
■アセットパイプラインとは
アセットとは、ゲームのコンテンツのことで、見えるコンテンツだけではなく、当たり判定や物理情報も含みます。よって開発チームのほとんどの人が直接に関わっているものです。開発には様々なツールが使われますが、最も重要なのはツールではなくユーザー(開発者)。現代は大きなチームやアウトソーシングにより、パイプラインの活用方法も増えていると言います。
アセットパイプラインの目的は、ワークフローの最適化です。開発中に何かしらの変更が発生して作業が戻ることがありますが、その際の作業フローを明確にしてミスを減らすことで、チーム全体の効率を上げます。またワークフローそのものが変化した時に、関係ないと思っていたところに影響が出ることがあり、それを発見するのにも役立ちます。
パイプラインのもう1つの重要な目的は、コンテンツの処理です。パイプラインの最終目的は完成したデータの出力ですが、開発中はとりあえずゲームが動くレベルの物を使っていることが多く、作業と関係ない部分はほとんど見ていません。そういった部分を出力処理から省くことで時間を短縮し、効率化を図れます。
パイプラインではコンテンツの格納も重要です。中でも最も重要なのが、人の手によってつくられたソースデータ。バージョン管理システムを使い、変更履歴を保存するのが基本です。ゲーム開発では、ゲーム全体のデータがないとチェックできないものが多く、データコピーに時間がかかります。80人ほどのチームが毎朝、数GBのデータを取ろうとしたため、実際の作業は午後にならないと始められない、という笑えない事例もありました。
データを預かる以上は故障も不安な要素ですが、ダウン時間ゼロのシステムは過剰。5分以内の対応で、コーヒーを飲んで帰ってきたら直っているならストレスにはならないとしています。またHDDの冗長性はバックアップの代わりにはならず、「冗長性はHDDが燃えた時の対応、バックアップは建物が燃えたときの対応」と説明して会場を笑わせていました。
![]() |
目に見えないものも含めてアセットとして管理する |
![]() |
ワークフローを最適化し、ミスを減らすのが目的 |
■パイプライン理論
次にCarter氏は、パイプラインの理論について説明しました。パイプラインの中心にあるのは、xにはyが必要、というディペンデンシー(依存関係)です。これには3つのタイプがあります。
1つ目はワークフローディペンデンシー。xの処理を行うためにYが必要といった類のものです。注意すべきは、どこにも記録されていない暗黙のディペンデンシー。パイプラインの中にそのルールをチェックしているものがなければ、1つのキャラクター変更が全てのキャラクターに影響することがあり得ます。しかも作業がかなり進んだ段階まで問題に気づかないこともあるため、自動的にチェックできるようにすることが重要です。
2つ目はユースディペンデンシー。xを使用するためにyが必要といった関係です。必要なデータを自動的に見つけるためにも使われ、例えばステージを指定することで必要なメッシュとテクスチャをパイプラインが自動的に見つけることが可能です。
3つ目はツールディペンデンシー。xはyを使ってビルドするという、ワークフローディペンデンシーの特殊なケースです。コリジョンデータをビルドするにはコリジョンデータのツールが必要で、コリジョンデータをビルドする前にコリジョンデータをビルドするツールを作る必要がある、というもの。ツールの変更は比較的珍しく、別物として扱う方が便利です。ただしツールの変更によって全プロジェクトに影響が出ることが多いので、計画的に実行すべきだとしています。
![]() |
パイプラインはディペンデンシーによって構築される |
■パイプラインの実用性
パイプラインの実用性としては、様々な自動化があります。共通タスクをバッチ処理するスクリプトを用意するなどして、できるだけ全てを自動化したほうが効率が上がり、ミスも少なくなります。ある大手企業では、ワンクリックでゲームディスクができるようなシステムも構築されていると言います。
同時に重要になってくるのが、中のツールの堅牢性です。自動プロセスでのクラッシュはとても迷惑がかかるので、不正なデータであってもツールがクラッシュしないような対策は必要です。どんな大きな問題であっても、ゲームが動くのであれば作業ができる人はいます。「続けられる作業があるなら続けろ」というのがビルドシステムの基本だとしています。
また処理やデータ帯域を軽減させるためのデータキャッシングも重要。全員が毎回ビルドするのは不可能なので、以前どこかでビルドされたものを再利用するのが有効です。この際にハッシュをキーとして使えば、現実的に同じ値が出ることはないため便利です。
大きな開発チームにおいてはビルドシステムも必要不可欠となってきます。ゲームをビルドする専用マシンとなるビルドサーバーに加え、ビルド中のタスクを複数マシンで分配して高速化するビルドファームというものも存在します。ただしビルドファームは、複数のマシンを同一環境に整えるためのハード・ソフトの管理方法の学習が必要。また規模的に複数のプロジェクトの共有物となるため、バラバラなツールに対応する必要もあります。
このほか最近の傾向としてクラウドコンピューティングもあります。映画業界では映像処理の負荷が巨大になるため活用が進んでいますが、ゲームではセキュリティ的な問題や、処理は早くなってもビルドデータを転送するための帯域幅がネックとなり、処理待ち時間が転送待ち時間になるだけということにもなりかねません。またこの分野には経験者も少ないことから、活用が難しい上京にあります。
最後にまとめとして、本質的なパイプラインは10年立っても変わっていないものの、クラウドやアウトソーシングが増え、柔軟な対応が必要になること、そしてそれに対応するための土台になるパイプラインがより重要になると長舩氏から語られました。
今回のセッションはアセットパイプラインの入門編として全体像が説明されました。質疑応答では「この分野の専門エンジニアという職種が確立されていない」という声に、Carter氏が「ゲーム業界でこの分野のエンジニアになりたいと思ってなった人はいない。会社としても専業のエンジニアを雇う余裕がなく、誰かが雑用としてやっている」と答える場面も。アセットパイプラインの重要性を広く伝えることで、エンジニアの価値を高めたいという思いが、講演氏と聴講者の双方から感じられました。
![]() |
パイプラインには機能性だけでなく堅牢性も求められる |
![]() |
キャッシュによりビルドアセットを再利用し、処理能力と帯域幅の両方を稼ぐ |