Perforce P4×Hordeで実現する大規模開発オーケストレーション | Unreal Fest Tokyo 2025

>100 Views

December 05, 25

スライド概要

本講演へのアンケートにご協力をお願い致します:
https://forms.gle/9SWJiT4MG5pt1yNj8

講演動画:
https://youtu.be/PHRshF-9c9M

講演内容:
当日は時間の都合で最後の事例をご紹介できず申し訳ございませんでした。株式会社セガ様による実際の検証内容と、Perforce社エンジニアの技術的見解の両面から、P4-Horde統合による大規模ゲーム開発における今後の可能性について説明しています。ぜひご覧ください。


講演者:
岩﨑 健太郎(株式会社東陽テクニカ)
粉川 貴至(株式会社セガ)
Jase Lindgren(Perforce Software, Inc.,)

株式会社東陽テクニカについてはこちら:
https://www.toyo.co.jp/

Unreal Fest Tokyo 2025公式サイト:
https://www.unrealengine.com/ja/events/unreal-fest-tokyo-2025

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

Perforce P4×Hordeで 実現する大規模開発 オーケストレーション 大規模ゲームプロジェクトの開発効率を向上させる、Perforce P4と Unreal Engine Hordeの統合ソリューションをご紹介します。 ©TOYO Corporation

2.

アジェンダ ・自己紹介 ・会社紹介 ・本題 - P4とHordeの関係について - セガ様の検証情報 - 海外事例についての見解 ・Q&A ©TOYO Corporation

3.

自己紹介 ©TOYO Corporation

4.

自己紹介 ・岩﨑 健太郎(いわさき けんたろう) ・株式会社東陽テクニカ ・Sales&Technical Manager エンターテインメント業界の営業管理 テクニカルサポート業務管理/Perforce P4のテクニカルサポート ・趣味: ポケポケ ・略歴: Sierで開発・運用業務を10年 商社でテクニカルサポートを8年 ©TOYO Corporation

5.

自己紹介 ・粉川 貴至(こかわ たかし) ・株式会社セガ ・クオリティエンジニアリング課 課長 ・趣味: クレーンゲーム ・略歴: 2008年株式会社セガに入社 開発環境の自動化・効率化やテスト自動化 などの技術検証、運用サポート等を行う ©TOYO Corporation

6.

自己紹介 ・Jase Lindgren(ジェイス・リングドレン) ・Perforce Software inc. ・Senior Solutions Engineer ・趣味: 音楽(ギターとベース) 夫婦でブルーグラスカントリーバンドを計画中 ・略歴: ・VFX業界で10年以上の経験 ・Perforce P4のインターナショナル・アンバサダー ・「Perforce P4 One」の立ち上げに貢献 ©TOYO Corporation

7.

会社紹介 ©TOYO Corporation

8.

9 SEGMENTS “はかる”技術を磨いて、9つの事業セグメントに展開。 脱炭素/エネルギー EMC/大型アンテナ 次世代エネルギーの 電磁波環境への対応を支えるソリューションを提供 最先端計測技術を提供 オートモーティブ ソフトウェア開発支援 自動運転など自動車の先端技術開発や ソフトウェア開発における 産業インフラの効率化を支援 品質・生産性向上を支援 海洋/防衛 eモビリティ 海洋調査、水産、防衛など EVをはじめモビリティの電動化を 海を守る幅広いソリューションを提案 “はかる”技術で推進 情報セキュリティ 情報通信 “はかる”技術をサイバーセキュリティサービスに活用 通信に確かな品質と安全、 快適な運用を提供 ライフサイエンス ライフサイエンス分野に最先端ソリューションを展開 ©TOYO Corporation 8

9.

ソフトウェア開発支援 ソフトウェア開発における品質・生産性向上を支援 “はかる”技術をソフトウェアの開発現場に活用し、品質や生産性の向上といった、ソフトウェア開発のライフサイクル全般を支援する製品と サービスを提供しています。さらに、世界で進むデジタルトランスフォーメーション(DX)に対応し、その安全・安心の実現のために最新の 事業紹介サイトへ セキュリティソリューションを提供しています。 主な取扱製品 ■ 高速構成管理ツール | ■ デジタルアセット管理ツール | ■ プロジェクト管理ツール ■ C/C++/C#/Java言語用静的解析ツール | ■ 脆弱性静的解析ツール ■ Webアプリ・パフォーマンステストツール | ■ バイナリ解析ツール | ■ IoTデバイスセキュリティソリューション 9 C言語用ソースコード 静的解析ツール 「Helix QAC」 ©TOYO Corporation ©TOYO Corporation SaaS型継続的テストプ ラットフォーム 「BlazeMeter」 高速ソフトウェア構成 管理ツール 「Helix Core」 ■ ソースコード構造解析ツール | ■ ソフトウェア開発設計支援ツール

10.

ソフトウェア開発支援 取引先 • Perforce Software, Inc. • Imagix Corporation • QA Systems GmbH • 株式会社チェンジビジョン • 株式会社エクスモーション • Checkmarx Ltd. • 株式会社ユービーセキュア • 株式会社エーアイセキュリティラボ • インクレディビルドジャパン株式会社 • Karamba Security Ltd. • DerSecur Ltd. 10 ©TOYO Corporation ©TOYO Corporation

11.

P4 プラットフォーム 最大のDevOps課題を解決 ゲーム、アニメーション、デジタルツイン、自動車、半 導体向けに構築されたバージョン管理 強力な権限管理とレプリケーション でIPを保護 再利用可能なフレームワークの構築 と運用の効率化 柔軟な導入オプション オンプレミス ©TOYO Corporation クラウド ハイブリッド 分散構成 P4 バージョン管理 P4 DAM アセットマネジメント P4 Code Review コードレビュー P4 Plan 開発プロジェクト管理

12.

本題 ©TOYO Corporation

13.

ゲーム開発が直面する3つの壁 規模の壁 速度の壁 協業の壁 数百GB~TB級のアセット(テクスチャ・メッシュ・ フルビルド・Cook・自動テストに長時間を要し、反 グローバル分散体制下で多職種( サウンド等)で同期・保存がボトルネックとなり、 復速度が著しく低下。イテレーション回数の減少 Artist/Engineer/TA)が並行編集を行う現代の チーム全体の生産性に深刻な影響を及ぼします。 は品質向上の機会損失につながります。 開発環境では、競合管理が極めて複雑化してい ます。 Git系+LFSは巨大バイナリのロック・配布・差分最適化において運用負荷が高く、AAAタイトルの開発規模には対応しきれません。 ©TOYO Corporation

14.

解決の鍵:P4とHordeの統合 課題の核心 理想的なワークフロー 既存のバージョン管理システムは、ゲーム開発特有の「巨大バイナリアセットの頻繁な 更新」に最適化されていません。これが生産性のボトルネックとなっています。 Shelve → Preflight → Submit → 自動実行 → 可視化という循環 を常態化させることで、「待ち時間」を削減し、「壊さないコミット」を実 現します。 統合ソリューション • • • P4:巨大バイナリ前提のVCS Horde:UEネイティブの実行自動化 シームレスな連携による効率化 ©TOYO Corporation

15.

Epic Gamesの実例が示す改善 20分 650台 75% ビルド頻度 エージェント規模 時間短縮 20分おきから全コミットごとへ 270台から最大650台へスケー コンパイル時間を最大75%削減 短縮 ル 引用:https://www.youtube.com/watch?v=jOOWH3bAHmY ©TOYO Corporation

16.

Fortnite開発での変革事例 BuildGraph+Hordeによる効果 スケーラブルなインフラ ビルド頻度を20分おきから全コミットごとに引き上げることで、問 オンプレミスとクラウド(AWS等)を併用し、需要に応じて柔軟にス 題の早期発見と迅速な修正が可能になりました。 ケール。エージェント数を動的に調整することで、滞留や待ち時間を 最小化しています。 UBA(Unreal Build Accelerator)の威力 実現された価値 軽量仮想化技術により、リモート実行環境でのC++コンパイルを • ビルド頻度の向上 最適化。15分かかっていたビルドが6分に短縮された事例も報告 • 並列処理能力の拡大 • 単一ビルド時間の短縮 されています。 これら3つの要素を同時に改善することで、開発スピードが飛躍的に向上しました。 ©TOYO Corporation

17.

統合ソリューションの全体像 01 02 03 Perforce P4 Horde UnrealGameSync(UGS) 巨大バイナリ・ファイルロック・部分取得に最適化された Unreal Engine専用のCI/CD・分散実行・可視化プラ P4からの同期を簡素化し、事前ビルドを配布。メタデー バージョン管理システム。Unreal Engineエディタからネ ットフォーム。BuildGraph、Preflight、Issues管理、 タ連携でコメントや通知を一元管理します。 イティブに操作可能です。 Artifacts配布を統合します。 これらのツールが連携することで、UGS同期 → Shelve → Preflight → Submit(P4) → Horde自動実行 → UGS配布 → Studio Analytics/Build Health Tracking という、シームレスな開発サイクルを実現します。 ©TOYO Corporation

18.

Perforce P4:大規模開発の基盤 集中型VCSの特性 Unreal Engineとの統合 P4は集中型バージョン管理システムとして、大 UEにはPerforce統合が標準実装されており、 容量ファイルに最適化された設計を持っていま ソースコントロールUIから直接チェックアウト・サブ す。Gitとの主な違いは、ファイルロック機能によ ミット・履歴確認が可能です。アーティストもエ る競合回避と、必要な範囲のみをチェックアウ ディタ内からP4を操作できます。 トできる部分取得機能です。 ©TOYO Corporation

19.

なぜAAAスタジオはP4を選ぶのか 業界標準としての地位 Epic標準ツールとの完全統合 充実したドキュメント Unreal Engineプロジェクトの運用において、P4 UnrealGameSync、Horde、RoboMergeなど Perforce公式サイトには、Unreal Engine 5利 はデファクトスタンダードとなっています。多くの 、Epic Gamesが提供する開発支援ツールはす 用手順やチーム運用のベストプラクティスが詳細 AAAスタジオが長年の実績を持ちます。 べてP4専用に設計されています。 に公開されています。 「巨大アセット×多人数」という条件下での現実的な解決策として、P4は最適な選択肢です。 ©TOYO Corporation

20.

P4が大規模開発に強い3つの理由 高速処理 ワークフロー機能 協業機能 数百GB~TBクラスのデポでも、効率的なデルタ Shelve(一時保存)、Changelist(論理的グ ファイルロックによる編集者の可視化とバイナリ衝 転送により帯域と時間を抑制。ストリーム単位の ループ化)、Atomic commit(整合性保証) 突回避。P4 Code ReviewやUGSメタデータで変 管理で、必要最小限の派生のみを扱います。 により、安全で効率的な開発が可能です。 更内容を共有できます。 ©TOYO Corporation

21.

補足:ロックとトランザクションの制御 アトミックチェンジトランザクション: 並行性と排他ロック制御: 複数のユーザーが同時に大容量ファイルをチェックアウトし 複数ファイルの変更がすべて成功 or 不成功を判断! ても、ロックメカニズムを介して衝突や上書きを回避! 不完全な変更による問題のリスクを大幅に減少! ファイルAをチェックアウト チェンジリスト1 同じファイルセットを取得 Perforce P4 ユーザA サブミット ユーザAがファイルAを ユーザA 作業中として管理! チェンジリスト単位でファイルがサブミットされる。 1つのファイルに問題が発生するとサブミットが ユーザB ファイルAをチェックアウト キャンセルされる。 できない! ©TOYO Corporation 21 Perforce P4

22.

補足:ブランチと履歴管理 インターファイルブランチング:特に大規模プロジェクトや大量のデータを効率的に管理するための機能 効率的なブランチ作成: ブランチの追跡: ファイルA#1 メインライン メインライン DB ブランチ 開発ライン 複製 ファイルA#1 ファイルB#1 開発ライン DB リネーム データベースだけが複製される。 ブランチ間の変更の流れを効率的に追跡する。 ディポファイルはポインタ参照する。 変更やリネームファイルの経路を把握を容易する。 ブランチ先での成長後実体化する。 ©TOYO Corporation 22

23.

P4運用のベストプラクティス ブランチ戦略の最適化 Submitガードレールの設定 Main/Release/Featureの最小構成を基本とし、RoboMerge等で定期 Preflightを必須化し、レビュールールとChangelist(CL)サイズ上限を設 統合を自動化。Main中心のトランクベース開発とGame Feature Pluginを 定することで、品質を担保します。 活用します。 自動化ツールとの連携 環境の最適化 UnrealGameSync(UGS)による同期管理と、RoboMergeによる クライアントビューの整流、NVMe/Dev Drive活用、AV除外設定、Zen Changelist自動マージで運用を効率化します。 DDC/Edge導入により、パフォーマンスを最大化します。 ©TOYO Corporation

24.

Virtual Assets:同期時間を短縮する技術 2層構造による最適化 DDCとの併用効果 Virtual Assetsは、アセットを2つの層に分離することで同期を最適化します。 Derived Data Cache(DDC)やZen DDCと組み合わせることで、再計算やデータ転送を最小化。 P4側にpayloadを永続化する構成も可能です。 • • .uasset(メタデータ):常時同期 .upayload(実データ):オンデマンド取得 この仕組みにより、ディスク使用量を削減しながら、必要なデータのみを効率的に取得できます。 ©TOYO Corporation 400GB 125GB 69% 従来のディスク容量 Virtual Assets導入後 容量削減率

25.

Horde:UE専用開発プラットフォーム P4と「回す」を分担 Epic Games製の統合開発基盤であるHordeは、Unreal Engine 5.4以降の新標準 として位置づけられています。BuildGraph統合、Preflight、Artifacts配布を含む包 括的なCI/CDソリューションです。 ©TOYO Corporation

26.

Hordeの5つの柱 Remote Execution Build Automation C++コンパイル等の処理を他マシンにオフロード 継続的インテグレーション/デリバリー(CI/CD) によるビルドの完全自動化 Test Automation Automation Tool/Gauntlet等を統合した自 動テスト機能 UGS Metadata Server チーム連携・ビルドステータス・コメント集計の一元 管理 ©TOYO Corporation Studio Analytics ワークフローのテレメトリとメトリクス可視化

27.

HordeとP4の深い統合 接続設定 ストリーム連携 Preflightフロー Server.jsonでPerforce接続を設定 ストリームの更新がHordeのトリガーとなり、 preflight-and-submitフローで棚上げChangelist (perforce、perforceClusters、ServiceAccount Artifacts生成からUGS配布まで自動化されます。 を自動取得し、コミット前検証を実現します。 、CanImpersonate) *SSL環境ではp4 trust/P4TRUSTも必須です。 ©TOYO Corporation

28.

Changelistベースのワークフロー CL中心の追跡システム Streamsとの統合 HordeはPerforceのChangelist(CL)番号 Main、Release、Featureの各ストリームごとに を軸に、すべてのビルド・テスト・デプロイを管理 異なるビルド設定を適用。ストリーム間のマージ します。誰が・いつ・何を変更したかがP4メタデ (RoboMerge)とビルドトリガーが連携しま ータと直結し、一目で把握できます。 す。 Shelved Changelistのサポート メタデータの活用 コミット前の保留済みCLでもPreflightビルドを CLの説明文、変更ファイルリスト、ロック状態 実行可能。SubmitToolやP4 Code Review をHordeダッシュボードに表示。ビルド失敗時 から直接起動し、「壊れたコードをMainに入れ の連絡先が即座に判明します。 ない」文化を確立します。 ©TOYO Corporation

29.

Build Automation:P4前提のCI/CD BuildGraphネイティブ連携 Preflight(コミット前検証) 保留済みChangelistをベースに自動ビルド・テストを実行。SubmitToolから直 P4のChangelistトリガーで自動実行。Windows、Mac、Linux、Console等の 接起動、またはP4 Code Reviewから自動起動します。失敗したCLは自動ブロ マルチプラットフォーム並列ビルドに対応します。 ックされ、成功したCLのみSubmit可能です。 Post-Submit Build MainストリームへのSubmit後、全プラットフォームで自動ビルド。成功したビルド のみがUGS経由でチームに配布されます。 ©TOYO Corporation P4との密接な連携 CL番号、変更者、変更ファイル、コメントを自動取得。ビルド失敗時にはCL作 成者へ自動通知し、P4 Code Reviewへ結果を自動フィードバックします。

30.

Remote Execution & UBA UBAの革新的な仕組み P4ワークスペースとの統合 Unreal Build Accelerator(UBA)は、「軽量仮 Horde Agentが自動的にP4クライアント 想化」と「必要時のみ元マシン参照」という設計によ ワークスペースを管理。必要な り、C++コンパイルをリモート実行します。Hordeの Changelist/ストリームのみを同期し、 Remote Executionがコーディネートし、アップロード Virtual Assetsにも対応します。ビルド完 →実行→取得を管理します。 了後のクリーンアップも自動化されていま す。 劇的な時間短縮 柔軟な実行環境 ビルド時間を2-3倍短縮する実績があり、15分かか 社内ファーム、夜間の開発者PC、クラウド っていたビルドが6分に短縮された事例も報告されて (スポットインスタンス)を混在運用可 います。プロジェクトの規模や構成により効果は変 能。P4 Edge Serverと組み合わせて、 動します。 拠点間を最適化します。 ©TOYO Corporation

31.

Test Automation:変更に基づく最適化 01 02 Automation Tool/Gauntlet連携 変更ファイルベースの最適化 P4のChangelist単位でテストを自動実行。パフォーマンステスト、回帰テスト、機能テ P4の変更ファイルリストから影響範囲を分析し、関連するテストケースのみを実行。テ ストを統合的に管理します。 スト時間を大幅に短縮します。 03 04 結果のCL紐付け P4 Code Reviewへのフィードバック どのChangelistがどのテストを失敗させたかを明確化し、回帰の原因特定を迅速化 テスト結果を自動的にレビューに反映。失敗したテストのログURLをコメントとして追加 します。 します。 ©TOYO Corporation

32.

Studio Analytics:開発活動の可視化 P4操作のテレメトリ 同期時間、Shelve頻度、Submit頻度を追跡。チーム全体のP4利用パターンを可視化します。 実行時間の分析 Changelist単位でのビルド・Cook・テスト時間のトレンドを分析。どの変更が処理時間を増加させたかを特定し ます。 ボトルネックの特定 Virtual Assets同期の効率、大容量アセットのコミット傾向、ビルドキャッシュのヒット率を監視します。 KPI可視化 チーム全体の生産性メトリクスとトレンド分析により、P4運用の改善ポイントを発見します。 ©TOYO Corporation

33.

Build Health Tracking:品質の見える化 Build Health Trackingとは なぜP4でこそ価値があるのか ビルド実行結果を分かりやすく表示するダッシュボードUI機能です。P4のChangelist単位で • 集中型VCSの特性により、全てのCLが単一タイムラインで管理される ビルド・テストの成功率や失敗傾向を可視化し、プロジェクト全体の「健全性スコア」をリアル • Atomic commitにより、失敗の原因CLを正確に特定可能 • ファイルロック情報と失敗の関連性を分析できる タイム表示します。 P4との深い統合 CL番号、変更者、変更ファイル、ロック状態を一元管理することで、「誰の変更が原因か」を 自動特定。過去のCL履歴と失敗パターンの相関分析も可能です。 ©TOYO Corporation

34.

Build Health Trackingの構成要素 健全性スコア 直近N件のビルド成功率から算出 (例:過去100ビルドで90%成功→90%)。ストリーム別、プラットフォーム別にスコアを表示し、トレンドグラフで改善・悪化の傾向を可視化します。 CL単位の成功/失敗マップ タイムライン上に各CLのビルド結果を表示(緑:成功、赤:失敗、黄:警告)。クリックするとCLの詳細を確認でき、連続失敗CLを強調表示します。 失敗の自動分類 コンパイルエラー、リンクエラー、テスト失敗、タイムアウト等を自動分類。エラーメッセージのパターン認識で類似失敗をグループ化します。 担当者の自動アサイン 失敗したCLの作成者に自動通知。P4 Code Reviewとの連携でレビュアーにもアラートを送信します。 ©TOYO Corporation

35.

Horde Device Manager Unreal Engineのデバイス管理自動化ツール 概要とメリット Horde Device Managerは、モバイル・コンソール開 発用端末の一元管理を可能にするツールです。 • 開発リソースの最適化を実現します。 • 自動テスト・手動テスト環境の効率を大幅に向 上させます。 主要機能 REST APIによる自動端末割り当て ユーザープール(用途別の端末グループ管理) ダッシュボードUIでの一元監視・操作 テレメトリーによる利用状況可視化 問題の自動検知・外部サービス連携 ©TOYO Corporation 活用シーン • 自動テスト環境の効率化 • 開発者への端末貸出管理 • CI/CDパイプライン統合 • 端末稼働率の最適化

36.

P4メタデータとの統合分析 変更ファイルと失敗の相関 ロック状態との関連性 どのファイル・ディレクトリの変更が失敗を引き起こしやすいかを分析。問題多発エ ファイルロック中の変更と失敗率の相関を分析。複数人が同時編集した場合の リア(ホットスポット)を可視化します。 失敗リスクを評価します。 CLサイズと失敗率 ストリーム間マージ 大規模CL(変更ファイル数が多い)ほど失敗しやすいかを分析。CLサイズ上限 Feature→Main、Main→Releaseのマージ時の失敗傾向を追跡。 設定の根拠データとして活用します。 RoboMergeの自動マージ結果の健全性を監視します。 ©TOYO Corporation

37.

Build Health Tracking の実践活用 朝会での活用 新人教育・オンボーディング 前日のビルド健全性スコアをチーム全体で確 「良いChangelistの作り方」を失敗事例から 認。連続失敗中のChangelistがあれば優先 学習。過去の失敗パターンを検索して、同じミ 対応を決定し、「今日のリスクエリア」を共有し スを防ぎます。 ます(最近失敗が多いモジュール等)。 リリース判断の根拠 プロセス改善の指標 Release streamの健全性スコアが95%以上 Preflight導入前後での健全性スコア変化を なら出荷判断を行い、失敗が集中している場 測定。CLサイズ上限設定による失敗率低下 合はリリース延期を検討します。 を検証し、テスト自動化の投資効果を定量評 価します。 ©TOYO Corporation

38.

Horde Issues System:軽量トラッキング Horde Issues Systemは、JIRAやAsanaほど重くない、ビルド・テスト失敗専用の軽量チケットシステムです。エラーや警告を自動でIssue化し、機械学習ベースのパターン認識で類似エラ ーをグループ化します。 P4との緊密な統合 Issueライフサイクル Issueに関連するChangelist番号、変更者、変更ファイルを自動紐付け。原因CLの特 新規(New)→ 調査中(Investigating)→ 修正中(Fixing)→ 解決( 定が容易になります。 Resolved)という明確なフローを持ちます。Changelistでの修正をコミットすると、自動 自動分類・アサイン エラータイプ(コンパイル、リンク、テスト)で自動分類し、関連CLの作成者に自動アサイ ン。P4 Code Reviewへもリンクします。 ©TOYO Corporation 的に「解決」へ遷移します。

39.

Issues × Build Healthの相乗効果 詳細情報源 長期トレンド分析 Build Health Trackingダッシュボードで失敗CLをク Issue発生頻度の推移から「最近増えている問題」 リック→関連Issueへジャンプし、エラーログやスタック を特定。解決までの平均時間(MTTR)を測定 トレースを参照 改善サイクル ボトルネック特定 Issue分析 → P4運用ルール改善 → Build 特定の開発者に多数のIssueがアサイン→負荷分 Health向上 → Issue減少という好循環を確立 散。特定モジュールで多発→リファクタリング検討 ©TOYO Corporation

40.

日常的な開発フロー 朝:同期と確認 1 UnrealGameSyncで同期(Virtual Assetsでメタデータのみ取得、必要時に Payload取得)。Build Health Trackingダッシュボードで昨日の健全性スコアを 確認します。 2 作業:編集 コードやアセットを編集。ロックと差分を明確化しながら作業を進めます。 検証:Preflight 3 Shelve(変更を棚上げ)→P4 Code Reviewでレビュー作成→Preflightで事前 検証。結果が自動的にレビューに反映されます。 4 コミット:Submit P4にSubmit。Hordeが自動的にビルド・テストを実行し、結果がBuild Health 配布:UGS 5 Trackingに即座に反映されます。失敗時はHorde Issueが自動生成されます。 UnrealGameSyncでArtifactsをロールアウト。アーティストは事前ビルドを使用でき ます。 6 振り返り:分析 Studio Analytics/Build Health TrackingでKPIと失敗傾向を可視化。自分の ChangelistがBuild Healthスコアにどう影響したかを確認します。 ©TOYO Corporation

41.

大規模運用例:Epic Games on AWS スケーラブルな構成 Build Healthによる品質管理 • P4 Edge Server:各拠点に配置し、近接アクセスを実現 健全性スコアが一定以下になると自動アラート。ビルド優先度を自動調整し、失敗が多 • Horde Agent:270台から最大650台以上へ動的スケール いストリームを優先修正します。 • ストレージ:FSx for ONTAP等のクラウドキャッシュ 実現された成果 • 監視:Build Health Tracking & Studio Analyticsで一元管理 • ビルド待ち時間の劇的削減 • グローバルチームの生産性向上 スポットインスタンス活用と夜間PCの有効利用で、コストと資源効率を両立。Lambda • 柔軟な拡張性の確保 活用でキャッシュウォーム等を実現します。 • ビルド品質の可視化と継続的改善 コスト最適化 ©TOYO Corporation

42.

Horde検証@セガ 株式会社セガ 開発技術部 クオリティエンジニアリング課 粉川 貴至

43.

検証環境 P4、Horde環境ともにオンプレミス(1拠点)で構築 主に検証した機能 Build Automation、UGS連携 Remote Execution&UBA Device Management Horde Issue System

44.

検証してみて良いと感じた点(ピックアップ!) Build Automation ビルドステップが視認しやすい ビルドログ確認時のエラー・警告などがアクセスしやすい Preflight(コミット前チェック)機能が良い UGS連携 “Build Locally”で手元で同じコマンドが実行できる Device Management コンソール/モバイルデバイスの管理・連携ができる Horde Issue System 軽量チケットシステムがある

45.

Build Automation - ビルドステップが視認しやすい

46.

Build Automation - ビルドログ確認時のエラー・警告などがアクセスしやすい ビルド時のエラー (日本語メッセージも文字化けしない)→ Cook時のエラー( “-UTF8Output” オプションで日本語メッセージも文字化けしない!)

47.

Build Automation - Preflight(コミット前チェック)機能が良い ジョブ開始画面(Web UI または P4Vの拡張から呼び出すことが可能) Tips: ・ジョブ成功時に自動でサブミットを進めることができる(任意) ・チェンジリストの説明が文字化けする場合はHordeServerの動作環境に P4CHARSET=utf8 を設定

48.

UGS連携 - “Build Locally”で手元で同じコマンドが実行できる UGS経由でローカル環境での再 現確認ができる

49.

Device Management - コンソール/モバイルデバイスの管理・連携ができる

50.

Horde Issue System -軽量チケットシステムがある ・「CI環境でのエラーに対してそのシステム上でイシューが立つ」よさ ・自動アサイン、修正後再発時の再オープンなどの機能もある ・イシューが立つ→Slack連携→必要に応じてJiraにエスカレーションという想定らしい(未検証)

51.

苦労した点 ネイティブプロジェクト構成が前提 BuildGraphの学習 日本語化(多言語化)が未対応 通知連携の対応

52.

苦労した点 - 通知連携の対応 デフォルトではSlack連携のみ用意されている Microsoft Teamsへの通知対応を実装 対応用のインターフェースがある https://dev.epicgames.com/documentation/ja-jp/unrealengine/horde-deployment-for-unreal-engine#integrations HordeServer(Buildプラグイン)での対応 Microsoft Teams側のIncoming Webhook廃止への 対応も Retirement of Office 365 connectors within Microsoft Teams

53.

検証時にバージョン更新で引っかかった点 5.6.1 Horde Agentが使うクライアントワークスペースタイプのデフォルト がPartitionedに変わった 5.5 HordeServerの各機能がPluginに分けられた

54.

今後検証をより進めたい点 AutoSDK機能 SDKのセットアップや切り替えを自動化 CI環境の運用効率化、スケール対応 Test Automation テストステップの使いこなし Device Management連携でマルチプラットフォームでのテスト クラウド連携 AWSとの連携機能が用意されている点に期待

55.

その他雑感 Unreal Engineを使ったゲーム開発で考える必要がある一連のビルドパイプラ インがシステムとしてカバーされていて良い エンジンソース、エンジン/エディタビルド時のバイナリ(PCB)、UEプロジェクト、アプリ ケーションのビルドと成果物の扱い 周辺ツールを含め “The Epic Way” に則った場合に最大に効果を発揮する 形で、その道から外れる場合は努力が必要 https://dev.epicgames.com/community/learning/tutorials/8JYW/epic-forindies-setting-up-an-unreal-engine-studio-the-epic-way ゲーム開発でのCI/CDツールとしてHordeの利用スタジオが増えているのを感じ ている 2025 State of Game Technology Report

56.

対話形式 ©TOYO Corporation

57.

Epic Games社 実証済み:大規模プロジェクトにおけるワークフロー最適化 プロジェクト容量削減実績 413GB → 116GB (72%削減) 実装された主要機能 プリフライト検証 • • コミット前の自動ビルド・検証 シンプルで効果的なプロセス 運用効果 開発ブロックの防止 チーム間コラボレーション円滑化 Virtual Assets連携 継続的インテグレーションの実現 • • トリアージチームの効率的介入 ハードドライブ容量の大幅削減 ダウンロード時間の短縮 自動競合管理 • • • Horde + RoboMergeによる競合検知 アセット作成者への自動通知(Email・Slack) 10分無応答で自動エスカレーション 引用:https://www.youtube.com/watch?v=jOOWH3bAHmY ©TOYO Corporation

58.

海外ゲーム会社R 技術の重複を排除し、チーム間の壁を取り払う 引用:https://youtu.be/9xxwQVdwcTQ?si=Yr7EdUhvpQGVCJSs 課題 解決策 共通ゲーム開発エコシステム構築 複数ゲームチームの技術作業重複・分散 Perforce: 全社統合管理の心臓部 単一巨大P4サーバ運用 • 全Unrealプロジェクトとエコシステム統合 • Epic公式P4ミラーリング • 各ゲームチーム専用リポジトリ • 標準化されたstream構造 Horde: 標準化CI/CDプラットフォーム 中心技術チーム • • • • 全社標準構築基盤 • Epic公式 Horde + BuildGraph • グローバルテンプレート(JSON) • Terraform自動展開 • ゲームごと独立CI環境 Unreal Engine基盤 100以上の共有プラグイン 標準ディレクトリ構造 ゲームアグノスティック設計 R社独自拡張 • テンプレート化・構成自動生成 • FastBuild分散ビルド高速化 • Trace埋め込みパフォーマンス管理 • 並列構築最適化 運用成果 技術作業重複の極限削減 強力な技術連携 短期間でのAAAタイトル量産体制 スケールアウト可能な開発エコシステム "ゲーム開発横断で技術共有・標準化を徹底し、重複作業や非効率をなくすことで、チーム間の壁を取り払い、高品質なAAAタイトル量産を可能に" ©TOYO Corporation

59.

海外ゲーム会社V インディから75人グローバルスタジオへの技術基盤変革 9人の小規模インディ → 75人超グローバルリモートスタジオ 引用:https://www.perforce.com/podcasts/p4/in-development Steam 1位獲得タイトルの技術基盤 導入前の課題 NAS運用 CTOのガレージでNAS運用 手動運用 Jenkins + バッチスクリプトによる手動運用の限界 アクセス制限 カスタムエンジンへの限定的アクセス グローバル非対応 グローバルチームへの非対応 Horde × Perforce連携の技術実装 技術的前提条件 • • • プロジェクトパス標準化(スペース排除) ファイルパーミッション最適化 ブランチ運用の標準化 コア連携機能 • • • • 全ビルド成果物のPerforce自動管理 BuildGraphによるdepotパス指定配布 カスタムエディタ/バイナリ/シンボル自動コミット プラットフォーム・部門別権限管理 統合ワークフロー • • • • • Perforceを心臓部として Unreal Game Sync:プリコンパイル済みバイナリ配信 Robo Merge:ブランチ間自動伝播 Horde CI/CD:分散ビルド・テスト実行 Slack連携:ユーザー管理紐付け通知 Robo Merge Horde CI/CD Build s and tests acros s the fleet Hordeの設計思想:リポジトリ・成果物・分散ビルドすべてをPerforceで統合 → CI/CD刷新の技術的心臓部として機能 ©TOYO Corporation 運用成果 安全なビルド 「誰でも・どこでも」安全なビルド実行 アクセス容易化 非エンジニアもカスタムエンジンアクセス可能 完全自動化 リポジトリ〜成果物の完全自動化 グローバル効率化 グローバルリモート運用の効率化 安全性と拡張性 安全性とスケーラビリティの両立

60.

Podcast:https://www.perforce.com/podcasts/p4/in-development ©TOYO Corporation

61.

Q&A ©TOYO Corporation