株式会社ユークスは、人体の細部の動きを3Dでリアルに表現したプロレスゲームを得意分野とし、近年ではAR技術を駆使したライブエンタテインメントの制作、運営も手掛けるゲーム開発会社です。数多くの有名タイトルゲーム開発をマルチプラットフォームにて開発してきたユークスは、国内外のメーカーと提携しグローバルな開発体制で、長年コンテンツ開発を行ってきました。
2021年、ユークスは数年来導入を考えていた、ゲーム開発におけるビルド環境のクラウド化について検証を行うことを決めました。
AWS上へのゲーム開発環境の構築はGame Development on AWS(GDoA)と呼ばれて近年注目され、適したSaaSやノウハウなどの知見が集まりつつある分野です。
クラスメソッドは、ユークスのゲーム開発環境のクラウド化を検証するPoCの取り組みについて、Incredibuild Cloudの新規構築とAWS周辺の技術支援を行いました。
オンプレミス環境をクラウド化するにあたって開発部門が抱えていた課題や不安、実際に環境構築してみた所感から、今後のクラウド利用の展望まで、横浜CS事業部 竹澤さん、萬木さんのお二人に、詳しくお話をうかがいました。
取扱いデータ量が増え、ビルド環境の効率化は急務
PlayStation、Xbox、Switchなど、家庭用ゲーム機のマルチプラットフォーム開発を国内外のさまざまな開発会社と協力して行ってきた竹澤さん。近年、開発時のデータ量はますます増加し膨大になってきており、ビルドやデータの受け渡しだけでも時間がかかってしまうことに課題を感じてきたそうです。対策案をリサーチする中で、2017年にはAWS上での開発環境実装ができることを知ったそうですが、開発環境をクラウド移行するという決断には踏み切れずにいました。
「便利なAWSの機能を単独で必要に応じて使う、ということはしてきました。ただ、開発環境ごとAWSに変えて、外部の会社とのデータのやりとりをAWSで行うとなると、安全性をはじめ、責任の担保も考慮しなければならないので、そこがなかなか難しかった。そこで今回はまず、ビルド環境のリプレイスにフォーカスを当ててPoCを行うことにしました」(竹澤さん)
元々ユークスでは、ビルド環境の効率化を行うために「Incredibuild」を導入していました。Incredibuildはローカルネットワークやクラウド上に存在するコンピューティングリソースに、処理を並列分散させることで処理時間の短縮をはかることができるソフトウェアです。これまではオンプレミス環境にPCを複数台用意して、Incredibuildによる並列分散処理を利用してきたそうです。プロジェクトによるものの、最大約50GBのビルドがゲーム機のプラットフォームごとに必要となってくるなど、高負荷な状況が随時発生しますが、必要なリソースを必要な時に即時用意する、ということは非常に難しかったといいます。
「エンジニアは高スペックのPCがあると非常に作業がはかどるわけですが、いくつものプロジェクトが重なっている時とそうでない時の必要台数は、当然違います。昔と違ってプロジェクトの状況が日々変化していくので、機材が本当に必要な時期の予測がつきづらい状況であることも、クラウド環境を本格的に利用しようと決断した理由の一つです。クラウドであれば必要な時に必要なだけ利用することができますので、非常に効率的ですし、その時における最新の機材を利用できるというのも重要なメリットになり得ると考えています」(竹澤さん)
「Incredibuild」利用を前提とした、AWS環境でのPoCを決断
一方、クラウド利用に際して最も懸念していたのはコストだったそうです。クラウドのメリットである「使用した分だけ支払えば良い」という側面は、使用量が想定外に増えてしまった場合も「使用した分は支払う必要がある」とも言えます。機能的に実装できたとしても、実際に利用した時にコストがどれだけかかるのか。実際に開発環境として利用するか判断するために、まずはPoCが必要であると考えた竹澤さんは、そのパートナーとしてクラスメソッドを選択しました。
「もともと『DevelopersIO』の読者として、その技術力の高さは知っていました。AWSについて調べていると、私が知りたいことに必ず応えてくれるのが『DevelopersIO』だったので、クラウド環境での構築をするならクラスメソッドさんにお声掛けしたいなと思っていました。組織としての判断の際には、我々と同じゲーム業界の大手複数社さんと、きちんとパートナーシップを組まれてらっしゃるという事例記事が安心材料となりました」(竹澤さん)
萬木さんは、ビルド環境クラウド化の実装担当者として本プロジェクトに向き合ってきました。「Incredibuild」は既に社内で利用しており、処理速度向上に効果があることは実証済みでしたが、クラウド化でさらに効率良く利用できるという期待が込められたプロジェクトだったとのこと。エンジニアがどんな環境にいても、同じ環境とリソースが有効に使えるという状態を目指して環境構築を進めていきました。
「Incredibuildがクラウドで使える、ということは知っていましたが、クラスメソッドさんにお声がけした時には何をやる必要があるのかも分かっていない状態でした。ザックリと『こういうことをやりたいんです』と相談させていただいたところから、適切に汲み取っていただいて、こちらが伝えた要望を踏まえて適切な環境を用意していただけました。最終的にはIncredibuildのAWS初期設定を全てクラスメソッドさんにお願いすることにしました」(萬木さん)
AWS上での開発環境(GDoA)実現に向け、コスト最適化を模索
プロジェクト中のコミュニケーションは、ウェブ上のタスク管理ツールを用いて行っていました。進捗状況や2社間のネクストステップが可視化されており、スケジュール変更に柔軟さが求められる場合でも認識に齟齬が無いよう確認できる状態でプロジェクトは進められました。
「クラスメソッドさん自ら、プロジェクトの進行管理を見える化してくださったのには驚きましたし、素晴らしいと思いました。こちらが何も言わずとも、「着手した」「終わった」というステータスを可視化していただいたので、進捗も課題も見通しの良い状態で、わかりやすくプロジェクトが進んでいきました」(竹澤さん)
「スケジュールについては、開発状況に応じて調整をお願いすることが多かったのですが、柔軟に対応してくださり本当に助かりました。クラスメソッドさんがIncredibuildさんとの調整もしてくださり、ユークス側は要望を伝えるだけでプロジェクトを進めることができました」(萬木さん)
最も懸念があった運用コストの削減対策については、クラスメソッドのこれまでのAWS運用知見を背景に、ユークスの利用実態に合わせた提案をさせていただきました。
「今回の検証では、AWS上に仮想PCが最大32台立ち上がるところまで検証しました。AWSはPCを立ち上げている時間がそのままコストとなりますので、使っていない時間をどういう形で少なくできるかが検証の一つの焦点でした。一方で、使わなくなった後にすぐに落としてしまうと、またイチから立ち上げ直しをするのが大変なので、一旦スタンバイにした方がいいということも含め、クラスメソッドさんには様々なアドバイスをいただきました。おかげで、現実的な運用とコストの目処を立てるところまで実装を検証することができました」(萬木さん)
必要な時にいつでもどこでも同環境を利用できるメリット
本PoCにて運用コストの目処がついたユークスでは、いよいよ具体的に、利用範囲などを検討するフェーズに入ることが出来るようになりました。Incredibuild Cloudを利用したビルド時間は、以前のオンプレミス環境で利用していた時と比較すると1/3程度。これだけでも充分な短縮効果であり、開発の効率化が見込めますが、今後クラウドでの利用が進めば、開発をさらに効率よく行えるようになることが期待できます。
「ユークスの開発メンバーは社内に留まらず、協力会社さんが多数おられます。頻繁に出社してもらうのが難しい地域にお住まいの方が多いということももちろんありますが、このコロナ禍で自宅から開発出来るようにしてほしいという要望も増えました。クラウド環境であれば、社内にいるのと同じだけのパフォーマンスが全開発者に対して提供できるようになります。検証していて改めて、このメリットの大きさを感じました」(萬木さん)
「物理的なPCであれば、メンテナンスコスト、管理コスト、修理コストもかかりますが、AWSであれば全てAWS側に任せられます。また、保管場所を借りたりメンテナンス要員としてのスタッフを貼り付けたりする必要がなくなり、よりクリエイティブな仕事にアサインすることができるようになるのもメリットだと感じました」(竹澤さん)
今後クラウド環境の利活用を進めるにあたっては、セキュリティ強化などを実装しながら、より広範に利活用の取り組みを進めていきたいと、ユークスのお二人は語ってくれました。
「家庭用ゲーム機向け開発だと、テスト機に関する部分だけはクラウド環境にできないものの、開発のほとんどがクラウド上でできるようになると理想的ですね。今後もいくつかクラウド化を検討しているところがありますので、あらためてクラスメソッドさんにご相談したいと思っているところです」(竹澤さん)
状況変化の激しいゲーム業界において、クラウド開発環境の柔軟性から得られるメリットは非常に多く、今後ますますクラウド化の取り組みが求められていきそうです。クラスメソッドは、オンプレミスからクラウドへのマイグレーションのノウハウ・実績を活かし、今後もユークスのクラウド化施策に貢献してまいります。