kidoOooOoooOOom

ゲーム開発やってます

Witcher3のContent-Optimization-Pipelineについて

GDCの資料を見て英語とゲーム開発について勉強するシリーズ.

f:id:gidooom:20190728092144j:plain

今回は、GDC 2015 で発表された、CD Projekt Red の technical artist である Martin Thorzen 氏による、「best practices for managing artistic content optimization in open world games like The Witcher 3」の資料と発表動画を見た。

www.gdcvault.com

www.youtube.com

Content Pipeline の最適化がなぜ必要か?

近年のOpen World のゲームは、管理するコンテンツの量がとにかく莫大になってきている。

前回の記事にも書いたように、Witcher3のマップの1つであるスケリッジ諸島だけで 8km * 8km のワールドを構築しており、その中に実寸大のオブジェクトを色々配置してゲーム世界を構築する。

kidooom.hatenadiary.jp

例えばその広大の世界の一部の箇所で、下の図のような20cm程度の桶の中に大量のヒヨコが何故か配置されてしまって 150万Triangle使っているなんてことが起きてしまうと、デバッグで見つかる可能性が低く、出荷後のバグなどにつながってしまう。

f:id:gidooom:20190728091553p:plain
150万tri

そこでWitcher3では、広大なワールドに配置されているコンテンツを管理するためのPipelineシステムが作られている。

コンテンツのメタデータを管理

Witcher3のPipelineシステムでは、全てのコンテンツのメタデータがデータベース管理されており、下記のようなSQLのクエリを実行すると、

f:id:gidooom:20190728091908p:plain
SQL

ワールドに対応した地図にグラフィカルに結果が表示され、詳細なデータも確認することができる。

f:id:gidooom:20190728091929p:plain

毎週同じSQLクエリを実行してレポートを保存し、状況がよくなっているかどうかを確認できるツールも開発されている。

f:id:gidooom:20190728091947p:plain
Weekly report

こういうのがあると日々の進捗が終えるし、どこかに異常データが配置されてもすぐに気付けるので非常に有用だと感じた。

まとめ

自分も1年ほどTechnical Artist としてツール開発等をしていた経験があるので、今回の話はよく分かった。

ちなみにWitcher3では、で下図のようなテスト用アセットがワールドに置きっぱなしになっていたのを、納品の数週間前にツールで見つけてヒヤッとしたというエピソードも紹介していた。

f:id:gidooom:20190728092008p:plain

3D技術を使う大規模ゲーム開発では、ツールが充実してないと非効率でバグりまくる環境になってしまうことは確実なので、Technical Artistの重要性は今後もアピールしていきたい。