Trace Id is missing
2023/03/09

コストとパフォーマンスを両立する Luminous Productions の Microsoft Azure を活用した新たなゲーム開発環境の構築

Luminous Productions は、2018 年にスクウェア・エニックス・グループの一員として発足。従業員数は約 170 名 (2022 年 12 月現在)、そのうち約 1 割が外国人というグローバル ゲーム スタジオです。

“世界最先端のテクノロジーとアートを融合させ、今まで誰も経験したことがないゲーム体験を作る”をビジョンに掲げる同社では、ハイエンド ゲーム向けのゲーム エンジン「Luminous Engine」を自社で開発するなど、テクノロジーへの投資を積極的に行っており、そのテクノロジーは同社初のタイトルとなる「FORSPOKEN」にも惜しみなく注がれています。

同社では、広大なオープン ワールドを舞台にした FORSPOKEN の制作効率を上げるために自動化を推進しています。そのうち、アセット (ゲームの一部として存在する素材、部品) ビルドの自動化を進めるにあたり、いくつかの課題を解決するためにオンプレミス サーバーからクラウドにビルド環境を移行。移行先のクラウド サービスとして同社が求める要件を満たしたのが「Microsoft Azure」でした。

Luminous Productions

自分たちの満足いく状態でゲームをユーザーに届けたい

FORSPOKEN は「アーシア」と呼ばれる異世界を舞台にしたオープン ワールドを駆け抜けながら魔法で戦うアクション RPG です。オープン ワールドとは、ステージ制のように限定された経路で攻略したりロード画面などを挟んだりするのではなく、プレイヤーがフィールドを自由に移動、攻略できるよう設計されたゲームのことです。ゲーム サーバーや Luminous Engine のネットワーク ライブラリ部分を担当するプログラマーのマイエルチャク プジェミスワフ氏は「アーシアのワールドマップは、非常に広大で、様々なロケーションが存在しています」と語ります。

そんな FORSPOKEN の世界観を表現するために同社では、ワールド エディター機能を設けて大量のアセット制作や読み込み速度の高速化を可能にするなど、内製ゲーム エンジンの Luminous Engine を進化させてきました。
FORSPOKEN 制作の陣頭指揮をとったスタジオ ヘッド 開発部長の荒牧 岳志氏はコンセプトを説明します。「私たちがつくっているのはスマートフォン向けのゲームではないので、そのための機能は必要ありません。代わりに Luminous Engine では自分たちの求める“エッジの効いた”ゲームを構築するためのツールを充実させています」(荒牧氏)

だからこそ同社の初タイトルとなる FORSPOKEN の制作にあたっては、極限までクオリティを高めて「自分たちの満足いく状態でユーザーに届けたいという想いが強かった」と語ります。妥協なくクオリティを追求できるように、テクノロジーの投入を含む効率化に向けた仕組みづくりやフローの改善を、常に意識してきたそうです。

膨大なアセットの自動処理に伴う 2 週間の工数を 1 日に短縮

そこで問題になったのが FORSPOKEN のアセットの処理でした。アーシアの広大かつ多様なマップに木や草といったアセットを手作業で配置するとなると莫大な工数がかかり、現実的ではありません。かといって同社にとってはゲームのクオリティがなにより大切です。アセットを減らしてクオリティを下げる選択肢もありませんでした。自動化によってその手数を減らそうと考えるのは当然の流れだったと言えるでしょう。

同社では、ルールに従ってワールド マップに木や草を自動配置したり、地形のポリゴンを自動作成したりする「World Procedural」と呼ばれる工程を自動化。ほかにも、対象物にあたる光を表現する負荷を事前計算して軽減する「ベイク処理」やゲーム世界で AI が歩行可能な地形のデータ構造である「Navigation Mesh」の生成など、多くの工程が自動化されました。

自動化によって工数は減りましたが、アセットのビルドに使用されるオーサリング データのサイズは最大 2 TB にも達しました。ゲームマップを構築するアーティストが World Procedural の元となるデータをアップロードしてから、その自動計算の結果を確認するまでにかかる時間も増加。最大 2 週間に及ぶこともあったそうです。

ビルドにかかる時間とサーバー管理コストを削減するために Azureへ移行

そのうえ、Luminous Engine はオンプレミス サーバー上に構築されているため、アセットのビルド プロセスの増加に伴って、データ処理のためにオンプレミス サーバーを多数用意する必要が生じました。
しかし、サプライチェーンの混乱によってサーバーの調達は非常に不確実な状況でした。発注から納品まで半年かかることもあったといいます。そこでデスクトップ PC をサーバーの代わりに使うことにした同社でしたが、またもや問題が発生します。社内に PC を設置する場所がなくなり、電源容量も足りなくなってしまったのです。

プログラマーの森田 拓司氏は当時の状況を振り返ります。
「当時は在宅勤務の従業員も多かったので、わざわざ会社に電話して、出社している同僚に落ちてしまった PC の電源を入れ直してもらうようなこともありました」(森田氏)
最大時でサーバーは 20 台、サーバー代わりのデスクトップ PC は 40 台に増加。その管理は現場にとっても大きな負担となっていました。続けて、荒牧氏もスケーラビリティ面の課題を話します。「常時稼働が必要であれば多少の手間やコストはかかっても仕方ないのですが、計算量が増えるのはプロジェクトの終盤だけなので、オンプレミス サーバーの増設はスケーラビリティの面でも問題がありました」(荒牧氏)
そこで同社では、アセット ビルド システムのクラウドへの移行を決断しました。

森田氏はクラウド移行時の状況を次のように振り返ります。「アセットのビルドはゲームのプロセスを動作させながら行います。Azure の仮想環境下で描画周りの処理がきちんと動くか心配でしたが、実際に試してみるとすんなり動いたので嬉しい驚きでした」(森田氏)

数あるクラウド サービスの中から Azure を選定した理由として、荒牧氏は作業環境の親和性と将来に向けた拡張性の 2 点を言及します。「まず当社がもともと Office アプリや Azure AD を使っていたため、親和性が高いと判断したのがひとつ。また将来的に開発プラットフォームとして GitHub の利用を想定していたため、GitHub の CI / CD 機能である GitHub Actions のフローを考えると、Azure でコンピレート環境をつくれることは大きなメリットだと感じました」(荒牧氏)
また、Azure のクラウドサーバーから同社データ センターにあるオンプレミス サーバーにプライベート アクセスできたことも決め手のひとつだったと言います。

低コスト、スケーラビリティ、セキュリティの要件を満たすために試行錯誤

クラウド移行に伴い同社が求めた要件は 6 つ。「DirectX 機能を使用できる GPU」、「オンプレミスと同等以上のパフォーマンス」、「Jenkins へのシステム統合」、「低コスト」、「スケーラビリティ」、「セキュリティ」でした。

これらの要件を満たすべく最初に試したのは、インスタンス (VM / 仮想マシン) ごとに専用ディスクを用意するパターン。ビルドのパフォーマンスはある程度満足いくものでしたが、「この方法で 10 台のワークマシンを立ち上げると月々のコストが 120 万円以上という高額になってしまうことがわかったのです」(プジェミスワフ氏)

すなわち、前述の 6 つの要件のうち「DirectX 機能を使用できる GPU」、「オンプレミスと同等以上のパフォーマンス」、「Jenkins へのシステム統合」はクリアできたものの、事前に決まった数のインスタンスを作成する必要があるため、コストは高いという状況になったのです。

そこで同社ではインスタンス タイプをスポット インスタンスへと変更し、専用ストレージはなく共有ストレージを利用。そして Web サーバーで Azure リソースの管理を担うコントロール サーバーを実装することにより、改善を試みました。

「その結果、クラウド マシン 1 台で 16 日かかっていたビルド処理を 16 台同時稼働させて 1 日で終わらせられるようになりました。どちらの場合もコストはほとんど変わりません」(プジェミスワフ氏)

同じコストでビルド処理完了までの時間を大幅に削減できたのは共有ストレージ化による恩恵だそうです。

「ストレージはアセット ビルド処理が行われていない間でも課金が発生していまします。これを複数のクラウド マシン間で共有することで、稼働台数と稼働時間に対してコストが線形に増えていくようなスケーラビリティのあるシステムを目指しました」(プジェミスワフ氏)

これらの改善対策を施した結果、当初月々約 120 万円以上もかかったコストが、最大で約 20 万円と 80% 以上削減することができました。

実装にあたり心がけた点として、プジェミスワフ氏は「コストは下げられても、パフォーマンスが落ちたりセキュリティに不安があったりしては意味がありません。そこのバランスを取るのが難しかったです」と語ります。特に共有ストレージのチューニングには気を使ったそうです。

「私たちはクラウドの経験があまりなかったので、日本マイクロソフトの担当者からいろいろなアドバイスをいただけたことはとても助かりました。おかげで比較的スムーズに移行できたと思います」(プジェミスワフ氏)

さらなる高みを目指すために、マイクロソフトのソリューションに抱く期待

アセット ビルド システムを Azure に移行した効果として、「ビルドの期間が短縮され、フィードバックをすぐに得られるようになったことで、アーティストの業務クオリティが向上したこと」を挙げる荒牧氏。コスト面の効果、さらに一度構築した仕組みを次回以降のプロジェクトで活用できる点も高く評価しています。

荒牧氏によると、同社では今後さらにクラウドの活用を進める予定とのこと。「現在内製もしくは Jenkins のサーバープロセスを利用しているのですが、それを GitHub と GitHub Actions に移行しつつ、プログラムとデータのビルドを Azure 環境に移行していきたいと思っています。GitHub Actions はオンプレミスでもクラウドでも使えるサービスなので、フレキシブルに設計できるはずです」(荒牧氏) さらに、現在使っている高速ストレージのクラウドへの移行や、クラウドを活用した在宅勤務環境の整備などの計画もあり、Azure をはじめとしたマイクロソフトのソリューションに大いに期待を寄せています。

「ゲーム開発でクオリティを上げるために最も有効なのはイテレーション (一連の工程を短期間で繰り返す開発サイクル) の速度です。その速度を上げるためにはクラウド環境での開発が最適です。また、近年ゲーム開発プロジェクトは大型化傾向にあり、グローバルで開発することも増えています。それに伴って作業を分散化できる環境も大事になってきているので、Azure のサービスはますます有効になると思います」(荒牧氏)

妥協することなく、これまでになかった体験を創造し、ユーザーに届ける。目標を達成するために努力を惜しまない Luminous Productions の姿勢はこれからもきっと、ゲームの開発環境を進化させて素晴らしいゲームを世に送り出す源泉となり、世界中の人々を楽しませ続けてくれるにちがいありません。

“アセットのビルドはゲームのプロセスを動作させながら行います。Azure の仮想環境下で描画周りの処理がきちんと動くか心配でしたが、実際に試してみるとすんなり動いたので嬉しい驚きでした”

森田 拓司 氏, プログラマー, 株式会社 Luminous Productions

次のステップに進みましょう

Microsoft でイノベーションを促進

カスタム ソリューションについて専門家にご相談ください

ソリューションのカスタマイズをお手伝いし、お客様独自のビジネス目標を達成するためのお役に立ちます。

実績あるソリューションで成果を追求

目標達成に貢献してきた実績豊かな製品とソリューションを、貴社の業績をいっそう追求するためにご活用ください。

Microsoft をフォロー