ライブゲームを運営するスタジオでは、新しいコンテンツを定期的にプレイヤーに配信するための効率的なシステムがこれまで以上に求められています。しかし、複雑なコンテンツ管理ソリューションとストレージソリューションを一から構築し、維持することには、コストも時間もかかります。
Unity の Cloud Content Delivery(CCD)は、クラウドストレージ、コンテンツ管理システム、そして信頼性の高いコンテンツ配信ネットワーク(CDN)を組み合わせることで、ライブゲームを管理するスタジオに効率的なソリューションを提供し、不要なコストを回避することができます。
CCD がコンテンツパイプラインを改善し、開発チームの作業負担を軽減する 4 つの方法をご覧いただき、その方法を学び取ってください。
CCD は、開発者が特定のプレイヤーに提供したいコンテンツをテストできる、バッジ付けシステムとバケットシステムによって、制作工程の効率化を図ります。
CCD の主な機能の 1 つは、アセットバンドルをバケットにアップロードし、バッジを付けて指定のプレイヤーに配布することです。ニーズに応じてカスタムのバケットやバッジを作成することができます。
例えば、リリースされたコンテンツは、「Development」バケットから「Production」バケットに昇格して、プレイヤーに配信されます。典型的なワークフローの例としては、「iOS Production」バケットと「Android Production」バケットのように、プラットフォームごとに別々のバケットを持つことが挙げられます。
このシステムと、Unity の Remote Config を利用したキャンペーンを組み合わせることで、開発者は、本番のプレイヤーベースに影響を与えることなく、対象となるプレイヤーの一部にバッジ付けされたコンテンツを配布してテストを行うことができます。
Nifty Games は Remote Config を使って特定のオーディエンスに提供されるバッジを指定し、バケットシステムを使用してプレイヤーが利用することになるコンテンツそのものをテストしました。
あるバケットに入っているコンテンツは、別のバケツに移されたときにテストされるアセットとまったく同じものになるので、QA メンバーがサインオフしたものがそのままプレイヤーに提供されます。
また、CCD が開発ワークフローを改善するもう 1 つの方法は、リリース管理の簡素化です。CCD のようにコンテンツ配信ネットワークだけではなく、3 つの要素が 1 つになったツールでは、エンジニアがリリースやバージョン管理システムを一から構築する手間を省くことができます。Nifty Games のエンジニアリング担当副社長である Ibs Rageh 氏によると、CCD の使いやすいウェブポータルは、エンジニアリング担当ではないチームメンバーでも利用できるとのことです。
Nifty Games では、CCD を導入した後は、コンテンツのリリース工程において、エンジニアリングチームの注意や監督はほとんど必要ありませんでした。リリース管理は、QA や制作チームのメンバーが簡単に行うことができ、開発者はプレイヤーのためにフレッシュなコンテンツを作ることに集中できます。
さらに、プロモーション専用バケット やプライベートバケット などの新機能により、リリースの安全性が高まり、コンテンツ配信の工程がより安全かつ合理的になりました。
ゲーム内にレベルや環境などの分類が可能なコンポーネントがある場合、開発者はゲーム全体に影響を与えることなく、各コンポーネントのゲームデザイン要素やアートアセットをテストすることができます。
具体的な活用例としては、プレイヤーが多種多様な環境、バイオーム、および惑星を訪れるゲームのデザインをテストする必要がある場合です。数多くのビルドがあり、そこでさまざまなモデルやテクスチャなど、大量のアセットを維持するという状況をスムーズに取り扱うことは非常に困難です。
CCD はこの状況を、ゲームをそれぞれの環境に分割し、それぞれの環境に Git リポジトリを用意して、それぞれのアセットを格納することで扱いやすくしてくれます。そして、複雑なプロジェクトのコンテンツを安全かつ効率的に管理することができる Addressable アセットシステムを使用することができます。
つまり、エリア、ステージ、惑星ごとにアセットを構築し、CCD を使ってクラウドにアップロードすることができるのです。
これにより、特定のエリアや惑星で何かを追加したりテストしたりするたびに、ゲーム全体を作り直す必要がなくなり、デザイナーが新しいアートや機能をテストするための迅速な反復作業が可能になります。
また、バグの修正にも同じ原理で CCD を使用することができます。Addressable アセットシステムは、プレイヤーを悩ませる不具合のあるアセットを特定し、問題が解決されたときには、誰もゲームを再ダウンロードすることなく、新しいアセットを配置することができます。
Unity 2019 LTS 以降でサポートされている Addressable アセットシステムの詳細については、このブログ記事 をご覧いただき、使用を開始するにあたってはこのドキュメンテーションガイドをご利用ください。
Unity が行った最近の調査では、アプリのサイズが 500MB 以上に膨らむと、インストール率が大幅に低下し始めるというデータが出ています。アプリが 1GB を超えると、インストール率が 10% 低下します。
この状況を緩和するために、CCD ではクラウドストレージを利用して、プレイヤーに向けた新しいコンテンツアップデートの負担を軽くします。これにより、アプリのサイズを下げつつ、インストール数を大幅に向上させられる可能性があります。
Addressables アセットシステムでゲームアセットを保存し、カタログ化することで、ゲームアセットを自動的に見つけ、任意のタイミングで呼び出せるようにしておくことで、このような仕組みを実現できます。CCD はこれらのアセットを、CDN パートナーである Akamai を介して、コードとはまったく独立した形でプレイヤーに直接送ります。
これにより、ビルドサイズが大幅に縮小され、前述のように、アップデートのたびにプレイヤーがまったく新しいゲームバージョンをダウンロードしてインストールする必要がなくなります。
これはライブゲームでは特に便利で、プレイヤーの特定のセッションに必要な特定のアセットを「遅延読み込み」することで、全体の体験を軽くスムーズに保つことができます。
もし F2P タイトルを開発しているか、それに関わる仕事をしているのであれば、これはより重要なことです。Unity の 「2020 Mobile Game Monetization Report」では、70% のユーザーが最初の日にプレイした後、戻ってくることさえないという結果が出ています。
つまり、大多数のプレイヤーは、ゲームの非常に後半のステージには到達しないので、これらのアセットをダウンロードする必要はないということです。これでダウンロードが必要ということにしてしまうと、ダウンロード時間が長くなったり、端末の容量を節約するために削除しなければならなくなったりと、無駄に不満を抱かせることになります。
これでは、不満を持ったプレイヤーが解約してしまったり、メモリ容量を確保したい人が、皆さんのアプリがとてつもなく大きな容量を占めているのを見てアンインストールする格好のターゲットにしてしまう可能性があります。
たとえば、『Armed Heist』を開発した Sozap 社の友人は、ゲームのサイズが大きいことが新規ユーザーにとっての障害になることを懸念していました。この友人は、ゲームを始めるのに必要なコンテンツだけを配信し、残りはオンデマンドで利用できるようにしたかったのです。
CCD を使用することで、特定のポイントに到達した後や、ゲーム内で特定のインタラクションがあった後にのみゲームのパーツがインストールされるようになり、アプリのサイズを小さくすることができました。
また、iOS ユーザーは、ローカル設定によっては、携帯電話会社の通信網に接続している間、200MB 以上のダウンロードを許可するプロンプトを受け入れる必要があることを覚えておく必要があります。そのため、iOS 開発者はアプリのサイズに細心の注意を払うことが特に重要です。
また、CCD を採用したことでビルドサイズを小さくできたこと以外に、セキュリティの向上や海賊行為の抑止にもつながる効果が得られました。プレイヤーはエリアを進行させて初めてコンテンツが受け取れるので、ゲーム全体をダウンロードして不当に配布することができなくなったためです。
私たちのデータによると、新しいコンテンツをリリースしてゲームプレイ体験を向上させることは、プレイヤー 1 人当たりのアプリ内課金(IAP)収益に大きな影響を与えることがわかります。コンテンツ投下の 1 週間前と 1 週間後のタイミングを見ると、モバイルゲームスタジオでは、IAP 収益が 86%、デイリーアクティブユーザー 1 人あたりの平均収益(ARPDAU)が 75% という高い伸びを示していることがわかります。
CCD を使って配信を管理することで、開発者はタイムリーでパーソナライズされたコンテンツの制作に集中することができます。よく知られている例としては、祝日などの特定のイベントに合わせてゲームの美観を更新し、コスメティック、アイテム、ボーナスなど、期間限定の特別なものを提供するというものがあります。
CCD では、テクスチャやアートアセットを簡単に短時間で入れ替えることができます。タイムリーなイベントやテーマのあるイベントは、特定のマーケットに限定することもでき、開発者は世界中のプレイヤーにパーソナライズされた体験を提供することができます。
動的にコンテンツを展開する別の例としては、Nifty Games の『NFL Clash』のように、スポーツを題材にしたゲームが考えられます。プレイヤーによって選択するスポーツチームは異なるので、その選択に応じて各チームの具体的なアセットを更新する必要があります。
120 人以上の NFL 選手が登場するこのゲームでは、ジャージ、スタッツ、チームカラーなどの要素がクラウドに保存され、プレイヤーがその場で行った選択や行動に基づいて動的に配信されます。
CCD を使えば、開発者はゲームのアップデートのダウンロードサイズを増やすことなくアセットの追加や変更を柔軟に行うことができ、プレイヤーは自分のプレイセッションに関連したコンテンツだけを見ることができるようになります。