【CEDEC2017】大規模アセット群と、快適なユーザー作業環境に対してのアプローチ

1.4K Views

January 17, 24

スライド概要

CEDEC2017 (Computer Entertainment Developers Conference 2017)で行われた講演
『大規模アセット群と、快適なユーザー作業環境に対してのアプローチ』
で使用されたスライドです。
※本スライドには動画が含まれております。pptxファイルをダウンロードすることで動画込みでご覧いただけます

講演概要は以下のサイトをご覧ください。
https://cedec.cesa.or.jp/2017/session/PRD/s58d1f5e34cfab.html

※CEDECの資料公開サイトCEDiLでも本資料が公開されています。
https://cedil.cesa.or.jp/

profile-image

株式会社カプコンが誇るゲームエンジン「RE ENGINE」を開発している技術研究統括によるカプコン公式アカウントです。 これまでの技術カンファレンスなどで行った講演資料を公開しています。 【CAPCOM オープンカンファレンス プロフェッショナル RE:2023】  https://www.capcom-games.com/coc/2023/ 【CAPCOM オープンカンファレンス RE:2022】  https://www.capcom.co.jp/RE2022/ 【CAPCOM オープンカンファレンス RE:2019】  http://www.capcom.co.jp/RE2019/

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

大規模アセット群と、快適なユーザー作業 環境に対してのアプローチ 株式会社 カプコン 技術開発室 山田 拓海

2.

はじめに 昨今の様々なゲーム開発においてアセットは増加の一途を たどっています。 アセットの増加に伴い以下のような弊害が発生しているか と思われます。 ・アセット数の増加による各種処理負荷増加 ・ディスク容量の圧迫 ・オペレーションミスの発生(コミット・変更・チェック) 2

3.

はじめに ・本日の講演では、先ほどのスライドにあった問 題に対してカプコンがどのように対処しているの かをご紹介いたします。 ・皆様の開発環境において少しでもお役にたてる 情報になれば幸いです。 3

4.

アジェンダ 前半 大規模アセット群と、快適なユーザー作業環境に対してのアプローチ ■カプコンでのアセット管理について ■Perforceについて ■RE ENGINEのアセット管理について 後半 『MONSTER HUNTER: WORLD』における快適な作業環境へのアプローチ ■内製ツールの導入 ■導入時のアプローチ ■運用後の問題と改善事例 4

5.

はじめに ・この講演で扱うアセットの定義ですが、ゲーム等を開 発で利用する、画像データ・3Dモデル・スクリプト 等の素材ファイルの事を指します。 ・RE ENGINEやMONSTER HUNTER:WORLD専用シス テムでは、中間データとメタデータのペアで一つの アセットとして扱います。 5

6.

カプコンでのアセット管理構成について 6

7.

アセット管理構成について BH7(2017/02/09)の例 認証 サ ー バ ー ク ラ イ ア ン ト 7 リビジョン番号 : 14,430 管理ファイル数 : 295,842 アセット 複製 レプリカ VM ディポサイズ : 1.3TB

8.

アセットのやり取り Asset Browser Submit Sync 専用のクライアントツールに て、アセットの管理を行う。 8

9.

Perforceについて 9

10.

Perforceについて • RE ENGINEやMONSTER HUNTER: WORLD専用システ ムではバージョン管理にPerforceを利用しています。 • Perforce(正式名称:Perforce Helix)は、アメリカの Perforce Software, Inc.が開発したバージョン管理シス テムです。 • 日本では東陽テクニカ社が販売・サポートを行っていま す。 10

11.

Perforceについて • Perforceはサーバー集中管理型のバージョン管理システ ムで、高速な同期に定評があります。 • バージョン管理以外にも、Webベースのレビューツール や、管理・保守の為の多種多様なサーバーツールなどが 含まれています。 11

12.

Perforceについて Perforceを用いたアセット管理には主に二つの方法があります。 • P4V (Perforce Visual Client) GUI上でPerforce操作を行う事ができるソフトです。 ファイルを管理するうえで基本的なことは全て行えます。 標準で提供されますので、殆どの方が利用されていると思います。 • P4(コンソール) コンソール(CUI)上で直接コマンドを実行していく方法です。 P4Vよりも軽快に動作しますが、コンソール操作になるためプログ ラマ、サーバー管理者向け。 12

13.

P4V P4V ver.2014.2 ・P4Vを利用してファイ ルをサブミットしようと している画像です。 ・ファイル一覧や、各種 リポジトリ情報、ファイ ルのヒストリー情報等も 簡単に確認する事が出来 ます。 13

14.

カプコンでのPerforce構成について • カプコンでは、タイトルごとに専用のPerforceサーバーを立てて運用しています。 • タイトルの規模によってハードも変えており、試作期間や少人数での開発の際はVM で構成し、本制作や多人数での開発の場合に高性能な物理サーバーに置き換える等 を行っています。 タイトルB タイトルA P4Server 14 CPU 8core/16thread Mem 32GB 人数 50人~ P4Server CPU 2core/4thread VM Mem 4GB 人数 1人~50人

15.

カプコンでのPerforce構成について • 複数のPerforceサーバーのライセンスを管理するため、集中認証サーバー を設置しています。 • ハードウェア故障に備えPerforceレプリカ(複製)サーバーを設置し、ト ラブルの際も開発への影響を抑えるような仕組みを構築しています。 集中認証サーバー 集中認証サーバー P4Server P4Replica Server 複製 15 VM P4Server 故障発生 P4Replica Server VM

16.

まとめ • Perforceを利用する事で比較的高速な同期が期 待できる。 • バージョン管理以外にも、様々なサーバー管理 機能が用意されており、それらを上手に利用す る事でより安定した環境の構築が実現できます。 16

17.

RE ENGINEのアセット管理について 17

18.

RE ENGINEにおけるアセット管理について 18 • RE ENGINEではPerforce社より提供されている、P4API.NETライブラリ を利用して、RE ENGINEにバージョン管理システムを組み込んでいます。 • エンジン内部に組み込むことで、利用者がエンジンを利用した作業にて バージョン管理を行う事ができます。 • またアセットの不具合チェックや通知機能、ブランチ作成機能等をエンジ ン上で実現することにより、作業ワークフローの構築をエンジン上で行う 事が可能です。

19.

RE ENGINE上でのアセット更新 19

20.

RE ENGINE上でのアセットコミット 20

21.

RE ENGINE上でのコミットのメリット • メタのコミット漏れが無い • 依存関係を考慮したコミット が可能 • コミット前のアセットの エラーチェック等もできる 21

22.

RE ENGINE上での更新検知 22

23.

アセットの状態表示 ・アセットブラウザー上のアセットアイコン上に、現在の状態を示すアイコンが表示され、 一目でアセットがどのような状態であるか把握できます。 アイコン 状態 最新 編集中 追加 未取得のリビジョンがある 他人が編集中 23

24.

RE ENGINE上でのそれ以外の機能 先ほどあげた以外の機能として、代表的なものとして 以下の機能を実装しています。 • アセット共有機能 (Shelve) • 編集の取り消し (Revert) • ヒストリーの取得 (History) • 個人ブランチ環境の作成 (Branch) etc…. 24

25.

まとめ ・RE ENGINE上でアセット管理を実装する事で、利用者のバージョン 管理に対するコストを軽減する事が出来た。 ・アセット管理部分を実装することで、 ★ 簡易なアセットの取得 ★ 依存関係やエラー等を考慮したアセットのコミット ★ 作業環境の簡易な状態確認 等が行え、快適な開発環境を構築できた。 25

26.

最後に この様なアプローチをとることで、 大大規模アセット群 に対して、快適な開発環境構築する事はま だまだ可能だと思います。 26