Perforce Helix Core 事例紹介:Ubisoft社
Ubisoft社: "アサシンクリード"の開発環境にHelix Coreを導入
Ubisoft社の大半のゲームプロジェクトでは、長年にわたりプログラマとアーティストの双方が主なバージョン管理システムとしてHelix Coreを活用しています。モントリオールの開発スタジオでは、1,200名以上の開発者がソースコードおよびグラフィックス/アニメーションファイル/モデリング/テクスチャ/サウンド/ビデオ画像を含むデジタルアセットを格納するために、Helix Coreを使っています。
Ubisoft社が長年にわたりHelix Coreを愛用する理由
APIの使いやすさと柔軟性
理想的なブランチングメカニズム
Helixプロキシサーバの効率性
Helix Coreは、デジタルアセット全てを管理するための中心的で重要なツールとなっています。
「私たちのチームは、日に日に拡大しています。Helix Coreの処理速度、信頼性、可用性はUbisoft社にとって必要不可欠であり、モントリオール開発スタジオだけでも、1,000名を越すユーザが利用しています。」
Nicolas Beaufils氏
テクニカルアーキテクト
Ubisoft社
開発環境
- 企業名: Ubisoft
- 本社: パリ(フランス)
- 業界: ゲーム開発(家庭用ゲーム機/携帯型ゲーム機/PC用ゲーム)
- Helix Coreの導入: 2001年
- Helix Coreユーザ数: 2,000名以上(そのうち1,210名がモントリオールの開発スタジオに所属)
- 接続環境: マルチギガビット回線
- 開発拠点: カナダのケベック州モントリオール、フランスのパリとモンペリエ、中国の上海など世界各国に展開
- ファイル数: 24,070,195ファイル(5TB)
- リビジョン数: 166,642,479リビジョン(メタデータの規模は337GB)
- 管理者数: 2名
- クライアントプラットフォーム: Windows
- メインサーバ: モントリオールに3台(1台はIBM x3655、残り2台はCompaq/HP DL580)
Ubisoft社は、世界中でインタラクティブなエンターテイメント製品の制作、発売、販売を行っている一流企業です。50を超える国々で1,000タイトル以上のゲームが販売されています。同社の15のゲーム制作スタジオは11の国々に展開しています。
Ubisoft社のモントリオールにある開発スタジオには1,600名のスタッフが従事し、今後さらに増員する予定です。これにより、この開発スタジオは、ゲーム機用とPC用ビデオゲームの構想/開発を牽引する世界で最も大きなゲーム制作会社の1つとなります。同社が発表したゲームタイトルには、プリンス・オブ・ペルシャ®、アサシン クリード™、レイマン®、スプリンターセル®、レインボーシックス®などがあります。
開発における課題
創設当初から、Ubisoft社はゲーム開発をすべて自社で行うことを決定していました。この戦略的判断が、現在に至るまでの会社の成功の多くと次世代ゲーム機へのスムーズな移行に貢献していると評価しています。
Ubisoft社では、各ゲームを専属のチームを設けて開発しています。ゲームの開発規模やその段階に応じて、チームは15名から150名以上の開発者から構成されます。チームごとに使用するツールおよびゲームエンジンを管理し、それぞれ個別のHelixサーバを保有しています。
同社の目標は、ツールやゲームエンジンを共有することで、さまざまなゲームプラットフォームをサポートしつつ、プラットフォーム固有の違いを最小限に抑えることです。
Ubisoft 社が開発において直面している主な課題の1つが、開発チーム間におけるツール共有の改善と、新しいツールやプロセスを用いた生産性の向上です。
ソリューション: Ubisoft社のバージョン管理
Ubisoft社の大半のゲームプロジェクトでは、長年にわたりプログラマとアーティストの双方が主なバージョン管理システムとしてHelix Coreを活用しています。モントリオールの開発スタジオでは、1,200名以上の開発者がソースコードおよびグラフィックス/アニメーションファイル/モデリング/テクスチャ/サウンド/映像を含むデジタルアセットを格納するために、Helix Coreを使っています。
アーティストやモデリング担当者は、毎日サブミットされるほんのささいな変更をも追跡するために、Helixビジュアルクライアント(P4V)および関連のグラフィックツールを使っています。グラフィックツール用のHelixプラグイン(P4GT)を利用することで、Photoshopや3ds Maxから簡単にHelixと連携することが可能です。
「使いやすく柔軟性に富んだPerl、C#、およびC++のAPIによって、ほとんどの自社独自ツールのバージョン管理を連携させることが可能となり、デザイナやモデリング担当者のワークフローを簡素化することができました。」
Beaufils氏
Helixのチェンジリストを活用し、それらをサブミットする前にコードの変更を論理的な単位でグループ化することで、プログラマはこれから作業するコードを簡単に選んだり、より手早く個々のタスクを切り換えたりできます。
「自分の思い通りに作業を整理することができるので、Helixのチェンジリストはプログラマにとても重宝されています。さらに、Helixのブランチングメカニズムは、異なるターゲットのゲームプラットフォーム間で同じコードを共有するのに理想的です。」
Beaufils氏
Ubisoft社は、デジタルアセットやSQLクエリを使用するやコードのレポート生成を簡素化するために、Helixのレポーティングシステム(P4Report)を開発環境のワークフローに組み込んでいます。
「P4Reportを用いて開発環境のデータベースとHelixを連動させることで、進行中の作業に関する詳細レポートをたやすく作成することができるようになりました。」
Beaufils氏
開発スピードを上げるために、Ubisoft社のチームはHelixプロキシ(P4P)を上手に活用し、開発者には頻繁に使われるファイルのキャッシュを提供することで、より多くのユーザが中央のHelixサーバで作業を行えるようにしています。 また、P4Pは分散開発環境も改善しています。リモートサイトのスタジオからも、さまざまなHelixサーバに保存されている同じコードやその他のデジタルアセットにすぐにアクセスでき、あらゆるUbisoft社内のプロジェクトの変更の見える化を実現しています。
「Helixは以前に導入していたVSSよりも管理作業が少なく、1,200人のユーザに対して専任の管理者が1人いれば十分です。さらに、Helixはバックアップ処理が簡単で、VSSよりも安定して稼働しています。それに、他のツールと比べると簡単に拡張することもできます。」
Beaufils氏
まとめ
Ubisoft社の成長に伴い、さらに多くの開発者がHelixに移行することが見込まれています。
「Helixの処理速度、信頼性、および拡張性は弊社にとって必要不可欠であり、今や1,000名以上のユーザがHelixなしでは仕事が成り立ちません。チームが、より一段と拡大するにつれ、Helixは全員の作業を管理するための中心的で重要なツールとなっています。」
Beaufils氏
多くの自社独自のツールを使うUbisoft社では、バージョン管理ツールとやり取りを行う柔軟性に富んだAPIが求められました。
「Helix用のAPIを利用して自社のツールとHelixとを緊密に連携させることにで、生産性を大幅に改善することができました。」
Beaufils氏